Skip to content
Snippets Groups Projects
Commit c9923b29 authored by deuce's avatar deuce
Browse files

Stop using alloca() macros from string conversions.

parent 471cea1f
No related branches found
No related tags found
No related merge requests found
......@@ -237,9 +237,12 @@ static JSBool js_set(JSContext *cx, JSObject *obj, jsid id, JSBool strict, jsval
size_t len;
char *bytes;
JSVALUE_TO_STRING(cx, *vp, bytes, &len);
JSVALUE_TO_MSTRING(cx, *vp, bytes, &len);
if(!bytes)
return JS_FALSE;
rc=JS_SUSPENDREQUEST(cx);
copytext(bytes, len+1);
free(bytes);
JS_RESUMEREQUEST(cx, rc);
}
break;
......@@ -309,7 +312,7 @@ js_conio_init(JSContext *cx, uintN argc, jsval *arglist)
JS_SET_RVAL(cx, arglist, JSVAL_FALSE);
if(argc>0) {
JSVALUE_TO_STRING(cx, argv[0], mode, NULL);
JSVALUE_TO_MSTRING(cx, argv[0], mode, NULL);
if(mode != NULL) {
if(!stricmp(mode,"STDIO"))
ciolib_mode=-1;
......@@ -321,6 +324,7 @@ js_conio_init(JSContext *cx, uintN argc, jsval *arglist)
ciolib_mode=CIOLIB_MODE_ANSI;
else if(!stricmp(mode,"CONIO"))
ciolib_mode=CIOLIB_MODE_CONIO;
free(mode);
}
}
......@@ -564,13 +568,15 @@ js_conio_loadfont(JSContext *cx, uintN argc, jsval *arglist)
char * str;
jsrefcount rc;
if(argc==1)
JSVALUE_TO_STRING(cx, argv[0], str, NULL);
if(argc==1 && str != NULL) {
rc=JS_SUSPENDREQUEST(cx);
JS_SET_RVAL(cx, arglist,INT_TO_JSVAL(loadfont(str)));
JS_RESUMEREQUEST(cx, rc);
return(JS_TRUE);
if(argc==1) {
JSVALUE_TO_MSTRING(cx, argv[0], str, NULL);
if(str != NULL) {
rc=JS_SUSPENDREQUEST(cx);
JS_SET_RVAL(cx, arglist,INT_TO_JSVAL(loadfont(str)));
free(str);
JS_RESUMEREQUEST(cx, rc);
return(JS_TRUE);
}
}
return(JS_FALSE);
......@@ -583,14 +589,16 @@ js_conio_settitle(JSContext *cx, uintN argc, jsval *arglist)
char * str;
jsrefcount rc;
if(argc==1)
JSVALUE_TO_STRING(cx, argv[0], str, NULL);
if(argc==1 && str != NULL) {
rc=JS_SUSPENDREQUEST(cx);
settitle(str);
JS_RESUMEREQUEST(cx, rc);
JS_SET_RVAL(cx, arglist,JSVAL_TRUE);
return(JS_TRUE);
if(argc==1) {
JSVALUE_TO_MSTRING(cx, argv[0], str, NULL);
if(str != NULL) {
rc=JS_SUSPENDREQUEST(cx);
settitle(str);
free(str);
JS_RESUMEREQUEST(cx, rc);
JS_SET_RVAL(cx, arglist,JSVAL_TRUE);
return(JS_TRUE);
}
}
return(JS_FALSE);
......@@ -603,14 +611,16 @@ js_conio_setname(JSContext *cx, uintN argc, jsval *arglist)
char * str;
jsrefcount rc;
if(argc==1)
JSVALUE_TO_STRING(cx, argv[0], str, NULL);
if(argc==1 && str != NULL) {
rc=JS_SUSPENDREQUEST(cx);
setname(str);
JS_RESUMEREQUEST(cx, rc);
JS_SET_RVAL(cx, arglist,JSVAL_TRUE);
return(JS_TRUE);
if(argc==1) {
JSVALUE_TO_MSTRING(cx, argv[0], str, NULL);
if(str != NULL) {
rc=JS_SUSPENDREQUEST(cx);
setname(str);
free(str);
JS_RESUMEREQUEST(cx, rc);
JS_SET_RVAL(cx, arglist,JSVAL_TRUE);
return(JS_TRUE);
}
}
return(JS_FALSE);
......@@ -623,13 +633,15 @@ js_conio_cputs(JSContext *cx, uintN argc, jsval *arglist)
char * str;
jsrefcount rc;
if(argc==1)
JSVALUE_TO_STRING(cx, argv[0], str, NULL);
if(argc==1 && str != NULL) {
rc=JS_SUSPENDREQUEST(cx);
JS_SET_RVAL(cx, arglist,INT_TO_JSVAL(cputs(str)));
JS_RESUMEREQUEST(cx, rc);
return(JS_TRUE);
if(argc==1) {
JSVALUE_TO_MSTRING(cx, argv[0], str, NULL);
if(str != NULL) {
rc=JS_SUSPENDREQUEST(cx);
JS_SET_RVAL(cx, arglist,INT_TO_JSVAL(cputs(str)));
free(str);
JS_RESUMEREQUEST(cx, rc);
return(JS_TRUE);
}
}
return(JS_FALSE);
......@@ -680,14 +692,16 @@ js_conio_getpass(JSContext *cx, uintN argc, jsval *arglist)
char * pwd;
jsrefcount rc;
if(argc==1)
JSVALUE_TO_STRING(cx, argv[0], str, NULL);
if(argc==1 && str != NULL) {
rc=JS_SUSPENDREQUEST(cx);
pwd=getpass(str);
JS_RESUMEREQUEST(cx, rc);
JS_SET_RVAL(cx, arglist,STRING_TO_JSVAL(JS_NewStringCopyZ(cx,pwd)));
return(JS_TRUE);
if(argc==1) {
JSVALUE_TO_MSTRING(cx, argv[0], str, NULL);
if(str != NULL) {
rc=JS_SUSPENDREQUEST(cx);
pwd=getpass(str);
free(str);
JS_RESUMEREQUEST(cx, rc);
JS_SET_RVAL(cx, arglist,STRING_TO_JSVAL(JS_NewStringCopyZ(cx,pwd)));
return(JS_TRUE);
}
}
return(JS_FALSE);
......@@ -1109,16 +1123,22 @@ static jsSyncMethodSpec js_functions[] = {
static JSBool js_conio_resolve(JSContext *cx, JSObject *obj, jsid id)
{
char* name=NULL;
JSBool ret;
if(id != JSID_VOID && id != JSID_EMPTY) {
jsval idval;
JS_IdToValue(cx, id, &idval);
if(JSVAL_IS_STRING(idval))
JSSTRING_TO_STRING(cx, JSVAL_TO_STRING(idval), name, NULL);
if(JSVAL_IS_STRING(idval)) {
JSSTRING_TO_MSTRING(cx, JSVAL_TO_STRING(idval), name, NULL);
if(name==NULL)
return JS_FALSE;
}
}
return(js_SyncResolve(cx, obj, name, js_properties, js_functions, NULL, 0));
ret=js_SyncResolve(cx, obj, name, js_properties, js_functions, NULL, 0);
free(name);
return ret;
}
static JSBool js_conio_enumerate(JSContext *cx, JSObject *obj)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment