- Timestamp:
- Feb 5, 2018, 1:19:13 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/prototype-v0/zoo-project/zoo-kernel/service_internal_python.c
r854 r863 425 425 map* isArray=getMap(tmp,"isArray"); 426 426 map* size=getMap(tmp,"size"); 427 map* useFile=getMap(tmp,"use_file"); 428 map* cacheFile=getMap(tmp,"cache_file"); 427 429 map* tmap=getMapType(tmp); 428 430 while(tmp!=NULL){ … … 435 437 PyObject* mvalue=PyList_New(cnt); 436 438 PyObject* svalue=PyList_New(cnt); 439 PyObject* cvalue=PyList_New(cnt); 437 440 438 441 for(int i=0;i<cnt;i++){ 439 442 440 map* vMap=getMapArray(tmp,"value",i); 441 map* sMap=getMapArray(tmp,"size",i); 443 map* vMap=getMapArray(t,"value",i); 444 map* uMap=getMapArray(t,"use_file",i); 445 map* sMap=getMapArray(t,"size",i); 446 map* cMap=getMapArray(t,"cache_file",i); 442 447 443 448 if(vMap!=NULL){ … … 445 450 PyObject* lvalue; 446 451 PyObject* lsvalue; 447 if(sMap==NULL){ 452 PyObject* lcvalue; 453 if(sMap==NULL || uMap!=NULL){ 448 454 lvalue=PyString_FromString(vMap->value); 449 lsvalue=Py_None;450 455 } 451 456 else{ 452 457 lvalue=PyString_FromStringAndSize(vMap->value,atoi(sMap->value)); 458 } 459 if(sMap!=NULL){ 453 460 lsvalue=PyString_FromString(sMap->value); 454 461 hasSize=1; 455 462 } 463 else 464 lsvalue=Py_None; 465 if(uMap!=NULL){ 466 lcvalue=PyString_FromString(cMap->value);; 467 }else 468 lcvalue=Py_None; 456 469 457 470 if(PyList_SetItem(value,i,lvalue)<0){ … … 463 476 return NULL; 464 477 } 478 if(PyList_SetItem(cvalue,i,lcvalue)<0){ 479 fprintf(stderr,"Unable to set key value pair..."); 480 return NULL; 481 } 465 482 } 466 483 484 PyObject* lmvalue; 467 485 map* mMap=getMapArray(tmp,tmap->name,i); 468 PyObject* lmvalue;469 486 if(mMap!=NULL){ 470 487 lmvalue=PyString_FromString(mMap->value); … … 487 504 return NULL; 488 505 } 506 if(PyDict_SetItem(res,PyString_FromString("cache_file"),cvalue)<0){ 507 fprintf(stderr,"Unable to set key value pair..."); 508 return NULL; 509 } 489 510 if(hasSize>0) 490 511 if(PyDict_SetItem(res,PyString_FromString("size"),svalue)<0){ … … 493 514 } 494 515 } 495 else if(size!=NULL ){516 else if(size!=NULL && useFile==NULL){ 496 517 PyObject* value=PyString_FromStringAndSize(tmp->value,atoi(size->value)); 497 518 if(PyDict_SetItem(res,name,value)<0){
Note: See TracChangeset
for help on using the changeset viewer.