diff --git a/src/sbbs3/js_file.c b/src/sbbs3/js_file.c index 4c1f27705e27ced544ff7b84b4aeac75710b7b32..494ced3ef1768c995e2eda23c32125c3b06aca05 100644 --- a/src/sbbs3/js_file.c +++ b/src/sbbs3/js_file.c @@ -445,7 +445,7 @@ static jsval get_value(JSContext *cx, char* value) static JSBool js_iniGetValue(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { - char* section; + char* section=NULL; char* key; char** list; char buf[INI_MAX_VALUE_LEN]; @@ -462,7 +462,8 @@ js_iniGetValue(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva return(JS_FALSE); } - section=JS_GetStringBytes(JS_ValueToString(cx, argv[0])); + if(argv[0]!=JSVAL_VOID && argv[0]!=JSVAL_NULL) + section=JS_GetStringBytes(JS_ValueToString(cx, argv[0])); key=JS_GetStringBytes(JS_ValueToString(cx, argv[1])); if(dflt==JSVAL_VOID) { /* unspecified default value */ @@ -510,7 +511,7 @@ js_iniGetValue(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva static JSBool js_iniSetValue(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { - char* section; + char* section=NULL; char* key; char* result=NULL; int32 i; @@ -525,7 +526,8 @@ js_iniSetValue(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rva return(JS_FALSE); } - section=JS_GetStringBytes(JS_ValueToString(cx, argv[0])); + if(argv[0]!=JSVAL_VOID && argv[0]!=JSVAL_NULL) + section=JS_GetStringBytes(JS_ValueToString(cx, argv[0])); key=JS_GetStringBytes(JS_ValueToString(cx, argv[1])); if((list=iniReadFile(p->fp))==NULL) @@ -605,7 +607,7 @@ js_iniGetSections(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval * static JSBool js_iniGetKeys(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { - char* section; + char* section=NULL; char** list; jsint i; jsval val; @@ -619,7 +621,8 @@ js_iniGetKeys(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval return(JS_FALSE); } - section=JS_GetStringBytes(JS_ValueToString(cx, argv[0])); + if(argv[0]!=JSVAL_VOID && argv[0]!=JSVAL_NULL) + section=JS_GetStringBytes(JS_ValueToString(cx, argv[0])); array = JS_NewArrayObject(cx, 0, NULL); list = iniGetKeyList(p->fp,section); @@ -638,7 +641,7 @@ js_iniGetKeys(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval static JSBool js_iniGetObject(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { - char* section; + char* section=NULL; jsint i; JSObject* object; private_t* p; @@ -651,7 +654,8 @@ js_iniGetObject(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rv return(JS_FALSE); } - section=JS_GetStringBytes(JS_ValueToString(cx, argv[0])); + if(argv[0]!=JSVAL_VOID && argv[0]!=JSVAL_NULL) + section=JS_GetStringBytes(JS_ValueToString(cx, argv[0])); object = JS_NewObject(cx, NULL, NULL, obj); list = iniGetNamedStringList(p->fp,section);