Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 404129 | Differences between
and this patch

Collapse All | Expand All

(-)JavaScript-SpiderMonkey-0.21.orig/Makefile.PL (+1 lines)
Lines 28-33 Link Here
28
  libjs.a
28
  libjs.a
29
  js32.dll
29
  js32.dll
30
  libmozjs.so
30
  libmozjs.so
31
  libmozjs185.so
31
);
32
);
32
33
33
my %possible_install_paths = (
34
my %possible_install_paths = (
(-)JavaScript-SpiderMonkey-0.21.orig/SpiderMonkey.xs (-10 / +10 lines)
Lines 68-76 Link Here
68
         * an int.
68
         * an int.
69
         */
69
         */
70
    XPUSHs(sv_2mortal(newSViv((int)obj)));
70
    XPUSHs(sv_2mortal(newSViv((int)obj)));
71
    XPUSHs(sv_2mortal(newSVpv(JS_GetStringBytes(JSVAL_TO_STRING(id)), 0)));
71
    XPUSHs(sv_2mortal(newSVpv(JS_EncodeString(cx, JSVAL_TO_STRING(id)), 0)));
72
    XPUSHs(sv_2mortal(newSVpv(what, 0)));
72
    XPUSHs(sv_2mortal(newSVpv(what, 0)));
73
    XPUSHs(sv_2mortal(newSVpv(JS_GetStringBytes(JSVAL_TO_STRING(*vp)), 0)));
73
    XPUSHs(sv_2mortal(newSVpv(JS_EncodeString(cx, JSVAL_TO_STRING(*vp)), 0)));
74
    PUTBACK;
74
    PUTBACK;
75
    call_pv("JavaScript::SpiderMonkey::getsetter_dispatcher", G_DISCARD);
75
    call_pv("JavaScript::SpiderMonkey::getsetter_dispatcher", G_DISCARD);
76
    FREETMPS;
76
    FREETMPS;
Lines 151-160 Link Here
151
    PUSHMARK(SP);
151
    PUSHMARK(SP);
152
    XPUSHs(sv_2mortal(newSViv((int)obj)));
152
    XPUSHs(sv_2mortal(newSViv((int)obj)));
153
    XPUSHs(sv_2mortal(newSVpv(
153
    XPUSHs(sv_2mortal(newSVpv(
154
        JS_GetFunctionName(fun), 0)));
154
        JS_EncodeString(cx, JS_GetFunctionId(fun)), 0)));
155
    for(i=0; i<argc; i++) {
155
    for(i=0; i<argc; i++) {
156
        XPUSHs(sv_2mortal(newSVpv(
156
        XPUSHs(sv_2mortal(newSVpv(
157
            JS_GetStringBytes(JS_ValueToString(cx, argv[i])), 0)));
157
            JS_EncodeString(cx, JS_ValueToString(cx, argv[i])), 0)));
158
    }
158
    }
159
    PUTBACK;
159
    PUTBACK;
160
    count = call_pv("JavaScript::SpiderMonkey::function_dispatcher", G_SCALAR);
160
    count = call_pv("JavaScript::SpiderMonkey::function_dispatcher", G_SCALAR);
Lines 192-198 Link Here
192
192
193
            if(Debug) 
193
            if(Debug) 
194
                fprintf(stderr, "DEBUG: %lx is a double(%f)\n", (long) sv,n_jdbl);
194
                fprintf(stderr, "DEBUG: %lx is a double(%f)\n", (long) sv,n_jdbl);
195
            *rval = DOUBLE_TO_JSVAL(JS_NewDouble(cx, n_jdbl));
195
            JS_NewNumberValue(cx, n_jdbl, rval);
196
        } else if(SvPOK(sv)) {
196
        } else if(SvPOK(sv)) {
197
            n_jstr = SvPV(sv, PL_na);
197
            n_jstr = SvPV(sv, PL_na);
198
            //warn("DEBUG: %s (%d)\n", n_jstr);
198
            //warn("DEBUG: %s (%d)\n", n_jstr);
Lines 241-247 Link Here
241
241
242
/* --------------------------------------------------------------------- */
242
/* --------------------------------------------------------------------- */
243
static JSBool
243
static JSBool
244
BranchHandler(JSContext *cx, JSScript *script) {
244
BranchHandler(JSContext *cx, ...) {
245
/* --------------------------------------------------------------------- */
245
/* --------------------------------------------------------------------- */
246
  PJS_Context* pcx = (PJS_Context*) JS_GetContextPrivate(cx);
246
  PJS_Context* pcx = (PJS_Context*) JS_GetContextPrivate(cx);
247
247
Lines 582-591 Link Here
582
        rc = JS_GetProperty(cx, obj, name, &vp);
582
        rc = JS_GetProperty(cx, obj, name, &vp);
583
        if(rc) {
583
        if(rc) {
584
            str = JS_ValueToString(cx, vp);
584
            str = JS_ValueToString(cx, vp);
585
            if(strcmp(JS_GetStringBytes(str), "undefined") == 0) {
585
            if(strcmp(JS_EncodeString(cx, str), "undefined") == 0) {
586
                sv = &PL_sv_undef;
586
                sv = &PL_sv_undef;
587
            } else {
587
            } else {
588
                sv_setpv(sv, JS_GetStringBytes(str));
588
                sv_setpv(sv, JS_EncodeString(cx, str));
589
            }
589
            }
590
        } else {
590
        } else {
591
            sv = &PL_sv_undef;
591
            sv = &PL_sv_undef;
Lines 675-684 Link Here
675
        rc = JS_GetElement(cx, obj, idx, &vp);
675
        rc = JS_GetElement(cx, obj, idx, &vp);
676
        if(rc) {
676
        if(rc) {
677
            str = JS_ValueToString(cx, vp);
677
            str = JS_ValueToString(cx, vp);
678
            if(strcmp(JS_GetStringBytes(str), "undefined") == 0) {
678
            if(strcmp(JS_EncodeString(cx, str), "undefined") == 0) {
679
                sv = &PL_sv_undef;
679
                sv = &PL_sv_undef;
680
            } else {
680
            } else {
681
                sv_setpv(sv, JS_GetStringBytes(str));
681
                sv_setpv(sv, JS_EncodeString(cx, str));
682
            }
682
            }
683
        } else {
683
        } else {
684
            sv = &PL_sv_undef;
684
            sv = &PL_sv_undef;

Return to bug 404129