Exemple #1
0
static void 
add_double(void *opaque, void *parent, const char *name, double v)
{
  jsdouble *d = JS_NewDouble(opaque, v);
  if(d != NULL)
    js_set_prop_jsval(opaque, parent, name, DOUBLE_TO_JSVAL(d));
}
Exemple #2
0
void
js_set_prop_dbl(JSContext *cx, JSObject *o, const char *prop, double v)
{
  jsdouble *d = JS_NewDouble(cx, v);
  if(d != NULL)
    js_set_prop_jsval(cx, o, prop, DOUBLE_TO_JSVAL(d));
}
Exemple #3
0
void
js_set_prop_str(JSContext *cx, JSObject *o, const char *prop, const char *str)
{
  JSString *s = str ? JS_NewStringCopyZ(cx, str) : NULL;
  if(s != NULL)
    js_set_prop_jsval(cx, o, prop, STRING_TO_JSVAL(s));
}
Exemple #4
0
static void 
add_long(void *opaque, void *parent, const char *name, long v)
{
  if(v <= INT32_MAX && v >= INT32_MIN && INT_FITS_IN_JSVAL(v))
    js_set_prop_jsval(opaque, parent, name, INT_TO_JSVAL(v));
  else
    add_double(opaque, parent, name, v);
}
Exemple #5
0
static void 
add_string(void *opaque, void *parent, const char *name, char *str)
{
  JSString *s = JS_NewString(opaque, str, strlen(str));
  if(s == NULL)
    free(str);
  else
    js_set_prop_jsval(opaque, parent, name, STRING_TO_JSVAL(s));
}
Exemple #6
0
void
js_set_prop_int(JSContext *cx, JSObject *o, const char *prop, int v)
{
  jsval val;
  if(v <= INT32_MAX && v >= INT32_MIN && INT_FITS_IN_JSVAL(v))
    val = INT_TO_JSVAL(v);
  else {
    jsdouble *d = JS_NewDouble(cx, v);
    if(d == NULL)
      return;
    val = DOUBLE_TO_JSVAL(d);
  }
   js_set_prop_jsval(cx, o, prop, val);
}
Exemple #7
0
static void 
add_null(void *opaque, void *parent, const char *name)
{
  js_set_prop_jsval(opaque, parent, name, JSVAL_NULL);
}
Exemple #8
0
static void 
add_bool(void *opaque, void *parent, const char *name, int v)
{
  js_set_prop_jsval(opaque, parent, name, BOOLEAN_TO_JSVAL(!!v));
}
Exemple #9
0
static void
add_obj(void *opaque, void *parent, const char *name, void *child)
{
  js_set_prop_jsval(opaque, parent, name, OBJECT_TO_JSVAL(child));
}