From d1c3329b66edcfca85d8c8bc9e06a52ba3b16314 Mon Sep 17 00:00:00 2001 From: miker Date: Mon, 28 May 2007 14:27:36 +0000 Subject: [PATCH] Second patch for oils_requestor.c from Scott McKellar; fixes parsing with regard to embeded spaces. Applied with minor change to use buffer_fadd() instead of multiple calls to buffer_add() and buffer_add_char(). http://list.georgialibraries.org/pipermail/open-ils-dev/2007-May/000832.html git-svn-id: svn://svn.open-ils.org/ILS/trunk@7364 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/src/extras/oils_requestor.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Open-ILS/src/extras/oils_requestor.c b/Open-ILS/src/extras/oils_requestor.c index a6d2d986fd..a07ebc33ce 100644 --- a/Open-ILS/src/extras/oils_requestor.c +++ b/Open-ILS/src/extras/oils_requestor.c @@ -90,20 +90,21 @@ static int do_request( char* request ) { char* service; char* method; char* tmp; - char* item; - growing_buffer* buffer = buffer_init(256); service = strtok_r(request, " ", &tmp); method = strtok_r(NULL, " ", &tmp); - while( (item = strtok_r(NULL, " ", &tmp)) ) - buffer_fadd(buffer, "%s", item); if( service && method ) { jsonObject* params = NULL; - if(buffer->n_used > 0) - params = jsonParseStringFmt("[%s]", buffer->buf); + if( *tmp ) { + growing_buffer* buffer = buffer_init(256); + buffer_fadd( buffer, "[%s]", tmp ); + params = jsonParseString( buffer->buf ); + buffer_free(buffer); + } + osrfAppSession* session = osrf_app_client_session_init(service); int req_id = osrf_app_session_make_req( session, params, method, 1, NULL ); osrfMessage* omsg; @@ -120,10 +121,9 @@ static int do_request( char* request ) { jsonObjectFree(params); } else { - fprintf(stderr, "STATMENT DOES NOT PARSE: %s\n", request); + fprintf(stderr, "STATEMENT DOES NOT PARSE: %s\n", request); } - buffer_free(buffer); return 0; } -- 2.11.0