add 'what' parameter on error
[gssweb.git] / json_gssapi / src / GSSRequest.cpp
index 0517015..3c193ca 100644 (file)
@@ -7,6 +7,7 @@
 
 #include <cstddef>
 #include <stdexcept>
+#include <string.h>
 
 #include "commands/GSSAcquireCred.h"
 #include "commands/GSSInitSecContext.h"
@@ -54,7 +55,8 @@ void GSSRequest::execute()
     JSONObject return_values;
     return_values.set("major_status", e.getMajor());
     return_values.set("minor_status", e.getMinor());
-//     response.set("error_message", e.what());
+    return_values.set("what", e.what());
+    response.set("return_values", return_values);
   }
 }
 
@@ -146,8 +148,6 @@ string GSSRequest::getResponse()
 char *gss_request(char *json_string)
 {
   /* Variables */
-  char *retVal;
-  string output;
   GSSRequest *req = new GSSRequest(string(json_string));
   
   /* Error checking */
@@ -157,12 +157,7 @@ char *gss_request(char *json_string)
   /* Setup */
   /* Main processing */
   req->execute();
-  output = req->getResponse();
-  retVal = new char[ output.length() + 1 ];
-  output.copy(retVal, output.length(), 0);
-  retVal[output.length()] = 0;
-  
-  return(retVal);
+  return strdup(req->getResponse().c_str());
 }
 
 void deallocate_reply(char *reply)