Clean up struct rs_error somewhat.
authorLinus Nordberg <linus@nordu.net>
Tue, 8 Mar 2011 12:32:10 +0000 (13:32 +0100)
committerLinus Nordberg <linus@nordu.net>
Tue, 8 Mar 2011 12:32:10 +0000 (13:32 +0100)
More to be done here!

lib/err.c
lib/examples/client-blocking.c
lib/include/radsec/radsec-impl.h

index 55fc5de..e2112c3 100644 (file)
--- a/lib/err.c
+++ b/lib/err.c
@@ -178,7 +178,9 @@ rs_err_conn_pop (struct rs_connection *conn)
 int
 rs_err_conn_peek_code (struct rs_connection *conn)
 {
-  if (conn && conn->err)
+  if (!conn)
+    return -1;                 /* FIXME: RSE_INVALID_CONN */
+  if (conn->err)
     return conn->err->code;
   else
     return RSE_OK;
@@ -188,26 +190,15 @@ void
 rs_err_free (struct rs_error *err)
 {
   assert (err);
-  if (err->msg)
-    free (err->msg);
   free (err);
 }
 
 char *
-rs_err_msg (struct rs_error *err, int dofree_flag)
+rs_err_msg (struct rs_error *err)
 {
-  char *msg;
-
   if (!err)
     return NULL;
-  if (err->msg)
-    msg = err->msg;
-  else
-    msg = strdup (err->buf);
-
-  if (dofree_flag)
-    rs_err_free (err);
-  return msg;
+  return err->buf;
 }
 
 int
index 31fd6d1..ef361e5 100644 (file)
@@ -100,7 +100,7 @@ main (int argc, char *argv[])
   err = blocking_client (argv[1], argv[2], use_request_object_flag);
   if (err)
     {
-      fprintf (stderr, "%s\n", rs_err_msg (err, 0));
+      fprintf (stderr, "%s\n", rs_err_msg (err));
       return rs_err_code (err, 1);
     }
   return 0;
index e790ccf..a924fc9 100644 (file)
@@ -32,7 +32,6 @@ struct rs_credentials {
 
 struct rs_error {
     int code;
-    char *msg;
     char buf[1024];
 };