Changeset 364 for trunk/zoo-project/zoo-kernel/service_internal_js.c
- Timestamp:
- Sep 29, 2012, 3:59:06 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/zoo-project/zoo-kernel/service_internal_js.c
r360 r364 45 45 JSLoadScripts(JSContext *cx, uintN argc, jsval *argv1) 46 46 { 47 map* request = JS_GetContextPrivate(cx);48 map* tmpm1=getMap(request,"metapath");47 //map* request = JS_GetContextPrivate(cx); 48 //map* tmpm1=getMap(request,"metapath"); 49 49 JS_MaybeGC(cx); 50 50 … … 58 58 JSString* jsmsg = JS_ValueToString(cx,argv[i]); 59 59 char *filename = JSValToChar(cx,&argv[i]); 60 char api0[strlen(tmpm1->value)+strlen(ntmp)+strlen(filename)+2];61 sprintf(api0,"%s/%s /%s",ntmp,tmpm1->value,filename);60 char *api0=(char*)malloc((strlen(ntmp)+strlen(filename)+2)*sizeof(char)); 61 sprintf(api0,"%s/%s",ntmp,filename); 62 62 #ifdef JS_DEBUG 63 63 fprintf(stderr,"Trying to load %s\n",api0); 64 fflush(stderr); 64 65 #endif 65 66 JSObject *api_script1=loadZooApiFile(cx,JS_GetGlobalObject(cx),api0); 66 fflush(stderr);67 67 } 68 68 JS_MaybeGC(cx); … … 83 83 JSClass global_class = { 84 84 "global", JSCLASS_GLOBAL_FLAGS, 85 JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_ PropertyStub,85 JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub, 86 86 JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub, 87 87 JSCLASS_NO_OPTIONAL_MEMBERS … … 142 142 * Load the first part of the ZOO-API 143 143 */ 144 char api0[strlen(tmpm1->value)+strlen(ntmp)+16];144 char *api0=(char*)malloc(strlen(tmpm1->value)+strlen(ntmp)+16); 145 145 sprintf(api0,"%s/%s/ZOO-proj4js.js",ntmp,tmpm1->value); 146 146 #ifdef JS_DEBUG … … 150 150 fflush(stderr); 151 151 152 char api1[strlen(tmpm1->value)+strlen(ntmp)+11];152 char *api1=(char*)malloc(strlen(tmpm1->value)+strlen(ntmp)+11); 153 153 sprintf(api1,"%s/%s/ZOO-api.js",ntmp,tmpm1->value); 154 154 #ifdef JS_DEBUG … … 165 165 map* tmpm2=getMap(s->content,"serviceProvider"); 166 166 167 char filename[strlen(tmpm1->value)+strlen(tmpm2->value)+strlen(ntmp)+3];167 char *filename=(char*)malloc(strlen(tmpm1->value)+strlen(tmpm2->value)+strlen(ntmp)+3); 168 168 sprintf(filename,"%s/%s/%s",ntmp,tmpm1->value,tmpm2->value); 169 169 filename[strlen(tmpm1->value)+strlen(tmpm2->value)+strlen(ntmp)+2]=0; … … 173 173 struct stat file_status; 174 174 stat(filename, &file_status); 175 char source[file_status.st_size];175 char *source=(char*)malloc(file_status.st_size); 176 176 uint16 lineno; 177 177 jsval rval; … … 244 244 fprintf(stderr,"An array was returned !\n"); 245 245 #endif 246 js intlen;246 jsuint len; 247 247 if((JS_GetArrayLength(cx, d, &len)==JS_FALSE)){ 248 248 #ifdef JS_DEBUG … … 259 259 JSBool hasElement=JS_GetElement(cx,d,1,&tmp2); 260 260 if(hasElement==JS_TRUE){ 261 freeMaps(outputs); 262 free(*outputs); 261 263 *outputs=mapsFromJSObject(cx,tmp2); 262 264 } … … 285 287 *outputs=mapsFromJSObject(cx,tmp2); 286 288 #ifdef JS_DEBUG 287 dumpMaps(outputs); 288 #endif 289 } 290 289 dumpMaps(*outputs); 290 #endif 291 } 291 292 /* Cleanup. */ 292 293 JS_DestroyContext(cx); … … 355 356 map* isBinary=getMap(t,"size"); 356 357 map* tmap=getMapType(t); 358 #ifdef DEBUG 357 359 if(tmap==NULL) 358 360 fprintf(stderr,"tmap is null !\n"); 359 361 else 360 362 fprintf(stderr,"tmap is not null ! (%s = %s)\n",tmap->name,tmap->value); 361 363 #endif 362 364 /* Avoid gesture of binary content which failed due to strlen function use */ 363 365 if(isBinary!=NULL){ … … 441 443 442 444 jsval nvp=JSVAL_NULL; 443 if((JS_GetProperty(cx, JSVAL_TO_OBJECT(tt), JS_EncodeString(cx,jsmsg), &nvp)==JS_FALSE)){445 if((JS_GetProperty(cx, tt, JS_EncodeString(cx,jsmsg), &nvp)==JS_FALSE)){ 444 446 #ifdef JS_DEBUG 445 447 fprintf(stderr,"Enumerate id : %d => %s => No more value\n",oi,JS_EncodeString(cx,jsmsg)); … … 447 449 } 448 450 449 JSObject *nvp1=JSVAL_ NULL;451 JSObject *nvp1=JSVAL_TO_OBJECT(JSVAL_NULL); 450 452 JS_ValueToObject(cx,nvp,&nvp1); 451 453 jsval nvp1j=OBJECT_TO_JSVAL(nvp1); … … 467 469 } 468 470 469 js int len;471 jsuint len; 470 472 JSBool hasLen=JS_GetArrayLength(cx, tt, &len); 471 473 if(hasLen==JS_FALSE){ … … 522 524 } 523 525 524 JSObject *nvp1=JSVAL_ NULL;526 JSObject *nvp1=JSVAL_TO_OBJECT(JSVAL_NULL); 525 527 JS_ValueToObject(cx,nvp,&nvp1); 526 528 jsval nvp1j=OBJECT_TO_JSVAL(nvp1); 527 529 if(JSVAL_IS_OBJECT(nvp1j)){ 528 530 JSString *jsmsg1; 529 JSObject *nvp2=JSVAL_ NULL;531 JSObject *nvp2=JSVAL_TO_OBJECT(JSVAL_NULL); 530 532 jsmsg1 = JS_ValueToString(cx,nvp1j); 531 533 len1 = JS_GetStringLength(jsmsg1);
Note: See TracChangeset
for help on using the changeset viewer.