Changeset 471 for trunk/zoo-project/zoo-kernel/service_internal_js.c
- Timestamp:
- May 10, 2014, 4:23:03 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/zoo-project/zoo-kernel/service_internal_js.c
r453 r471 39 39 for(i=0;i<argc;i++){ 40 40 JSString* jsmsg = JS_ValueToString(cx,argv[i]); 41 fprintf(stderr,"[ZOO-API:JS] %s\n",JS_EncodeString(cx,jsmsg)); 41 char *tmp=JS_EncodeString(cx,jsmsg); 42 fprintf(stderr,"[ZOO-API:JS] %s\n",tmp); 43 free(tmp); 42 44 } 43 45 JS_MaybeGC(cx); … … 69 71 #endif 70 72 JSObject *api_script1=loadZooApiFile(cx,JS_GetGlobalObject(cx),api0); 73 free(api0); 71 74 } 72 75 JS_MaybeGC(cx); … … 158 161 #endif 159 162 JSObject *api_script1=loadZooApiFile(cx,global,api0); 163 free(api0); 160 164 fflush(stderr); 161 165 … … 166 170 #endif 167 171 JSObject *api_script2=loadZooApiFile(cx,global,api1); 172 free(api1); 168 173 fflush(stderr); 169 174 … … 183 188 struct stat file_status; 184 189 stat(filename, &file_status); 185 char *source=(char*)malloc(file_status.st_size);190 //char *source=(char*)malloc(file_status.st_size); 186 191 uint16 lineno; 187 192 jsval rval; … … 194 199 char tmp1[1024]; 195 200 sprintf(tmp1,"Unable to load JavaScript file %s",filename); 201 free(filename); 196 202 map* err=createMap("text",tmp1); 197 add MapToMap(&err,createMap("code","NoApplicableCode"));203 addToMap(err,"code","NoApplicableCode"); 198 204 printExceptionReportResponse(mc,err); 205 freeMap(&err); 206 free(err); 207 JS_MaybeGC(cx); 199 208 JS_DestroyContext(cx); 200 209 JS_DestroyRuntime(rt); 201 210 JS_ShutDown(); 202 exit(-1); 203 } 211 return -1; 212 } 213 204 214 205 215 /* Call a function in obj's scope. */ … … 243 253 freeMap(&err); 244 254 free(err); 255 free(filename); 256 JS_MaybeGC(cx); 245 257 JS_DestroyContext(cx); 246 258 JS_DestroyRuntime(rt); 247 259 JS_ShutDown(); 248 260 // Should return -1 here but the unallocation won't work from zoo_service_loader.c line 1847 249 exit(-1);261 return -1; 250 262 } 251 263 … … 344 356 JS_DestroyRuntime(rt); 345 357 JS_ShutDown(); 358 free(filename); 346 359 #ifdef JS_DEBUG 347 360 fprintf(stderr,"Returned value %d\n",res); … … 481 494 jsmsg = JS_ValueToString(cx,vp); 482 495 len1 = JS_GetStringLength(jsmsg); 483 496 497 tmp=JS_EncodeString(cx,jsmsg); 484 498 tres=(maps*)malloc(MAPS_SIZE); 485 tres->name=zStrdup( JS_EncodeString(cx,jsmsg));499 tres->name=zStrdup(tmp); 486 500 tres->content=NULL; 487 501 tres->next=NULL; 488 502 489 503 jsval nvp=JSVAL_NULL; 490 if((JS_GetProperty(cx, tt, JS_EncodeString(cx,jsmsg), &nvp)==JS_FALSE)){491 #ifdef JS_DEBUG 492 fprintf(stderr,"Enumerate id : %d => %s => No more value\n",oi, JS_EncodeString(cx,jsmsg));504 if((JS_GetProperty(cx, tt, tmp, &nvp)==JS_FALSE)){ 505 #ifdef JS_DEBUG 506 fprintf(stderr,"Enumerate id : %d => %s => No more value\n",oi,tmp); 493 507 #endif 494 508 } 495 509 free(tmp); 496 510 JSObject *nvp1=JSVAL_TO_OBJECT(JSVAL_NULL); 497 511 JS_ValueToObject(cx,nvp,&nvp1); … … 510 524 511 525 } 526 JS_DestroyIdArray(cx,idp); 512 527 } 513 528 } … … 550 565 jsmsg = JS_ValueToString(cx,vp); 551 566 len1 = JS_GetStringLength(jsmsg); 552 #ifdef JS_DEBUG 553 fprintf(stderr,"Enumerate id : %d => %s\n",oi,JS_EncodeString(cx,jsmsg)); 567 tmp=JS_EncodeString(cx,jsmsg); 568 #ifdef JS_DEBUG 569 fprintf(stderr,"Enumerate id : %d => %s\n",oi,tmp); 554 570 #endif 555 571 jsval nvp=JSVAL_NULL; 556 if((JS_GetProperty(cx, JSVAL_TO_OBJECT(tmp1), JS_EncodeString(cx,jsmsg), &nvp)==JS_FALSE)){557 #ifdef JS_DEBUG 558 fprintf(stderr,"Enumerate id : %d => %s => No more value\n",oi, JS_EncodeString(cx,jsmsg));572 if((JS_GetProperty(cx, JSVAL_TO_OBJECT(tmp1), tmp, &nvp)==JS_FALSE)){ 573 #ifdef JS_DEBUG 574 fprintf(stderr,"Enumerate id : %d => %s => No more value\n",oi,tmp); 559 575 #endif 560 576 } 561 577 free(tmp); 562 578 if(JSVAL_IS_OBJECT(nvp)){ 563 579 #ifdef JS_DEBUG … … 571 587 if(JSVAL_IS_OBJECT(nvp1j)){ 572 588 JSString *jsmsg1; 589 char *tmp1, *tmp2; 573 590 JSObject *nvp2=JSVAL_TO_OBJECT(JSVAL_NULL); 574 591 jsmsg1 = JS_ValueToString(cx,nvp1j); 575 592 len1 = JS_GetStringLength(jsmsg1); 576 #ifdef JS_DEBUG 577 fprintf(stderr,"JSVAL NVP1J IS OBJECT %s = %s\n",JS_EncodeString(cx,jsmsg),JS_EncodeString(cx,jsmsg1)); 578 #endif 579 if(strcasecmp(JS_EncodeString(cx,jsmsg1),"[object Object]")==0){ 580 tres->name=zStrdup(JS_EncodeString(cx,jsmsg)); 593 tmp1=JS_EncodeString(cx,jsmsg1); 594 tmp2=JS_EncodeString(cx,jsmsg); 595 #ifdef JS_DEBUG 596 fprintf(stderr,"JSVAL NVP1J IS OBJECT %s = %s\n",JS_EncodeString(cx,jsmsg),tmp1); 597 #endif 598 if(strcasecmp(tmp1,"[object Object]")==0){ 599 tres->name=zStrdup(tmp2); 581 600 tres->content=mapFromJSObject(cx,nvp1j); 582 601 } 583 602 else 584 if(strcasecmp( JS_EncodeString(cx,jsmsg),"name")==0){585 tres->name=zStrdup( JS_EncodeString(cx,jsmsg1));603 if(strcasecmp(tmp2,"name")==0){ 604 tres->name=zStrdup(tmp1); 586 605 } 587 606 else{ 588 607 if(tres->content==NULL) 589 tres->content=createMap( JS_EncodeString(cx,jsmsg),JS_EncodeString(cx,jsmsg1));608 tres->content=createMap(tmp2,tmp1); 590 609 else 591 addToMap(tres->content, JS_EncodeString(cx,jsmsg),JS_EncodeString(cx,jsmsg1));610 addToMap(tres->content,tmp2,tmp1); 592 611 } 612 free(tmp1); 613 free(tmp2); 593 614 } 594 615 #ifdef JS_DEBUG … … 607 628 free(tres); 608 629 tres=NULL; 609 630 JS_DestroyIdArray(cx,idp); 610 631 } 611 632 } … … 633 654 JSString* str; 634 655 JS_IdToValue(cx,id,&vp); 635 char *c, *tmp ;656 char *c, *tmp, *tmp1; 636 657 JSString *jsmsg,*jsmsg1; 637 658 size_t len,len1; … … 639 660 len = JS_GetStringLength(jsmsg); 640 661 jsval nvp; 641 JS_GetProperty(cx, JSVAL_TO_OBJECT(t), JS_EncodeString(cx,jsmsg), &nvp); 662 tmp=JS_EncodeString(cx,jsmsg); 663 JS_GetProperty(cx, JSVAL_TO_OBJECT(t), tmp, &nvp); 642 664 jsmsg1 = JS_ValueToString(cx,nvp); 643 665 len1 = JS_GetStringLength(jsmsg1); 644 #ifdef JS_DEBUG 645 fprintf(stderr,"Enumerate id : %d [ %s => %s ]\n",index,JS_EncodeString(cx,jsmsg),JS_EncodeString(cx,jsmsg1)); 666 tmp1=JS_EncodeString(cx,jsmsg1); 667 #ifdef JS_DEBUG 668 fprintf(stderr,"Enumerate id : %d [ %s => %s ]\n",index,tmp,tmp1); 646 669 #endif 647 670 if(res!=NULL){ 648 671 #ifdef JS_DEBUG 649 fprintf(stderr,"%s - %s\n", JS_EncodeString(cx,jsmsg),JS_EncodeString(cx,jsmsg1));650 #endif 651 addToMap(res, JS_EncodeString(cx,jsmsg),JS_EncodeString(cx,jsmsg1));672 fprintf(stderr,"%s - %s\n",tmp,tmp1); 673 #endif 674 addToMap(res,tmp,tmp1); 652 675 } 653 676 else{ 654 res=createMap( JS_EncodeString(cx,jsmsg),JS_EncodeString(cx,jsmsg1));677 res=createMap(tmp,tmp1); 655 678 res->next=NULL; 656 679 } 680 free(tmp); 681 free(tmp1); 657 682 #ifdef JS_DEBUG 658 683 dumpMap(res); 659 684 #endif 660 685 } 686 JS_DestroyIdArray(cx,idp); 661 687 } 662 688 #ifdef JS_DEBUG
Note: See TracChangeset
for help on using the changeset viewer.