AllVizParams*
Region::LoadParams(std::string pathname,AllVizParams* p) {
	std::string err;
	DEBUGPRINT(("LoadParams pathname=%s",pathname.c_str()));
	cJSON* j = jsonReadFile(pathname,err);
	if ( ! j ) {
		throw NosuchException("Unable to open file (name=%s, err=%s)",pathname.c_str(),err.c_str());
	}
	p->loadJson(j);
	jsonFree(j);
	return p;
}
Beispiel #2
0
static void freeArray(PJsonObject object){
    PJsonObject tmp=object->value_array;
    while(object){
        if(object->type==OBJECT){
            jsonFree(object);
        }
        /**if(object->type=ARRAY){
            freeArray(object);
        }*/
        free(object);
        object=tmp;
        if(object)
            tmp=object->value_array;
    }
}
Beispiel #3
0
static void showErrorMessage(const char *jsonString,ErrorType error){
    int position=jsonString-string_start;
    if(error==NO_QUOTATION){
        printf("missing quotaion at position:%d\n%s\n",position,jsonString);
    }else if(error==NO_COLON){
        printf("missing colon at position:%d\n%s\n",position,jsonString);
    }else if(error==NO_KEY){
        printf("missing key of value at position:%d\n%s\n",position,jsonString);
    }else if(error==NO_VALUE){
        printf("missing value at position:%d\n%s\n",position,jsonString);
    }else if(error==NO_START){
        printf("missing start symbol at position:%d\n%s\n",position,jsonString);
    }else if(error==NO_END){
        printf("missing end symbol at position:%d\n%s\n",position,jsonString);
    }
    jsonFree(object_start);//release space
}
Beispiel #4
0
static void freeChild(PJsonObject object){
    if(object){
        jsonFree(object);
    }
}