diff --git a/mozilla/js/src/jsdtoa.c b/mozilla/js/src/jsdtoa.c index 4198cf19dbc..9f729fa8ab3 100644 --- a/mozilla/js/src/jsdtoa.c +++ b/mozilla/js/src/jsdtoa.c @@ -2665,7 +2665,7 @@ js_dtoa(double d, int mode, JSBool biasUp, int ndigits, *s++ = '9'; goto roundoff; } - *s++ = dig + 1; + *s++ = (char)dig + 1; goto ret; } *s++ = (char)dig; diff --git a/mozilla/js/src/jsstr.h b/mozilla/js/src/jsstr.h index 94ebe97b942..acfb669df86 100644 --- a/mozilla/js/src/jsstr.h +++ b/mozilla/js/src/jsstr.h @@ -267,8 +267,12 @@ typedef enum JSCharType { #define JS_ISUPPER(c) (JS_CTYPE(c) == JSCT_UPPERCASE_LETTER) #define JS_ISLOWER(c) (JS_CTYPE(c) == JSCT_LOWERCASE_LETTER) -#define JS_TOUPPER(c) ((JS_CCODE(c) & 0x00100000) ? (c) - ((int32)JS_CCODE(c) >> 22) : (c)) -#define JS_TOLOWER(c) ((JS_CCODE(c) & 0x00200000) ? (c) + ((int32)JS_CCODE(c) >> 22) : (c)) +#define JS_TOUPPER(c) ((jschar) ((JS_CCODE(c) & 0x00100000) \ + ? (c) - ((int32)JS_CCODE(c) >> 22) \ + : (c))) +#define JS_TOLOWER(c) ((jschar) ((JS_CCODE(c) & 0x00200000) \ + ? (c) + ((int32)JS_CCODE(c) >> 22) \ + : (c))) #define JS_TOCTRL(c) ((c) ^ 64) /* XXX unsafe! requires uppercase c */