base = 0;
radix = 0;
num_parseInt(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval){    JSString *str;    jsint base;    jschar *ep;    jsdouble d;    str = js_ValueToString(cx, argv[0]);    if (!str)	return JS_FALSE;    if (argc > 1) {	if (!js_ValueToECMAInt32(cx, argv[1], &base))	    return JS_FALSE;    } else {	base = 0;    }    if (!js_strtol(str->chars, &ep, base, &d)) {	*rval = DOUBLE_TO_JSVAL(cx->runtime->jsNaN);    } else {	if (!js_NewNumberValue(cx, d, rval))	    return JS_FALSE;    }    return JS_TRUE;}