From da9f65325b9f0fee3312aab8a45367aa75622df5 Mon Sep 17 00:00:00 2001 From: "fur%netscape.com" Date: Thu, 15 Oct 1998 03:07:09 +0000 Subject: [PATCH] Propagated changes from JS_STABLE_10131998_BRANCH, required to build mozilla. git-svn-id: svn://10.0.0.236/branches/SpiderMonkey140_BRANCH@12861 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/js/macbuild/JavaScriptPPC.mcp | Bin 117025 -> 119505 bytes mozilla/js/src/Makefile.in | 75 ++++++++++------- mozilla/js/src/config/Linux_All.mk | 2 +- mozilla/js/src/jscpucfg.c | 6 -- mozilla/js/src/jscpucfg.h | 2 +- mozilla/js/src/jsosdep.h | 2 +- mozilla/js/src/jsotypes.h | 4 +- mozilla/js/src/jsstr.h | 1 + mozilla/js/src/jstypes.h | 2 +- mozilla/js/src/jsutil.c | 87 ++++++++++++++++++++ mozilla/js/src/liveconnect/jsj_JavaArray.c | 2 +- mozilla/js/src/liveconnect/jsj_JavaClass.c | 2 +- mozilla/js/src/liveconnect/jsj_JavaObject.c | 2 +- mozilla/js/src/prmjtime.c | 10 ++- 14 files changed, 153 insertions(+), 44 deletions(-) diff --git a/mozilla/js/macbuild/JavaScriptPPC.mcp b/mozilla/js/macbuild/JavaScriptPPC.mcp index ebbd9bc057519b1ba8f32573a97393fdeff423f2..f354ba33a7605c897761abfaadafd63d35505430 100644 GIT binary patch delta 771 zcmYk4Ur1A76u`f;dv~34lRem$^G_>Mr>S$wf<5?;LFI#RU+N`Imq|@0PNxtAf&>N8 zp!F@jJCayXP(qD-Z!9u+D^}z+iH^NqzEZKMu-JX zk|d$vrYZAnT3?cY+IaVXwHANtz+60^pSmrc0uhm*w$l<{ zC#|rSs*9GiSt_>kL*v~S)h)*+fI{z;zoMOipgQloBboHFlA8A=qy@FV%?xU;rW>f- zn-KHI|Fn2$-_>U7b2Hjir&Q`YczSc81Y%n1`94I*aGHHk;J9Y1hJ9dr3P@C0YXukG zTGPO<-gr|AhRG0>eGmCH`sjX_BIes5`$p+PwvnbwuEb@L4xSdNoE@YYUyP1_xlS*Q zR*L*yYH;QSV2J@6J!q&Z>iJZj%PqHRPz`^8I-2YSlAX|r$HR#;m-{`dle1pClqZj9 zTs={!Q;p1cL6v)tv`Zt=>8Vhd1^dBOh{ffPH|3Zn$G~5qrUJi=CSERYCvVrXfK3wV zlfX%B@foCyCf=^Y;8#KOFTtkK#0x)!-vqXsf#=|24_4re>9ErxU zNHm16x`SMoK#J9@LbKsif}LN582kJdO09f;bZJVkzZjRA?;@Dfysu$iWV`EN_3{VO z#p6cfU~DQ9#q~dKIf}jwIVL3n+g<^O*76QA;LQBMiCn-4pK3l=y0o~MaRbwN`A$Xi IZ@`Z54@6VfmjD0& delta 655 zcmZ9JL1+_E5Qb-xG^yKN36i#&5DG$cTO<`qz+%%z*H{%Qd-Pxhtr)776zZV|6|n~i zB}$yaTNEK4#99?>7Fo21V!@=?So9#$V?0QMg5s&-VVzAQqz=r^{NH=*%04uZ0tomu}IC$_1Kk*-zhMXB2=4ANBJ<9!jd*t<Z047UV5yx`4aIZ+rH;F@#-I>#Uz8n9k%`M{U-Q4 z=l~5Mcxe;-IPQQHzz&VUZ{+!!-^$G5&!#Pl-8A)~*0?x7jNyN~u1x7!OV46&$m%WN z^49xvR(0Wj_DtM=i%)R3NEY#^cW;6}#1Oe6b_LZkTd{9!d}5S;x(8v-rQ9=#a5GVb{77+8;(E}oY#>P`G&U|5wB&UsGGW*RO#9@V3g +#else typedef JSUintn uint; #endif diff --git a/mozilla/js/src/jsstr.h b/mozilla/js/src/jsstr.h index b8ae964c5ba..21cbae29283 100644 --- a/mozilla/js/src/jsstr.h +++ b/mozilla/js/src/jsstr.h @@ -33,6 +33,7 @@ #include #include "jspubtd.h" #include "jsprvtd.h" +#include "jshash.h" JS_BEGIN_EXTERN_C diff --git a/mozilla/js/src/jstypes.h b/mozilla/js/src/jstypes.h index f8c673ba459..6622879ef9b 100644 --- a/mozilla/js/src/jstypes.h +++ b/mozilla/js/src/jstypes.h @@ -121,7 +121,7 @@ #ifdef _WIN32 # define JS_IMPORT_DATA(__x) _declspec(dllimport) __x #else -# define JS_IMPORT_DATA(__x) JS_EXPORT_DATA(__x) +# define JS_IMPORT_DATA(__x) __x #endif /* diff --git a/mozilla/js/src/jsutil.c b/mozilla/js/src/jsutil.c index 641255f3471..a7643f53300 100644 --- a/mozilla/js/src/jsutil.c +++ b/mozilla/js/src/jsutil.c @@ -28,6 +28,93 @@ # include #endif +#ifdef XP_MAC +# include +# include +# include "jsprf.h" +#endif + +#ifdef XP_MAC +/* + * PStrFromCStr converts the source C string to a destination + * pascal string as it copies. The dest string will + * be truncated to fit into an Str255 if necessary. + * If the C String pointer is NULL, the pascal string's length is + * set to zero. + */ +static void PStrFromCStr(const char* src, Str255 dst) +{ + short length = 0; + + /* handle case of overlapping strings */ + if ( (void*)src == (void*)dst ) + { + unsigned char* curdst = &dst[1]; + unsigned char thisChar; + + thisChar = *(const unsigned char*)src++; + while ( thisChar != '\0' ) + { + unsigned char nextChar; + + /* + * Use nextChar so we don't overwrite what we + * are about to read + */ + nextChar = *(const unsigned char*)src++; + *curdst++ = thisChar; + thisChar = nextChar; + + if ( ++length >= 255 ) + break; + } + } + else if ( src != NULL ) + { + unsigned char* curdst = &dst[1]; + /* count down so test it loop is faster */ + short overflow = 255; + register char temp; + + /* + * Can't do the K&R C thing of while (*s++ = *t++) + * because it will copy trailing zero which might + * overrun pascal buffer. Instead we use a temp variable. + */ + while ( (temp = *src++) != 0 ) + { + *(char*)curdst++ = temp; + + if ( --overflow <= 0 ) + break; + } + length = 255 - overflow; + } + dst[0] = length; +} + +static void debugstr(const char *debuggerMsg) +{ + Str255 pStr; + + PStrFromCStr(debuggerMsg, pStr); + DebugStr(pStr); +} + +static void dprintf(const char *format, ...) +{ + va_list ap; + char *buffer; + + va_start(ap, format); + buffer = (char *)JS_vsmprintf(format, ap); + va_end(ap); + + debugstr(buffer); + JS_DELETE(buffer); +} +#endif /* XP_MAC */ + JS_EXPORT_API(void) JS_Assert(const char *s, const char *file, JSIntn ln) { #if defined(XP_UNIX) || defined(XP_OS2) diff --git a/mozilla/js/src/liveconnect/jsj_JavaArray.c b/mozilla/js/src/liveconnect/jsj_JavaArray.c index 29a43e6bc8e..3e0b81d240e 100644 --- a/mozilla/js/src/liveconnect/jsj_JavaArray.c +++ b/mozilla/js/src/liveconnect/jsj_JavaArray.c @@ -392,7 +392,7 @@ JSClass JavaArray_class = { JavaArray_getObjectOps, }; -extern JS_FRIEND_DATA(JSObjectOps) js_ObjectOps; +extern JS_IMPORT_DATA(JSObjectOps) js_ObjectOps; /* Initialize the JS JavaArray class */ diff --git a/mozilla/js/src/liveconnect/jsj_JavaClass.c b/mozilla/js/src/liveconnect/jsj_JavaClass.c index 12b81aac39e..12ce91bab6e 100644 --- a/mozilla/js/src/liveconnect/jsj_JavaClass.c +++ b/mozilla/js/src/liveconnect/jsj_JavaClass.c @@ -576,7 +576,7 @@ getClass(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return JS_TRUE; } -extern JS_FRIEND_DATA(JSObjectOps) js_ObjectOps; +extern JS_IMPORT_DATA(JSObjectOps) js_ObjectOps; JSBool jsj_init_JavaClass(JSContext *cx, JSObject *global_obj) diff --git a/mozilla/js/src/liveconnect/jsj_JavaObject.c b/mozilla/js/src/liveconnect/jsj_JavaObject.c index d95f0ce8225..296f840a5fb 100644 --- a/mozilla/js/src/liveconnect/jsj_JavaObject.c +++ b/mozilla/js/src/liveconnect/jsj_JavaObject.c @@ -674,7 +674,7 @@ JSClass JavaObject_class = { JavaObject_getObjectOps, }; -extern JS_FRIEND_DATA(JSObjectOps) js_ObjectOps; +extern JS_IMPORT_DATA(JSObjectOps) js_ObjectOps; JSBool diff --git a/mozilla/js/src/prmjtime.c b/mozilla/js/src/prmjtime.c index 9f058eb5500..523d1ed1eca 100644 --- a/mozilla/js/src/prmjtime.c +++ b/mozilla/js/src/prmjtime.c @@ -44,7 +44,10 @@ #ifdef XP_UNIX -#ifdef SOLARIS +/* The following line used to be ifdef SOLARIS, which seems to be required + to build on some SOLARIS platforms, but on others it causes duplicate + function declaration errors. mccabe will have to investigate further. */ +#if 0 extern int gettimeofday(struct timeval *tv); #endif @@ -278,7 +281,10 @@ PRMJ_Now(void) #endif #ifdef XP_UNIX -#if defined(SOLARIS) +/* The following line used to be ifdef SOLARIS, which seems to be required + to build on some SOLARIS platforms, but on others it causes duplicate + function declaration errors. mccabe will have to investigate further. */ +#if 0 gettimeofday(&tv); #else gettimeofday(&tv, 0);