index = (size_t)i;
index = (size_t)d;
str_charCodeAt(JSContext *cx, JSObject *obj, uintN argc, jsval *argv,	       jsval *rval){    JSString *str;    int32 i;    size_t index;    str = js_ValueToString(cx, OBJECT_TO_JSVAL(obj));    if (!str)	return JS_FALSE;    argv[-1] = STRING_TO_JSVAL(str);    if (!js_ValueToECMAInt32(cx, argv[0], &i))	return JS_FALSE;    if (i < 0 || str->length <= (size_t)i) {	*rval = JS_GetNaNValue(cx);    } else {	index = (size_t)i;	*rval = INT_TO_JSVAL((jsint)str->chars[index]);    }    return JS_TRUE;}