diff options
| author | Bob Jamison <ishmalius@gmail.com> | 2007-03-05 10:34:59 +0000 |
|---|---|---|
| committer | ishmal <ishmal@users.sourceforge.net> | 2007-03-05 10:34:59 +0000 |
| commit | 33837efd4b94c4ebb80f95b3d9dbb6efd5499a98 (patch) | |
| tree | de482d7687b3bffa97cc78608ba75a8ad7e52b60 /src/dom/js/jsbool.c | |
| parent | Adding optional dialog preview. Implments RFE [ 1435276 ] switch preview on/o... (diff) | |
| download | inkscape-33837efd4b94c4ebb80f95b3d9dbb6efd5499a98.tar.gz inkscape-33837efd4b94c4ebb80f95b3d9dbb6efd5499a98.zip | |
update JS
(bzr r2555)
Diffstat (limited to 'src/dom/js/jsbool.c')
| -rw-r--r-- | src/dom/js/jsbool.c | 91 |
1 files changed, 43 insertions, 48 deletions
diff --git a/src/dom/js/jsbool.c b/src/dom/js/jsbool.c index 75d4ee05a..33d5c507e 100644 --- a/src/dom/js/jsbool.c +++ b/src/dom/js/jsbool.c @@ -54,7 +54,7 @@ #include "jsobj.h" #include "jsstr.h" -static JSClass boolean_class = { +JSClass js_BooleanClass = { "Boolean", JSCLASS_HAS_PRIVATE, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, @@ -67,23 +67,23 @@ static JSClass boolean_class = { static JSBool bool_toSource(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, - jsval *rval) + jsval *rval) { jsval v; char buf[32]; JSString *str; - if (!JS_InstanceOf(cx, obj, &boolean_class, argv)) - return JS_FALSE; + if (!JS_InstanceOf(cx, obj, &js_BooleanClass, argv)) + return JS_FALSE; v = OBJ_GET_SLOT(cx, obj, JSSLOT_PRIVATE); if (!JSVAL_IS_BOOLEAN(v)) - return js_obj_toSource(cx, obj, argc, argv, rval); + return js_obj_toSource(cx, obj, argc, argv, rval); JS_snprintf(buf, sizeof buf, "(new %s(%s))", - boolean_class.name, - js_boolean_str[JSVAL_TO_BOOLEAN(v) ? 1 : 0]); + js_BooleanClass.name, + js_boolean_str[JSVAL_TO_BOOLEAN(v) ? 1 : 0]); str = JS_NewStringCopyZ(cx, buf); if (!str) - return JS_FALSE; + return JS_FALSE; *rval = STRING_TO_JSVAL(str); return JS_TRUE; } @@ -91,21 +91,21 @@ bool_toSource(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, static JSBool bool_toString(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, - jsval *rval) + jsval *rval) { jsval v; JSAtom *atom; JSString *str; - if (!JS_InstanceOf(cx, obj, &boolean_class, argv)) - return JS_FALSE; + if (!JS_InstanceOf(cx, obj, &js_BooleanClass, argv)) + return JS_FALSE; v = OBJ_GET_SLOT(cx, obj, JSSLOT_PRIVATE); if (!JSVAL_IS_BOOLEAN(v)) - return js_obj_toString(cx, obj, argc, argv, rval); + return js_obj_toString(cx, obj, argc, argv, rval); atom = cx->runtime->atomState.booleanAtoms[JSVAL_TO_BOOLEAN(v) ? 1 : 0]; str = ATOM_TO_STRING(atom); if (!str) - return JS_FALSE; + return JS_FALSE; *rval = STRING_TO_JSVAL(str); return JS_TRUE; } @@ -113,8 +113,8 @@ bool_toString(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, static JSBool bool_valueOf(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { - if (!JS_InstanceOf(cx, obj, &boolean_class, argv)) - return JS_FALSE; + if (!JS_InstanceOf(cx, obj, &js_BooleanClass, argv)) + return JS_FALSE; *rval = OBJ_GET_SLOT(cx, obj, JSSLOT_PRIVATE); return JS_TRUE; } @@ -123,16 +123,11 @@ static JSFunctionSpec boolean_methods[] = { #if JS_HAS_TOSOURCE {js_toSource_str, bool_toSource, 0,0,0}, #endif - {js_toString_str, bool_toString, 0,0,0}, - {js_valueOf_str, bool_valueOf, 0,0,0}, + {js_toString_str, bool_toString, 0,0,0}, + {js_valueOf_str, bool_valueOf, 0,0,0}, {0,0,0,0,0} }; -#ifdef XP_MAC -#undef Boolean -#define Boolean js_Boolean -#endif - static JSBool Boolean(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { @@ -140,15 +135,15 @@ Boolean(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) jsval bval; if (argc != 0) { - if (!js_ValueToBoolean(cx, argv[0], &b)) - return JS_FALSE; - bval = BOOLEAN_TO_JSVAL(b); + if (!js_ValueToBoolean(cx, argv[0], &b)) + return JS_FALSE; + bval = BOOLEAN_TO_JSVAL(b); } else { - bval = JSVAL_FALSE; + bval = JSVAL_FALSE; } if (!(cx->fp->flags & JSFRAME_CONSTRUCTING)) { - *rval = bval; - return JS_TRUE; + *rval = bval; + return JS_TRUE; } OBJ_SET_SLOT(cx, obj, JSSLOT_PRIVATE, bval); return JS_TRUE; @@ -159,10 +154,10 @@ js_InitBooleanClass(JSContext *cx, JSObject *obj) { JSObject *proto; - proto = JS_InitClass(cx, obj, NULL, &boolean_class, Boolean, 1, - NULL, boolean_methods, NULL, NULL); + proto = JS_InitClass(cx, obj, NULL, &js_BooleanClass, Boolean, 1, + NULL, boolean_methods, NULL, NULL); if (!proto) - return NULL; + return NULL; OBJ_SET_SLOT(cx, proto, JSSLOT_PRIVATE, JSVAL_FALSE); return proto; } @@ -172,9 +167,9 @@ js_BooleanToObject(JSContext *cx, JSBool b) { JSObject *obj; - obj = js_NewObject(cx, &boolean_class, NULL, NULL); + obj = js_NewObject(cx, &js_BooleanClass, NULL, NULL); if (!obj) - return NULL; + return NULL; OBJ_SET_SLOT(cx, obj, JSSLOT_PRIVATE, BOOLEAN_TO_JSVAL(b)); return obj; } @@ -192,27 +187,27 @@ js_ValueToBoolean(JSContext *cx, jsval v, JSBool *bp) jsdouble d; if (JSVAL_IS_NULL(v) || JSVAL_IS_VOID(v)) { - b = JS_FALSE; + b = JS_FALSE; } else if (JSVAL_IS_OBJECT(v)) { - if (!JSVERSION_IS_ECMA(cx->version)) { - if (!OBJ_DEFAULT_VALUE(cx, JSVAL_TO_OBJECT(v), JSTYPE_BOOLEAN, &v)) - return JS_FALSE; - if (!JSVAL_IS_BOOLEAN(v)) - v = JSVAL_TRUE; /* non-null object is true */ - b = JSVAL_TO_BOOLEAN(v); - } else { - b = JS_TRUE; - } + if (!JS_VERSION_IS_ECMA(cx)) { + if (!OBJ_DEFAULT_VALUE(cx, JSVAL_TO_OBJECT(v), JSTYPE_BOOLEAN, &v)) + return JS_FALSE; + if (!JSVAL_IS_BOOLEAN(v)) + v = JSVAL_TRUE; /* non-null object is true */ + b = JSVAL_TO_BOOLEAN(v); + } else { + b = JS_TRUE; + } } else if (JSVAL_IS_STRING(v)) { - b = JSSTRING_LENGTH(JSVAL_TO_STRING(v)) ? JS_TRUE : JS_FALSE; + b = JSSTRING_LENGTH(JSVAL_TO_STRING(v)) ? JS_TRUE : JS_FALSE; } else if (JSVAL_IS_INT(v)) { - b = JSVAL_TO_INT(v) ? JS_TRUE : JS_FALSE; + b = JSVAL_TO_INT(v) ? JS_TRUE : JS_FALSE; } else if (JSVAL_IS_DOUBLE(v)) { - d = *JSVAL_TO_DOUBLE(v); - b = (!JSDOUBLE_IS_NaN(d) && d != 0) ? JS_TRUE : JS_FALSE; + d = *JSVAL_TO_DOUBLE(v); + b = (!JSDOUBLE_IS_NaN(d) && d != 0) ? JS_TRUE : JS_FALSE; } else { JS_ASSERT(JSVAL_IS_BOOLEAN(v)); - b = JSVAL_TO_BOOLEAN(v); + b = JSVAL_TO_BOOLEAN(v); } *bp = b; |
