From: Jan Pospíšil Date: Wed, 9 Dec 2009 12:57:58 +0000 (+0000) Subject: __lb4agu__GetActivityStatus now functional (memory allocation fixes, fill also the... X-Git-Tag: glite-lb-harvester_R_1_0_1_1~23 X-Git-Url: http://scientific.zcu.cz/git/?a=commitdiff_plain;h=0d5bbbda31a9c29e448c576f63622728f084846e;p=jra1mw.git __lb4agu__GetActivityStatus now functional (memory allocation fixes, fill also the __sizestatus) --- diff --git a/org.glite.lb.server/src/ws_lb4agu.c b/org.glite.lb.server/src/ws_lb4agu.c index 028df6f..ce6b522 100644 --- a/org.glite.lb.server/src/ws_lb4agu.c +++ b/org.glite.lb.server/src/ws_lb4agu.c @@ -15,6 +15,8 @@ extern int debug; +#define LB_GLUE_STATE_PREFIX "urn:org.glite.lb" + SOAP_FMAC5 int SOAP_FMAC6 __lb4agu__GetActivityStatus( struct soap* soap, struct _lb4ague__GetActivityStatusRequest *in, @@ -30,10 +32,12 @@ SOAP_FMAC5 int SOAP_FMAC6 __lb4agu__GetActivityStatus( if (!in) return SOAP_FAULT; if (!in->id) return SOAP_FAULT; - out = soap_malloc(soap, sizeof(*out)); + out->status = soap_malloc(soap, in->__sizeid * (sizeof(char *))); /* process each request individually: */ - for (i=0; in->id[i]; i++) { + for (i=0; i__sizeid; i++) { + char buf[1000],*stat = NULL; + /* first parse jobId */ if ( edg_wlc_JobIdParse(in->id[i], &j) ) { edg_wll_SetError(ctx, EINVAL, in->id[i]); @@ -63,8 +67,12 @@ SOAP_FMAC5 int SOAP_FMAC6 __lb4agu__GetActivityStatus( } /* fill in the response fields */ - out->status[i] = edg_wll_StatToString(s.state); + snprintf(buf,sizeof buf,LB_GLUE_STATE_PREFIX ":%s",stat = edg_wll_StatToString(s.state)); + buf[sizeof(buf) - 1] = 0; + out->status[i] = soap_strdup(soap,buf); + free(stat); } + out->__sizestatus = in->__sizeid; return SOAP_OK; }