<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<!-- Copyright 2002, 2003 Macromedia, Inc. All rights reserved. -->
<title>JavaScript Interpreter Modifications</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<p>The source code to the JavaScript Interpreter supplied herewith has been changed 
  as follows on or prior to May 22, 2002:</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c and C:\TEMP\JAVASCRIPT15\JS\SRC\jsregexp.c</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br />
  77: /* Dreamweaver DREAMWEAVER dw Ultradev ULTRADEV ud VELCRO<br />
  78: * <br />
  79: * This is a dreamweaver specific addition to the mozilla <br />
  80: * release of JS 1.5. Defining DREAMWEAVER_LIMIT_REG_EXP_RECURSION<br />
  81: * will limit regular expression matching to the number of levels<br />
  82: * defined by MAX_REG_EXP_MATCH_LEVEL. All changes are wrapped in this define.<br />
  83: */<br />
  84: #define DREAMWEAVER_LIMIT_REG_EXP_RECURSION<br />
  85: #ifdef DREAMWEAVER_LIMIT_REG_EXP_RECURSION<br />
  86: #define MAX_REG_EXP_MATCH_LEVEL 0x00FFFFFF<br />
  87: static int regExpMatchLevel;<br />
  88: #endif // DREAMWEAVER_LIMIT_REG_EXP_RECURSION</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br />
  1762: #ifdef DREAMWEAVER_LIMIT_REG_EXP_RECURSION<br />
  1763:<br />
  1764: // jalbano 10-03-02: Fix 77754, 79274<br />
  1765: // Limit the recursion to avoid infinite loop<br />
  1766:<br />
  1767: if (++regExpMatchLevel &gt; MAX_REG_EXP_MATCH_LEVEL)<br />
  1768: {<br />
  1769: state-&gt;ok = JS_FALSE;<br />
  1770: return NULL;<br />
  1771: }<br />
  1772:<br />
  1773: #endif // DREAMWEAVER_LIMIT_REG_EXP_RECURSION<br />
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\jsregexp.c</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br />
  2179: #ifdef DREAMWEAVER_LIMIT_REG_EXP_RECURSION<br />
  2180:<br />
  2181: // jalbano 10-03-02: Fix 77754, 79274<br />
  2182: // Limit the recursion to avoid infinite loop<br />
  2183: <br />
  2184: regExpMatchLevel = 0;<br />
  2185: <br />
  2186:#endif // DREAMWEAVER_LIMIT_REG_EXP_RECURSION<br />
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\jsregexp.c</p>
<hr><p></p>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\DW_decls.h and C:\TEMP\JAVASCRIPT15\JS\SRC\DW_DECLS.H</p>
<p>FC: no differences encountered</p>
<hr>
<p><br>
  Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\js.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JS.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\js.c<br>
  37: */<br>
  38: #include &quot;DW_decls.h&quot;<br>
  39: <br>
  40: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JS.C<br>
  37: */<br>
  38: #include &quot;jsstddef.h&quot;<br>
  ***** </p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  37: */<br>
  38: #include &quot;DW_decls.h&quot;<br>
  39: <br>
  40: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  37: */<br>
  38: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  117: <br>
  118: // DREAMWEAVER added this function<br>
  119: JS_PUBLIC_API(JSBool)<br>
  120: JS_DoubleIsNaN(jsdouble n)<br>
  121: {<br>
  122: return JSDOUBLE_IS_NaN(n);<br>
  123: }<br>
  124: <br>
  125: static JSBool<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  115: <br>
  116: static JSBool<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2177: <br>
  2178: /* DREAMWEAVER jschang, Macromedia - (formerly JS_AliasElement)<br>
  2179: * JS_AliasElementToProperty assigns the array element so that it is an<br>
  2180: * alias to the named property. I changed the name so that it is more<br>
  2181: * descriptive and because I needed to add the function<br>
  2182: * JS_AliasPropertyToElement.<br>
  2183: * <br>
  2184: * HACK snewman 3/22/01: this seems to be a function we added back in the 
  JS<br>
  2185: * 1.2 days based on JS_AliasProperty -- I haven't checked with Jeff, but<br>
  2186: * the code looks similar to JS_AliasProperty. It had been copied without<br>
  2187: * modification into the JS1.5rc2 code. While updating to JS1.5rc3, I<br>
  2188: * looked to see if JS_AliasProperty had changed since JS1.2, and indeed<br>
  2189: * it has -- this code:<br>
  2190: * <br>
  2191: * JS_ReportError(cx, &quot;can't alias %s to %s in class %s&quot;,<br>
  2192: * alias, name, OBJ_GET_CLASS(cx, obj2)-&gt;name);<br>
  2193: * <br>
  2194: * was changed to this:<br>
  2195: * <br>
  2196: * JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL, JSMSG_CANT_ALIAS,<br>
  2197: * alias, name, OBJ_GET_CLASS(cx, obj2)-&gt;name);<br>
  2198: * <br>
  2199: * and this:<br>
  2200: * <br>
  2201: * scope = (JSScope *) obj-&gt;map;<br>
  2202: * <br>
  2203: * was changed to this:<br>
  2204: * <br>
  2205: * scope = OBJ_SCOPE(obj);<br>
  2206: * <br>
  2207: * I've applied the scope change here, and in JS_AliasPropertyToElement<br>
  2208: * (below). Probably the ReportError change should be made as well, but<br>
  2209: * this would require some research, and I doubt that it's important.<br>
  2210: * (Famous last words...)<br>
  2211: */<br>
  2212: JS_PUBLIC_API(JSBool)<br>
  2213: JS_AliasElementToProperty(JSContext *cx, JSObject *obj, const char *name, 
  jsint alias)<br>
  2214: {<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2168: <br>
  2169: static jsval<br>
  2170: LookupResult(JSContext *cx, JSObject *obj, JSObject *obj2, JSProperty 
  *prop)<br>
  2171: {<br>
  2172: JSScopeProperty *sprop;<br>
  2173: jsval rval;<br>
  2174: <br>
  2175: if (!prop) {<br>
  2176: /* XXX bad API: no way to tell &quot;not defined&quot; from &quot;void 
  value&quot; */<br>
  2177: return JSVAL_VOID;<br>
  2178: }<br>
  2179: if (OBJ_IS_NATIVE(obj2)) {<br>
  2180: /* Peek at the native property's slot value, without doing a Get. */<br>
  2181: sprop = (JSScopeProperty *)prop;<br>
  2182: rval = (SPROP_HAS_VALID_SLOT(sprop))<br>
  2183: ? LOCKED_OBJ_GET_SLOT(obj2, sprop-&gt;slot)<br>
  2184: : JSVAL_TRUE;<br>
  2185: } else {<br>
  2186: /* XXX bad API: no way to return &quot;defined but value unknown&quot; 
  */<br>
  2187: rval = JSVAL_TRUE;<br>
  2188: }<br>
  2189: OBJ_DROP_PROPERTY(cx, obj2, prop);<br>
  2190: return rval;<br>
  2191: }<br>
  2192: <br>
  2193: static JSBool<br>
  2194: GetPropertyAttributes(JSContext *cx, JSObject *obj, JSAtom *atom,<br>
  2195: uintN *attrsp, JSBool *foundp)<br>
  2196: {<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2216: JSProperty *prop;<br>
  2217: JSScope *scope;<br>
  2218: JSBool ok;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2198: JSProperty *prop;<br>
  2199: JSBool ok;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2219: <br>
  2220: CHECK_REQUEST(cx);<br>
  2221: /* XXXbe push this into jsobj.c or jsscope.c */<br>
  2222: if (!LookupProperty(cx, obj, name, &amp;obj2, &amp;prop))<br>
  2223: return JS_FALSE;<br>
  2224: if (!prop) {<br>
  2225: js_ReportIsNotDefined(cx, name);<br>
  2226: return JS_FALSE;<br>
  2227: }<br>
  2228: if (obj2 != obj || !OBJ_IS_NATIVE(obj2)) {<br>
  2229: OBJ_DROP_PROPERTY(cx, obj2, prop);<br>
  2230: JS_ReportError(cx, &quot;can't alias array element %ld to %s in class 
  %s&quot;,<br>
  2231: (long)alias, name, OBJ_GET_CLASS(cx, obj2)-&gt;name);<br>
  2232: return JS_FALSE;<br>
  2233: }<br>
  2234: scope = OBJ_SCOPE(obj);<br>
  2235: ok = (scope-&gt;ops-&gt;add(cx, scope, INT_TO_JSVAL(alias),<br>
  2236: (JSScopeProperty *)prop)<br>
  2237: != NULL);<br>
  2238: OBJ_DROP_PROPERTY(cx, obj, prop);<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2200: <br>
  2201: if (!atom)<br>
  2202: return JS_FALSE;<br>
  2203: if (!OBJ_LOOKUP_PROPERTY(cx, obj, (jsid)atom, &amp;obj2, &amp;prop))<br>
  2204: return JS_FALSE;<br>
  2205: if (!prop || obj != obj2) {<br>
  2206: *foundp = JS_FALSE;<br>
  2207: if (prop)<br>
  2208: OBJ_DROP_PROPERTY(cx, obj2, prop);<br>
  2209: return JS_TRUE;<br>
  2210: }<br>
  2211: <br>
  2212: *foundp = JS_TRUE;<br>
  2213: ok = OBJ_GET_ATTRIBUTES(cx, obj, (jsid)atom, prop, attrsp);<br>
  2214: OBJ_DROP_PROPERTY(cx, obj, prop);<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2241: <br>
  2242: /* DREAMWEAVER<br>
  2243: * jschang, Macromedia - (new function added 11/12/99 for OptionsArray 
  setter function) <br>
  2244: * JS_AliasPropertyToElement assigns the named property so that it is an 
  <br>
  2245: * alias to the specified array element. <br>
  2246: * <br>
  2247: * snewman 3/22/01: see comments for JS_AliasElementToProperty (above).<br>
  2248: */<br>
  2249: JS_PUBLIC_API(JSBool)<br>
  2250: JS_AliasPropertyToElement(JSContext *cx, JSObject *obj, jsint index, const 
  char *alias)<br>
  2251: {<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2217: <br>
  2218: static JSBool<br>
  2219: SetPropertyAttributes(JSContext *cx, JSObject *obj, JSAtom *atom,<br>
  2220: uintN attrs, JSBool *foundp)<br>
  2221: {<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2253: JSProperty *prop;<br>
  2254: JSScope *scope;<br>
  2255: JSBool ok;<br>
  2256: JSAtom *atom;<br>
  2257: <br>
  2258: CHECK_REQUEST(cx);<br>
  2259: /* XXXbe push this into jsobj.c or jsscope.c */<br>
  2260: if (!OBJ_LOOKUP_PROPERTY(cx, obj, INT_TO_JSVAL(index), &amp;obj2, &amp;prop))<br>
  2261: return JS_FALSE;<br>
  2262: if (!prop) {<br>
  2263: JS_ReportError(cx, &quot;array element %ld is not defined&quot;, (long)index);<br>
  2264: return JS_FALSE;<br>
  2265: }<br>
  2266: if (obj2 != obj || !OBJ_IS_NATIVE(obj2)) {<br>
  2267: OBJ_DROP_PROPERTY(cx, obj2, prop);<br>
  2268: JS_ReportError(cx, &quot;can't alias %s to array element %ld in class 
  %s&quot;,<br>
  2269: alias, (long)index, OBJ_GET_CLASS(cx, obj2)-&gt;name);<br>
  2270: return JS_FALSE;<br>
  2271: }<br>
  2272: scope = OBJ_SCOPE(obj);<br>
  2273: atom = js_Atomize(cx, alias, strlen(alias), 0);<br>
  2274: if (!atom) {<br>
  2275: ok = JS_FALSE;<br>
  2276: } else {<br>
  2277: scope = OBJ_SCOPE(obj);<br>
  2278: ok = (scope-&gt;ops-&gt;add(cx, scope, (jsid)atom, (JSScopeProperty *)prop)<br>
  2279: != NULL);<br>
  2280: }<br>
  2281: OBJ_DROP_PROPERTY(cx, obj, prop);<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2223: JSProperty *prop;<br>
  2224: JSBool ok;<br>
  2225: <br>
  2226: if (!atom)<br>
  2227: return JS_FALSE;<br>
  2228: if (!OBJ_LOOKUP_PROPERTY(cx, obj, (jsid)atom, &amp;obj2, &amp;prop))<br>
  2229: return JS_FALSE;<br>
  2230: if (!prop || obj != obj2) {<br>
  2231: *foundp = JS_FALSE;<br>
  2232: if (prop)<br>
  2233: OBJ_DROP_PROPERTY(cx, obj2, prop);<br>
  2234: return JS_TRUE;<br>
  2235: }<br>
  2236: <br>
  2237: *foundp = JS_TRUE;<br>
  2238: ok = OBJ_SET_ATTRIBUTES(cx, obj, (jsid)atom, prop, &amp;attrs);<br>
  2239: OBJ_DROP_PROPERTY(cx, obj, prop);<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2284: <br>
  2285: static jsval<br>
  2286: LookupResult(JSContext *cx, JSObject *obj, JSObject *obj2, JSProperty 
  *prop)<br>
  2287: {<br>
  2288: JSScopeProperty *sprop;<br>
  2289: jsval rval;<br>
  2290: <br>
  2291: if (!prop) {<br>
  2292: /* XXX bad API: no way to tell &quot;not defined&quot; from &quot;void 
  value&quot; */<br>
  2293: return JSVAL_VOID;<br>
  2294: }<br>
  2295: if (OBJ_IS_NATIVE(obj2)) {<br>
  2296: /* Peek at the native property's slot value, without doing a Get. */<br>
  2297: sprop = (JSScopeProperty *)prop;<br>
  2298: rval = (SPROP_HAS_VALID_SLOT(sprop))<br>
  2299: ? LOCKED_OBJ_GET_SLOT(obj2, sprop-&gt;slot)<br>
  2300: : JSVAL_TRUE;<br>
  2301: } else {<br>
  2302: /* XXX bad API: no way to return &quot;defined but value unknown&quot; 
  */<br>
  2303: rval = JSVAL_TRUE;<br>
  2304: }<br>
  2305: OBJ_DROP_PROPERTY(cx, obj2, prop);<br>
  2306: return rval;<br>
  2307: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2242: <br>
  2243: <br>
  2244: JS_PUBLIC_API(JSBool)<br>
  2245: JS_GetPropertyAttributes(JSContext *cx, JSObject *obj, const char *name,<br>
  2246: uintN *attrsp, JSBool *foundp)<br>
  2247: {<br>
  2248: CHECK_REQUEST(cx);<br>
  2249: return GetPropertyAttributes(cx, obj,<br>
  2250: js_Atomize(cx, name, strlen(name), 0),<br>
  2251: attrsp, foundp);<br>
  2252: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2308: <br>
  2309: static JSBool<br>
  2310: GetPropertyAttributes(JSContext *cx, JSObject *obj, JSAtom *atom,<br>
  2311: uintN *attrsp, JSBool *foundp)<br>
  2312: {<br>
  2313: JSObject *obj2;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2253: <br>
  2254: JS_PUBLIC_API(JSBool)<br>
  2255: JS_SetPropertyAttributes(JSContext *cx, JSObject *obj, const char *name,<br>
  2256: uintN attrs, JSBool *foundp)<br>
  2257: {<br>
  2258: CHECK_REQUEST(cx);<br>
  2259: return SetPropertyAttributes(cx, obj,<br>
  2260: js_Atomize(cx, name, strlen(name), 0),<br>
  2261: attrs, foundp);<br>
  2262: }<br>
  2263: <br>
  2264: JS_PUBLIC_API(JSBool)<br>
  2265: JS_LookupProperty(JSContext *cx, JSObject *obj, const char *name, jsval 
  *vp)<br>
  2266: {<br>
  2267: JSBool ok;<br>
  2268: JSObject *obj2;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2314: JSProperty *prop;<br>
  2315: JSBool ok;<br>
  2316: <br>
  2317: if (!atom)<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2269: JSProperty *prop;<br>
  2270: <br>
  2271: CHECK_REQUEST(cx);<br>
  2272: ok = LookupProperty(cx, obj, name, &amp;obj2, &amp;prop);<br>
  2273: if (ok)<br>
  2274: *vp = LookupResult(cx, obj, obj2, prop);<br>
  2275: return ok;<br>
  2276: }<br>
  2277: <br>
  2278: JS_PUBLIC_API(JSBool)<br>
  2279: JS_GetProperty(JSContext *cx, JSObject *obj, const char *name, jsval *vp)<br>
  2280: {<br>
  2281: JSAtom *atom;<br>
  2282: <br>
  2283: CHECK_REQUEST(cx);<br>
  2284: atom = js_Atomize(cx, name, strlen(name), 0);<br>
  2285: if (!atom)<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2318: return JS_FALSE;<br>
  2319: if (!OBJ_LOOKUP_PROPERTY(cx, obj, (jsid)atom, &amp;obj2, &amp;prop))<br>
  2320: return JS_FALSE;<br>
  2321: if (!prop || obj != obj2) {<br>
  2322: *foundp = JS_FALSE;<br>
  2323: if (prop)<br>
  2324: OBJ_DROP_PROPERTY(cx, obj2, prop);<br>
  2325: return JS_TRUE;<br>
  2326: }<br>
  2327: <br>
  2328: *foundp = JS_TRUE;<br>
  2329: ok = OBJ_GET_ATTRIBUTES(cx, obj, (jsid)atom, prop, attrsp);<br>
  2330: OBJ_DROP_PROPERTY(cx, obj, prop);<br>
  2331: return ok;<br>
  2332: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2286: return JS_FALSE;<br>
  2287: return OBJ_GET_PROPERTY(cx, obj, (jsid)atom, vp);<br>
  2288: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2333: <br>
  2334: static JSBool<br>
  2335: SetPropertyAttributes(JSContext *cx, JSObject *obj, JSAtom *atom,<br>
  2336: uintN attrs, JSBool *foundp)<br>
  2337: {<br>
  2338: JSObject *obj2;<br>
  2339: JSProperty *prop;<br>
  2340: JSBool ok;<br>
  2341: <br>
  2342: if (!atom)<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2289: <br>
  2290: JS_PUBLIC_API(JSBool)<br>
  2291: JS_SetProperty(JSContext *cx, JSObject *obj, const char *name, jsval *vp)<br>
  2292: {<br>
  2293: JSAtom *atom;<br>
  2294: <br>
  2295: CHECK_REQUEST(cx);<br>
  2296: atom = js_Atomize(cx, name, strlen(name), 0);<br>
  2297: if (!atom)<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2343: return JS_FALSE;<br>
  2344: if (!OBJ_LOOKUP_PROPERTY(cx, obj, (jsid)atom, &amp;obj2, &amp;prop))<br>
  2345: return JS_FALSE;<br>
  2346: if (!prop || obj != obj2) {<br>
  2347: *foundp = JS_FALSE;<br>
  2348: if (prop)<br>
  2349: OBJ_DROP_PROPERTY(cx, obj2, prop);<br>
  2350: return JS_TRUE;<br>
  2351: }<br>
  2352: <br>
  2353: *foundp = JS_TRUE;<br>
  2354: ok = OBJ_SET_ATTRIBUTES(cx, obj, (jsid)atom, prop, &amp;attrs);<br>
  2355: OBJ_DROP_PROPERTY(cx, obj, prop);<br>
  2356: return ok;<br>
  2357: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2298: return JS_FALSE;<br>
  2299: return OBJ_SET_PROPERTY(cx, obj, (jsid)atom, vp);<br>
  2300: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2358: <br>
  2359: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2301: <br>
  2302: JS_PUBLIC_API(JSBool)<br>
  2303: JS_DeleteProperty(JSContext *cx, JSObject *obj, const char *name)<br>
  2304: {<br>
  2305: jsval junk;<br>
  2306: <br>
  2307: CHECK_REQUEST(cx);<br>
  2308: return JS_DeleteProperty2(cx, obj, name, &amp;junk);<br>
  2309: }<br>
  2310: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2360: JS_PUBLIC_API(JSBool)<br>
  2361: JS_GetPropertyAttributes(JSContext *cx, JSObject *obj, const char *name,<br>
  2362: uintN *attrsp, JSBool *foundp)<br>
  2363: {<br>
  2364: CHECK_REQUEST(cx);<br>
  2365: return GetPropertyAttributes(cx, obj,<br>
  2366: js_Atomize(cx, name, strlen(name), 0),<br>
  2367: attrsp, foundp);<br>
  2368: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2311: JS_PUBLIC_API(JSBool)<br>
  2312: JS_DeleteProperty2(JSContext *cx, JSObject *obj, const char *name,<br>
  2313: jsval *rval)<br>
  2314: {<br>
  2315: JSAtom *atom;<br>
  2316: <br>
  2317: CHECK_REQUEST(cx);<br>
  2318: atom = js_Atomize(cx, name, strlen(name), 0);<br>
  2319: if (!atom)<br>
  2320: return JS_FALSE;<br>
  2321: return OBJ_DELETE_PROPERTY(cx, obj, (jsid)atom, rval);<br>
  2322: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2370: JS_PUBLIC_API(JSBool)<br>
  2371: JS_SetPropertyAttributes(JSContext *cx, JSObject *obj, const char *name,<br>
  2372: uintN attrs, JSBool *foundp)<br>
  2373: {<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2324: JS_PUBLIC_API(JSBool)<br>
  2325: JS_DefineUCProperty(JSContext *cx, JSObject *obj,<br>
  2326: const jschar *name, size_t namelen, jsval value,<br>
  2327: JSPropertyOp getter, JSPropertyOp setter,<br>
  2328: uintN attrs)<br>
  2329: {<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2374: CHECK_REQUEST(cx);<br>
  2375: return SetPropertyAttributes(cx, obj,<br>
  2376: js_Atomize(cx, name, strlen(name), 0),<br>
  2377: attrs, foundp);<br>
  2378: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2330: CHECK_REQUEST(cx);<br>
  2331: return DefineUCProperty(cx, obj, name, namelen, value, getter, setter,<br>
  2332: attrs, NULL);<br>
  2333: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2380: JS_PUBLIC_API(JSBool)<br>
  2381: JS_LookupProperty(JSContext *cx, JSObject *obj, const char *name, jsval 
  *vp)<br>
  2382: {<br>
  2383: JSBool ok;<br>
  2384: JSObject *obj2;<br>
  2385: JSProperty *prop;<br>
  2386: <br>
  2387: CHECK_REQUEST(cx);<br>
  2388: ok = LookupProperty(cx, obj, name, &amp;obj2, &amp;prop);<br>
  2389: if (ok)<br>
  2390: *vp = LookupResult(cx, obj, obj2, prop);<br>
  2391: return ok;<br>
  2392: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2335: JS_PUBLIC_API(JSBool)<br>
  2336: JS_GetUCPropertyAttributes(JSContext *cx, JSObject *obj,<br>
  2337: const jschar *name, size_t namelen,<br>
  2338: uintN *attrsp, JSBool *foundp)<br>
  2339: {<br>
  2340: CHECK_REQUEST(cx);<br>
  2341: return GetPropertyAttributes(cx, obj,<br>
  2342: js_AtomizeChars(cx, name, AUTO_NAMELEN(name,namelen), 0),<br>
  2343: attrsp, foundp);<br>
  2344: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2394: JS_PUBLIC_API(JSBool)<br>
  2395: JS_GetProperty(JSContext *cx, JSObject *obj, const char *name, jsval *vp)<br>
  2396: {<br>
  2397: JSAtom *atom;<br>
  2398: <br>
  2399: CHECK_REQUEST(cx);<br>
  2400: atom = js_Atomize(cx, name, strlen(name), 0);<br>
  2401: if (!atom)<br>
  2402: return JS_FALSE;<br>
  2403: return OBJ_GET_PROPERTY(cx, obj, (jsid)atom, vp);<br>
  2404: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2346: JS_PUBLIC_API(JSBool)<br>
  2347: JS_SetUCPropertyAttributes(JSContext *cx, JSObject *obj,<br>
  2348: const jschar *name, size_t namelen,<br>
  2349: uintN attrs, JSBool *foundp)<br>
  2350: {<br>
  2351: CHECK_REQUEST(cx);<br>
  2352: return SetPropertyAttributes(cx, obj,<br>
  2353: js_AtomizeChars(cx, name, AUTO_NAMELEN(name,namelen), 0),<br>
  2354: attrs, foundp);<br>
  2355: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2406: JS_PUBLIC_API(JSBool)<br>
  2407: JS_SetProperty(JSContext *cx, JSObject *obj, const char *name, jsval *vp)<br>
  2408: {<br>
  2409: JSAtom *atom;<br>
  2410: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2357: JS_PUBLIC_API(JSBool)<br>
  2358: JS_DefineUCPropertyWithTinyId(JSContext *cx, JSObject *obj,<br>
  2359: const jschar *name, size_t namelen,<br>
  2360: int8 tinyid, jsval value,<br>
  2361: JSPropertyOp getter, JSPropertyOp setter,<br>
  2362: uintN attrs)<br>
  2363: {<br>
  2364: JSBool ok;<br>
  2365: JSProperty *prop;<br>
  2366: JSScopeProperty *sprop;<br>
  2367: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2411: CHECK_REQUEST(cx);<br>
  2412: atom = js_Atomize(cx, name, strlen(name), 0);<br>
  2413: if (!atom)<br>
  2414: return JS_FALSE;<br>
  2415: return OBJ_SET_PROPERTY(cx, obj, (jsid)atom, vp);<br>
  2416: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2368: CHECK_REQUEST(cx);<br>
  2369: ok = DefineUCProperty(cx, obj, name, namelen, value, getter, setter, attrs,<br>
  2370: &amp;prop);<br>
  2371: if (ok &amp;&amp; prop) {<br>
  2372: if (OBJ_IS_NATIVE(obj)) {<br>
  2373: sprop = (JSScopeProperty *)prop;<br>
  2374: #ifdef JS_DOUBLE_HASHING<br>
  2375: sprop-&gt;attrs |= JSPROP_INDEX;<br>
  2376: sprop-&gt;tinyid = tinyid;<br>
  2377: #else<br>
  2378: sprop-&gt;id = INT_TO_JSVAL(tinyid);<br>
  2379: #endif<br>
  2380: }<br>
  2381: OBJ_DROP_PROPERTY(cx, obj, prop);<br>
  2382: }<br>
  2383: return ok;<br>
  2384: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2418: JS_PUBLIC_API(JSBool)<br>
  2419: JS_DeleteProperty(JSContext *cx, JSObject *obj, const char *name)<br>
  2420: {<br>
  2421: jsval junk;<br>
  2422: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2386: JS_PUBLIC_API(JSBool)<br>
  2387: JS_LookupUCProperty(JSContext *cx, JSObject *obj,<br>
  2388: const jschar *name, size_t namelen,<br>
  2389: jsval *vp)<br>
  2390: {<br>
  2391: JSBool ok;<br>
  2392: JSObject *obj2;<br>
  2393: JSProperty *prop;<br>
  2394: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2423: CHECK_REQUEST(cx);<br>
  2424: return JS_DeleteProperty2(cx, obj, name, &amp;junk);<br>
  2425: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2395: CHECK_REQUEST(cx);<br>
  2396: ok = LookupUCProperty(cx, obj, name, namelen, &amp;obj2, &amp;prop);<br>
  2397: if (ok)<br>
  2398: *vp = LookupResult(cx, obj, obj2, prop);<br>
  2399: return ok;<br>
  2400: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2427: JS_PUBLIC_API(JSBool)<br>
  2428: JS_DeleteProperty2(JSContext *cx, JSObject *obj, const char *name,<br>
  2429: jsval *rval)<br>
  2430: {<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2402: JS_PUBLIC_API(JSBool)<br>
  2403: JS_GetUCProperty(JSContext *cx, JSObject *obj,<br>
  2404: const jschar *name, size_t namelen,<br>
  2405: jsval *vp)<br>
  2406: {<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2433: CHECK_REQUEST(cx);<br>
  2434: atom = js_Atomize(cx, name, strlen(name), 0);<br>
  2435: if (!atom)<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2409: CHECK_REQUEST(cx);<br>
  2410: atom = js_AtomizeChars(cx, name, AUTO_NAMELEN(name,namelen), 0);<br>
  2411: if (!atom)<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2436: return JS_FALSE;<br>
  2437: return OBJ_DELETE_PROPERTY(cx, obj, (jsid)atom, rval);<br>
  2438: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2412: return JS_FALSE;<br>
  2413: return OBJ_GET_PROPERTY(cx, obj, (jsid)atom, vp);<br>
  2414: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2440: JS_PUBLIC_API(JSBool)<br>
  2441: JS_DefineUCProperty(JSContext *cx, JSObject *obj,<br>
  2442: const jschar *name, size_t namelen, jsval value,<br>
  2443: JSPropertyOp getter, JSPropertyOp setter,<br>
  2444: uintN attrs)<br>
  2445: {<br>
  2446: CHECK_REQUEST(cx);<br>
  2447: return DefineUCProperty(cx, obj, name, namelen, value, getter, setter,<br>
  2448: attrs, NULL);<br>
  2449: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2416: JS_PUBLIC_API(JSBool)<br>
  2417: JS_SetUCProperty(JSContext *cx, JSObject *obj,<br>
  2418: const jschar *name, size_t namelen,<br>
  2419: jsval *vp)<br>
  2420: {<br>
  2421: JSAtom *atom;<br>
  2422: <br>
  2423: CHECK_REQUEST(cx);<br>
  2424: atom = js_AtomizeChars(cx, name, AUTO_NAMELEN(name,namelen), 0);<br>
  2425: if (!atom)<br>
  2426: return JS_FALSE;<br>
  2427: return OBJ_SET_PROPERTY(cx, obj, (jsid)atom, vp);<br>
  2428: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2451: JS_PUBLIC_API(JSBool)<br>
  2452: JS_GetUCPropertyAttributes(JSContext *cx, JSObject *obj,<br>
  2453: const jschar *name, size_t namelen,<br>
  2454: uintN *attrsp, JSBool *foundp)<br>
  2455: {<br>
  2456: CHECK_REQUEST(cx);<br>
  2457: return GetPropertyAttributes(cx, obj,<br>
  2458: js_AtomizeChars(cx, name, AUTO_NAMELEN(name,namelen), 0),<br>
  2459: attrsp, foundp);<br>
  2460: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2430: JS_PUBLIC_API(JSBool)<br>
  2431: JS_DeleteUCProperty2(JSContext *cx, JSObject *obj,<br>
  2432: const jschar *name, size_t namelen,<br>
  2433: jsval *rval)<br>
  2434: {<br>
  2435: JSAtom *atom;<br>
  2436: <br>
  2437: CHECK_REQUEST(cx);<br>
  2438: atom = js_AtomizeChars(cx, name, AUTO_NAMELEN(name,namelen), 0);<br>
  2439: if (!atom)<br>
  2440: return JS_FALSE;<br>
  2441: return OBJ_DELETE_PROPERTY(cx, obj, (jsid)atom, rval);<br>
  2442: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2461: <br>
  2462: JS_PUBLIC_API(JSBool)<br>
  2463: JS_SetUCPropertyAttributes(JSContext *cx, JSObject *obj,<br>
  2464: const jschar *name, size_t namelen,<br>
  2465: uintN attrs, JSBool *foundp)<br>
  2466: {<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2443: <br>
  2444: JS_PUBLIC_API(JSObject *)<br>
  2445: JS_NewArrayObject(JSContext *cx, jsint length, jsval *vector)<br>
  2446: {<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2467: CHECK_REQUEST(cx);<br>
  2468: return SetPropertyAttributes(cx, obj,<br>
  2469: js_AtomizeChars(cx, name, AUTO_NAMELEN(name,namelen), 0),<br>
  2470: attrs, foundp);<br>
  2471: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2447: CHECK_REQUEST(cx);<br>
  2448: /* NB: jsuint cast does ToUint32. */<br>
  2449: return js_NewArrayObject(cx, (jsuint)length, vector);<br>
  2450: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2473: JS_PUBLIC_API(JSBool)<br>
  2474: JS_DefineUCPropertyWithTinyId(JSContext *cx, JSObject *obj,<br>
  2475: const jschar *name, size_t namelen,<br>
  2476: int8 tinyid, jsval value,<br>
  2477: JSPropertyOp getter, JSPropertyOp setter,<br>
  2478: uintN attrs)<br>
  2479: {<br>
  2480: JSBool ok;<br>
  2481: JSProperty *prop;<br>
  2482: JSScopeProperty *sprop;<br>
  2483: <br>
  2484: CHECK_REQUEST(cx);<br>
  2485: ok = DefineUCProperty(cx, obj, name, namelen, value, getter, setter, attrs,<br>
  2486: &amp;prop);<br>
  2487: if (ok &amp;&amp; prop) {<br>
  2488: if (OBJ_IS_NATIVE(obj)) {<br>
  2489: sprop = (JSScopeProperty *)prop;<br>
  2490: #ifdef JS_DOUBLE_HASHING<br>
  2491: sprop-&gt;attrs |= JSPROP_INDEX;<br>
  2492: sprop-&gt;tinyid = tinyid;<br>
  2493: #else<br>
  2494: sprop-&gt;id = INT_TO_JSVAL(tinyid);<br>
  2495: #endif<br>
  2496: }<br>
  2497: OBJ_DROP_PROPERTY(cx, obj, prop);<br>
  2498: }<br>
  2499: return ok;<br>
  2500: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2452: JS_PUBLIC_API(JSBool)<br>
  2453: JS_IsArrayObject(JSContext *cx, JSObject *obj)<br>
  2454: {<br>
  2455: CHECK_REQUEST(cx);<br>
  2456: return OBJ_GET_CLASS(cx, obj) == &amp;js_ArrayClass;<br>
  2457: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2502: JS_PUBLIC_API(JSBool)<br>
  2503: JS_LookupUCProperty(JSContext *cx, JSObject *obj,<br>
  2504: const jschar *name, size_t namelen,<br>
  2505: jsval *vp)<br>
  2506: {<br>
  2507: JSBool ok;<br>
  2508: JSObject *obj2;<br>
  2509: JSProperty *prop;<br>
  2510: <br>
  2511: CHECK_REQUEST(cx);<br>
  2512: ok = LookupUCProperty(cx, obj, name, namelen, &amp;obj2, &amp;prop);<br>
  2513: if (ok)<br>
  2514: *vp = LookupResult(cx, obj, obj2, prop);<br>
  2515: return ok;<br>
  2516: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2459: JS_PUBLIC_API(JSBool)<br>
  2460: JS_GetArrayLength(JSContext *cx, JSObject *obj, jsuint *lengthp)<br>
  2461: {<br>
  2462: CHECK_REQUEST(cx);<br>
  2463: return js_GetLengthProperty(cx, obj, lengthp);<br>
  2464: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2518: JS_PUBLIC_API(JSBool)<br>
  2519: JS_GetUCProperty(JSContext *cx, JSObject *obj,<br>
  2520: const jschar *name, size_t namelen,<br>
  2521: jsval *vp)<br>
  2522: {<br>
  2523: JSAtom *atom;<br>
  2524: <br>
  2525: CHECK_REQUEST(cx);<br>
  2526: atom = js_AtomizeChars(cx, name, AUTO_NAMELEN(name,namelen), 0);<br>
  2527: if (!atom)<br>
  2528: return JS_FALSE;<br>
  2529: return OBJ_GET_PROPERTY(cx, obj, (jsid)atom, vp);<br>
  2530: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2466: JS_PUBLIC_API(JSBool)<br>
  2467: JS_SetArrayLength(JSContext *cx, JSObject *obj, jsuint length)<br>
  2468: {<br>
  2469: CHECK_REQUEST(cx);<br>
  2470: return js_SetLengthProperty(cx, obj, length);<br>
  2471: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2532: JS_PUBLIC_API(JSBool)<br>
  2533: JS_SetUCProperty(JSContext *cx, JSObject *obj,<br>
  2534: const jschar *name, size_t namelen,<br>
  2535: jsval *vp)<br>
  2536: {<br>
  2537: JSAtom *atom;<br>
  2538: <br>
  2539: CHECK_REQUEST(cx);<br>
  2540: atom = js_AtomizeChars(cx, name, AUTO_NAMELEN(name,namelen), 0);<br>
  2541: if (!atom)<br>
  2542: return JS_FALSE;<br>
  2543: return OBJ_SET_PROPERTY(cx, obj, (jsid)atom, vp);<br>
  2544: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2473: JS_PUBLIC_API(JSBool)<br>
  2474: JS_HasArrayLength(JSContext *cx, JSObject *obj, jsuint *lengthp)<br>
  2475: {<br>
  2476: CHECK_REQUEST(cx);<br>
  2477: return js_HasLengthProperty(cx, obj, lengthp);<br>
  2478: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2546: JS_PUBLIC_API(JSBool)<br>
  2547: JS_DeleteUCProperty2(JSContext *cx, JSObject *obj,<br>
  2548: const jschar *name, size_t namelen,<br>
  2549: jsval *rval)<br>
  2550: {<br>
  2551: JSAtom *atom;<br>
  2552: <br>
  2553: CHECK_REQUEST(cx);<br>
  2554: atom = js_AtomizeChars(cx, name, AUTO_NAMELEN(name,namelen), 0);<br>
  2555: if (!atom)<br>
  2556: return JS_FALSE;<br>
  2557: return OBJ_DELETE_PROPERTY(cx, obj, (jsid)atom, rval);<br>
  2558: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2480: JS_PUBLIC_API(JSBool)<br>
  2481: JS_DefineElement(JSContext *cx, JSObject *obj, jsint index, jsval value,<br>
  2482: JSPropertyOp getter, JSPropertyOp setter, uintN attrs)<br>
  2483: {<br>
  2484: CHECK_REQUEST(cx);<br>
  2485: return OBJ_DEFINE_PROPERTY(cx, obj, INT_TO_JSVAL(index), value,<br>
  2486: getter, setter, attrs, NULL);<br>
  2487: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2559: <br>
  2560: JS_PUBLIC_API(JSObject *)<br>
  2561: JS_NewArrayObject(JSContext *cx, jsint length, jsval *vector)<br>
  2562: {<br>
  2563: CHECK_REQUEST(cx);<br>
  2564: /* NB: jsuint cast does ToUint32. */<br>
  2565: return js_NewArrayObject(cx, (jsuint)length, vector);<br>
  2566: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2488: <br>
  2489: JS_PUBLIC_API(JSBool)<br>
  2490: JS_AliasElement(JSContext *cx, JSObject *obj, const char *name, jsint 
  alias)<br>
  2491: {<br>
  2492: JSObject *obj2;<br>
  2493: JSProperty *prop;<br>
  2494: JSScope *scope;<br>
  2495: JSBool ok;<br>
  2496: <br>
  2497: CHECK_REQUEST(cx);<br>
  2498: /* XXXbe push this into jsobj.c or jsscope.c */<br>
  2499: if (!LookupProperty(cx, obj, name, &amp;obj2, &amp;prop))<br>
  2500: return JS_FALSE;<br>
  2501: if (!prop) {<br>
  2502: js_ReportIsNotDefined(cx, name);<br>
  2503: return JS_FALSE;<br>
  2504: }<br>
  2505: if (obj2 != obj || !OBJ_IS_NATIVE(obj2)) {<br>
  2506: char numBuf[12];<br>
  2507: OBJ_DROP_PROPERTY(cx, obj2, prop);<br>
  2508: JS_snprintf(numBuf, sizeof numBuf, &quot;%ld&quot;, (long)alias);<br>
  2509: JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL, JSMSG_CANT_ALIAS,<br>
  2510: numBuf, name, OBJ_GET_CLASS(cx, obj2)-&gt;name);<br>
  2511: return JS_FALSE;<br>
  2512: }<br>
  2513: scope = OBJ_SCOPE(obj);<br>
  2514: ok = (scope-&gt;ops-&gt;add(cx, scope, INT_TO_JSVAL(alias),<br>
  2515: (JSScopeProperty *)prop)<br>
  2516: != NULL);<br>
  2517: OBJ_DROP_PROPERTY(cx, obj, prop);<br>
  2518: return ok;<br>
  2519: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2568: JS_PUBLIC_API(JSBool)<br>
  2569: JS_IsArrayObject(JSContext *cx, JSObject *obj)<br>
  2570: {<br>
  2571: CHECK_REQUEST(cx);<br>
  2572: return OBJ_GET_CLASS(cx, obj) == &amp;js_ArrayClass;<br>
  2573: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2521: JS_PUBLIC_API(JSBool)<br>
  2522: JS_LookupElement(JSContext *cx, JSObject *obj, jsint index, jsval *vp)<br>
  2523: {<br>
  2524: JSBool ok;<br>
  2525: JSObject *obj2;<br>
  2526: JSProperty *prop;<br>
  2527: <br>
  2528: CHECK_REQUEST(cx);<br>
  2529: ok = OBJ_LOOKUP_PROPERTY(cx, obj, INT_TO_JSVAL(index), &amp;obj2, &amp;prop);<br>
  2530: if (ok)<br>
  2531: *vp = LookupResult(cx, obj, obj2, prop);<br>
  2532: return ok;<br>
  2533: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2575: JS_PUBLIC_API(JSBool)<br>
  2576: JS_GetArrayLength(JSContext *cx, JSObject *obj, jsuint *lengthp)<br>
  2577: {<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2535: JS_PUBLIC_API(JSBool)<br>
  2536: JS_GetElement(JSContext *cx, JSObject *obj, jsint index, jsval *vp)<br>
  2537: {<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2578: CHECK_REQUEST(cx);<br>
  2579: return js_GetLengthProperty(cx, obj, lengthp);<br>
  2580: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2538: CHECK_REQUEST(cx);<br>
  2539: return OBJ_GET_PROPERTY(cx, obj, INT_TO_JSVAL(index), vp);<br>
  2540: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2582: JS_PUBLIC_API(JSBool)<br>
  2583: JS_SetArrayLength(JSContext *cx, JSObject *obj, jsuint length)<br>
  2584: {<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2542: JS_PUBLIC_API(JSBool)<br>
  2543: JS_SetElement(JSContext *cx, JSObject *obj, jsint index, jsval *vp)<br>
  2544: {<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2585: CHECK_REQUEST(cx);<br>
  2586: return js_SetLengthProperty(cx, obj, length);<br>
  2587: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2545: CHECK_REQUEST(cx);<br>
  2546: return OBJ_SET_PROPERTY(cx, obj, INT_TO_JSVAL(index), vp);<br>
  2547: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2589: JS_PUBLIC_API(JSBool)<br>
  2590: JS_HasArrayLength(JSContext *cx, JSObject *obj, jsuint *lengthp)<br>
  2591: {<br>
  2592: CHECK_REQUEST(cx);<br>
  2593: return js_HasLengthProperty(cx, obj, lengthp);<br>
  2594: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2549: JS_PUBLIC_API(JSBool)<br>
  2550: JS_DeleteElement(JSContext *cx, JSObject *obj, jsint index)<br>
  2551: {<br>
  2552: jsval junk;<br>
  2553: <br>
  2554: CHECK_REQUEST(cx);<br>
  2555: return JS_DeleteElement2(cx, obj, index, &amp;junk);<br>
  2556: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2596: JS_PUBLIC_API(JSBool)<br>
  2597: JS_DefineElement(JSContext *cx, JSObject *obj, jsint index, jsval value,<br>
  2598: JSPropertyOp getter, JSPropertyOp setter, uintN attrs)<br>
  2599: {<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2558: JS_PUBLIC_API(JSBool)<br>
  2559: JS_DeleteElement2(JSContext *cx, JSObject *obj, jsint index, jsval *rval)<br>
  2560: {<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2600: CHECK_REQUEST(cx);<br>
  2601: return OBJ_DEFINE_PROPERTY(cx, obj, INT_TO_JSVAL(index), value,<br>
  2602: getter, setter, attrs, NULL);<br>
  2603: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2561: CHECK_REQUEST(cx);<br>
  2562: return OBJ_DELETE_PROPERTY(cx, obj, INT_TO_JSVAL(index), rval);<br>
  2563: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2604: <br>
  2605: JS_PUBLIC_API(JSBool)<br>
  2606: JS_AliasElement(JSContext *cx, JSObject *obj, const char *name, jsint 
  alias)<br>
  2607: {<br>
  2608: JSObject *obj2;<br>
  2609: JSProperty *prop;<br>
  2610: JSScope *scope;<br>
  2611: JSBool ok;<br>
  2612: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2564: <br>
  2565: JS_PUBLIC_API(void)<br>
  2566: JS_ClearScope(JSContext *cx, JSObject *obj)<br>
  2567: {<br>
  2568: CHECK_REQUEST(cx);<br>
  2569: <br>
  2570: if (obj-&gt;map-&gt;ops-&gt;clear)<br>
  2571: obj-&gt;map-&gt;ops-&gt;clear(cx, obj);<br>
  2572: }<br>
  2573: <br>
  2574: JS_PUBLIC_API(JSIdArray *)<br>
  2575: JS_Enumerate(JSContext *cx, JSObject *obj)<br>
  2576: {<br>
  2577: jsint i, n;<br>
  2578: jsval iter_state, num_properties;<br>
  2579: jsid id;<br>
  2580: JSIdArray *ida;<br>
  2581: jsval *vector;<br>
  2582: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2613: CHECK_REQUEST(cx);<br>
  2614: /* XXXbe push this into jsobj.c or jsscope.c */<br>
  2615: if (!LookupProperty(cx, obj, name, &amp;obj2, &amp;prop))<br>
  2616: return JS_FALSE;<br>
  2617: if (!prop) {<br>
  2618: js_ReportIsNotDefined(cx, name);<br>
  2619: return JS_FALSE;<br>
  2620: }<br>
  2621: if (obj2 != obj || !OBJ_IS_NATIVE(obj2)) {<br>
  2622: char numBuf[12];<br>
  2623: OBJ_DROP_PROPERTY(cx, obj2, prop);<br>
  2624: JS_snprintf(numBuf, sizeof numBuf, &quot;%ld&quot;, (long)alias);<br>
  2625: JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL, JSMSG_CANT_ALIAS,<br>
  2626: numBuf, name, OBJ_GET_CLASS(cx, obj2)-&gt;name);<br>
  2627: return JS_FALSE;<br>
  2628: }<br>
  2629: scope = OBJ_SCOPE(obj);<br>
  2630: ok = (scope-&gt;ops-&gt;add(cx, scope, INT_TO_JSVAL(alias),<br>
  2631: (JSScopeProperty *)prop)<br>
  2632: != NULL);<br>
  2633: OBJ_DROP_PROPERTY(cx, obj, prop);<br>
  2634: return ok;<br>
  2635: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2583: CHECK_REQUEST(cx);<br>
  2584: <br>
  2585: ida = NULL;<br>
  2586: iter_state = JSVAL_NULL;<br>
  2587: <br>
  2588: /* Get the number of properties to enumerate. */<br>
  2589: if (!OBJ_ENUMERATE(cx, obj, JSENUMERATE_INIT, &amp;iter_state, &amp;num_properties))<br>
  2590: goto error;<br>
  2591: if (!JSVAL_IS_INT(num_properties)) {<br>
  2592: JS_ASSERT(0);<br>
  2593: goto error;<br>
  2594: }<br>
  2595: <br>
  2596: /* Grow as needed if we don't know the exact amount ahead of time. */<br>
  2597: n = JSVAL_TO_INT(num_properties);<br>
  2598: if (n &lt;= 0)<br>
  2599: n = 8;<br>
  2600: <br>
  2601: /* Create an array of jsids large enough to hold all the properties */<br>
  2602: ida = js_NewIdArray(cx, n);<br>
  2603: if (!ida)<br>
  2604: goto error;<br>
  2605: <br>
  2606: i = 0;<br>
  2607: vector = &amp;ida-&gt;vector[0];<br>
  2608: while (1) {<br>
  2609: if (i == ida-&gt;length) {<br>
  2610: /* Grow length by factor of 1.5 instead of doubling. */<br>
  2611: jsint newlen = ida-&gt;length + (((jsuint)ida-&gt;length + 1) &gt;&gt; 
  1);<br>
  2612: ida = js_GrowIdArray(cx, ida, newlen);<br>
  2613: if (!ida)<br>
  2614: goto error;<br>
  2615: vector = &amp;ida-&gt;vector[0];<br>
  2616: }<br>
  2617: <br>
  2618: if (!OBJ_ENUMERATE(cx, obj, JSENUMERATE_NEXT, &amp;iter_state, &amp;id))<br>
  2619: goto error;<br>
  2620: <br>
  2621: /* No more jsid's to enumerate ? */<br>
  2622: if (iter_state == JSVAL_NULL)<br>
  2623: break;<br>
  2624: vector[i++] = id;<br>
  2625: }<br>
  2626: ida-&gt;length = i;<br>
  2627: return ida;<br>
  2628: <br>
  2629: error:<br>
  2630: if (iter_state != JSVAL_NULL)<br>
  2631: OBJ_ENUMERATE(cx, obj, JSENUMERATE_DESTROY, &amp;iter_state, 0);<br>
  2632: if (ida)<br>
  2633: JS_DestroyIdArray(cx, ida);<br>
  2634: return NULL;<br>
  2635: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2637: JS_PUBLIC_API(JSBool)<br>
  2638: JS_LookupElement(JSContext *cx, JSObject *obj, jsint index, jsval *vp)<br>
  2639: {<br>
  2640: JSBool ok;<br>
  2641: JSObject *obj2;<br>
  2642: JSProperty *prop;<br>
  2643: <br>
  2644: CHECK_REQUEST(cx);<br>
  2645: ok = OBJ_LOOKUP_PROPERTY(cx, obj, INT_TO_JSVAL(index), &amp;obj2, &amp;prop);<br>
  2646: if (ok)<br>
  2647: *vp = LookupResult(cx, obj, obj2, prop);<br>
  2648: return ok;<br>
  2649: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2637: JS_PUBLIC_API(JSBool)<br>
  2638: JS_CheckAccess(JSContext *cx, JSObject *obj, jsid id, JSAccessMode mode,<br>
  2639: jsval *vp, uintN *attrsp)<br>
  2640: {<br>
  2641: CHECK_REQUEST(cx);<br>
  2642: return OBJ_CHECK_ACCESS(cx, obj, id, mode, vp, attrsp);<br>
  2643: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2650: <br>
  2651: JS_PUBLIC_API(JSBool)<br>
  2652: JS_GetElement(JSContext *cx, JSObject *obj, jsint index, jsval *vp)<br>
  2653: {<br>
  2654: CHECK_REQUEST(cx);<br>
  2655: return OBJ_GET_PROPERTY(cx, obj, INT_TO_JSVAL(index), vp);<br>
  2656: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2644: <br>
  2645: JS_PUBLIC_API(JSFunction *)<br>
  2646: JS_NewFunction(JSContext *cx, JSNative native, uintN nargs, uintN flags,<br>
  2647: JSObject *parent, const char *name)<br>
  2648: {<br>
  2649: JSAtom *atom;<br>
  2650: <br>
  2651: CHECK_REQUEST(cx);<br>
  2652: <br>
  2653: if (!name) {<br>
  2654: atom = NULL;<br>
  2655: } else {<br>
  2656: atom = js_Atomize(cx, name, strlen(name), 0);<br>
  2657: if (!atom)<br>
  2658: return NULL;<br>
  2659: }<br>
  2660: return js_NewFunction(cx, NULL, native, nargs, flags, parent, atom);<br>
  2661: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2657: <br>
  2658: JS_PUBLIC_API(JSBool)<br>
  2659: JS_SetElement(JSContext *cx, JSObject *obj, jsint index, jsval *vp)<br>
  2660: {<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2662: <br>
  2663: JS_PUBLIC_API(JSObject *)<br>
  2664: JS_CloneFunctionObject(JSContext *cx, JSObject *funobj, JSObject *parent)<br>
  2665: {<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2661: CHECK_REQUEST(cx);<br>
  2662: return OBJ_SET_PROPERTY(cx, obj, INT_TO_JSVAL(index), vp);<br>
  2663: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2666: CHECK_REQUEST(cx);<br>
  2667: if (OBJ_GET_CLASS(cx, funobj) != &amp;js_FunctionClass) {<br>
  2668: /* Indicate we cannot clone this object. */<br>
  2669: return funobj;<br>
  2670: }<br>
  2671: return js_CloneFunctionObject(cx, funobj, parent);<br>
  2672: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2664: <br>
  2665: JS_PUBLIC_API(JSBool)<br>
  2666: JS_DeleteElement(JSContext *cx, JSObject *obj, jsint index)<br>
  2667: {<br>
  2668: jsval junk;<br>
  2669: <br>
  2670: CHECK_REQUEST(cx);<br>
  2671: return JS_DeleteElement2(cx, obj, index, &amp;junk);<br>
  2672: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2673: <br>
  2674: JS_PUBLIC_API(JSObject *)<br>
  2675: JS_GetFunctionObject(JSFunction *fun)<br>
  2676: {<br>
  2677: return fun-&gt;object;<br>
  2678: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2673: <br>
  2674: JS_PUBLIC_API(JSBool)<br>
  2675: JS_DeleteElement2(JSContext *cx, JSObject *obj, jsint index, jsval *rval)<br>
  2676: {<br>
  2677: CHECK_REQUEST(cx);<br>
  2678: return OBJ_DELETE_PROPERTY(cx, obj, INT_TO_JSVAL(index), rval);<br>
  2679: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2679: <br>
  2680: JS_PUBLIC_API(const char *)<br>
  2681: JS_GetFunctionName(JSFunction *fun)<br>
  2682: {<br>
  2683: return fun-&gt;atom<br>
  2684: ? JS_GetStringBytes(ATOM_TO_STRING(fun-&gt;atom))<br>
  2685: : js_anonymous_str;<br>
  2686: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2680: <br>
  2681: JS_PUBLIC_API(void)<br>
  2682: JS_ClearScope(JSContext *cx, JSObject *obj)<br>
  2683: {<br>
  2684: CHECK_REQUEST(cx);<br>
  2685: <br>
  2686: if (obj-&gt;map-&gt;ops-&gt;clear)<br>
  2687: obj-&gt;map-&gt;ops-&gt;clear(cx, obj);<br>
  2688: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2687: <br>
  2688: JS_PUBLIC_API(JSBool)<br>
  2689: JS_DefineFunctions(JSContext *cx, JSObject *obj, JSFunctionSpec *fs)<br>
  2690: {<br>
  2691: JSFunction *fun;<br>
  2692: <br>
  2693: CHECK_REQUEST(cx);<br>
  2694: for (; fs-&gt;name; fs++) {<br>
  2695: fun = JS_DefineFunction(cx, obj, fs-&gt;name, fs-&gt;call, fs-&gt;nargs,<br>
  2696: fs-&gt;flags);<br>
  2697: if (!fun)<br>
  2698: return JS_FALSE;<br>
  2699: fun-&gt;extra = fs-&gt;extra;<br>
  2700: }<br>
  2701: return JS_TRUE;<br>
  2702: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2689: <br>
  2690: JS_PUBLIC_API(JSIdArray *)<br>
  2691: JS_Enumerate(JSContext *cx, JSObject *obj)<br>
  2692: {<br>
  2693: jsint i, n;<br>
  2694: jsval iter_state, num_properties;<br>
  2695: jsid id;<br>
  2696: JSIdArray *ida;<br>
  2697: jsval *vector;<br>
  2698: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2703: <br>
  2704: JS_PUBLIC_API(JSFunction *)<br>
  2705: JS_DefineFunction(JSContext *cx, JSObject *obj, const char *name, JSNative 
  call,<br>
  2706: uintN nargs, uintN attrs)<br>
  2707: {<br>
  2708: JSAtom *atom;<br>
  2709: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2699: CHECK_REQUEST(cx);<br>
  2700: <br>
  2701: ida = NULL;<br>
  2702: iter_state = JSVAL_NULL;<br>
  2703: <br>
  2704: /* Get the number of properties to enumerate. */<br>
  2705: if (!OBJ_ENUMERATE(cx, obj, JSENUMERATE_INIT, &amp;iter_state, &amp;num_properties))<br>
  2706: goto error;<br>
  2707: if (!JSVAL_IS_INT(num_properties)) {<br>
  2708: JS_ASSERT(0);<br>
  2709: goto error;<br>
  2710: }<br>
  2711: <br>
  2712: /* Grow as needed if we don't know the exact amount ahead of time. */<br>
  2713: n = JSVAL_TO_INT(num_properties);<br>
  2714: if (n &lt;= 0)<br>
  2715: n = 8;<br>
  2716: <br>
  2717: /* Create an array of jsids large enough to hold all the properties */<br>
  2718: ida = js_NewIdArray(cx, n);<br>
  2719: if (!ida)<br>
  2720: goto error;<br>
  2721: <br>
  2722: i = 0;<br>
  2723: vector = &amp;ida-&gt;vector[0];<br>
  2724: while (1) {<br>
  2725: if (i == ida-&gt;length) {<br>
  2726: /* Grow length by factor of 1.5 instead of doubling. */<br>
  2727: jsint newlen = ida-&gt;length + (((jsuint)ida-&gt;length + 1) &gt;&gt; 
  1);<br>
  2728: ida = js_GrowIdArray(cx, ida, newlen);<br>
  2729: if (!ida)<br>
  2730: goto error;<br>
  2731: vector = &amp;ida-&gt;vector[0];<br>
  2732: }<br>
  2733: <br>
  2734: if (!OBJ_ENUMERATE(cx, obj, JSENUMERATE_NEXT, &amp;iter_state, &amp;id))<br>
  2735: goto error;<br>
  2736: <br>
  2737: /* No more jsid's to enumerate ? */<br>
  2738: if (iter_state == JSVAL_NULL)<br>
  2739: break;<br>
  2740: vector[i++] = id;<br>
  2741: }<br>
  2742: ida-&gt;length = i;<br>
  2743: return ida;<br>
  2744: <br>
  2745: error:<br>
  2746: if (iter_state != JSVAL_NULL)<br>
  2747: OBJ_ENUMERATE(cx, obj, JSENUMERATE_DESTROY, &amp;iter_state, 0);<br>
  2748: if (ida)<br>
  2749: JS_DestroyIdArray(cx, ida);<br>
  2750: return NULL;<br>
  2751: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2710: CHECK_REQUEST(cx);<br>
  2711: atom = js_Atomize(cx, name, strlen(name), 0);<br>
  2712: if (!atom)<br>
  2713: return NULL;<br>
  2714: return js_DefineFunction(cx, obj, atom, call, nargs, attrs);<br>
  2715: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2752: <br>
  2753: JS_PUBLIC_API(JSBool)<br>
  2754: JS_CheckAccess(JSContext *cx, JSObject *obj, jsid id, JSAccessMode mode,<br>
  2755: jsval *vp, uintN *attrsp)<br>
  2756: {<br>
  2757: CHECK_REQUEST(cx);<br>
  2758: return OBJ_CHECK_ACCESS(cx, obj, id, mode, vp, attrsp);<br>
  2759: }<br>
  2760: <br>
  2761: JS_PUBLIC_API(JSFunction *)<br>
  2762: JS_NewFunction(JSContext *cx, JSNative native, uintN nargs, uintN flags,<br>
  2763: JSObject *parent, const char *name)<br>
  2764: {<br>
  2765: JSAtom *atom;<br>
  2766: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2716: <br>
  2717: static JSScript *<br>
  2718: CompileTokenStream(JSContext *cx, JSObject *obj, JSTokenStream *ts,<br>
  2719: void *tempMark, JSBool *eofp)<br>
  2720: {<br>
  2721: JSBool eof;<br>
  2722: JSCodeGenerator cg;<br>
  2723: JSScript *script;<br>
  2724: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2767: CHECK_REQUEST(cx);<br>
  2768: <br>
  2769: if (!name) {<br>
  2770: atom = NULL;<br>
  2771: } else {<br>
  2772: atom = js_Atomize(cx, name, strlen(name), 0);<br>
  2773: if (!atom)<br>
  2774: return NULL;<br>
  2775: }<br>
  2776: return js_NewFunction(cx, NULL, native, nargs, flags, parent, atom);<br>
  2777: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2725: CHECK_REQUEST(cx);<br>
  2726: eof = JS_FALSE;<br>
  2727: if (!js_InitCodeGenerator(cx, &amp;cg, ts-&gt;filename, ts-&gt;lineno,<br>
  2728: ts-&gt;principals)) {<br>
  2729: script = NULL;<br>
  2730: goto out;<br>
  2731: }<br>
  2732: if (!js_CompileTokenStream(cx, obj, ts, &amp;cg)) {<br>
  2733: script = NULL;<br>
  2734: eof = (ts-&gt;flags &amp; TSF_EOF) != 0;<br>
  2735: goto out;<br>
  2736: }<br>
  2737: script = js_NewScriptFromCG(cx, &amp;cg, NULL);<br>
  2738: out:<br>
  2739: if (eofp)<br>
  2740: *eofp = eof;<br>
  2741: if (!js_CloseTokenStream(cx, ts)) {<br>
  2742: if (script)<br>
  2743: js_DestroyScript(cx, script);<br>
  2744: script = NULL;<br>
  2745: }<br>
  2746: cg.tempMark = tempMark;<br>
  2747: js_FinishCodeGenerator(cx, &amp;cg);<br>
  2748: return script;<br>
  2749: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2778: <br>
  2779: JS_PUBLIC_API(JSObject *)<br>
  2780: JS_CloneFunctionObject(JSContext *cx, JSObject *funobj, JSObject *parent)<br>
  2781: {<br>
  2782: CHECK_REQUEST(cx);<br>
  2783: if (OBJ_GET_CLASS(cx, funobj) != &amp;js_FunctionClass) {<br>
  2784: /* Indicate we cannot clone this object. */<br>
  2785: return funobj;<br>
  2786: }<br>
  2787: return js_CloneFunctionObject(cx, funobj, parent);<br>
  2788: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2750: <br>
  2751: JS_PUBLIC_API(JSScript *)<br>
  2752: JS_CompileScript(JSContext *cx, JSObject *obj,<br>
  2753: const char *bytes, size_t length,<br>
  2754: const char *filename, uintN lineno)<br>
  2755: {<br>
  2756: jschar *chars;<br>
  2757: JSScript *script;<br>
  2758: <br>
  2759: CHECK_REQUEST(cx);<br>
  2760: chars = js_InflateString(cx, bytes, length);<br>
  2761: if (!chars)<br>
  2762: return NULL;<br>
  2763: script = JS_CompileUCScript(cx, obj, chars, length, filename, lineno);<br>
  2764: JS_free(cx, chars);<br>
  2765: return script;<br>
  2766: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2789: <br>
  2790: JS_PUBLIC_API(JSObject *)<br>
  2791: JS_GetFunctionObject(JSFunction *fun)<br>
  2792: {<br>
  2793: return fun-&gt;object;<br>
  2794: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2767: <br>
  2768: JS_PUBLIC_API(JSScript *)<br>
  2769: JS_CompileScriptForPrincipals(JSContext *cx, JSObject *obj,<br>
  2770: JSPrincipals *principals,<br>
  2771: const char *bytes, size_t length,<br>
  2772: const char *filename, uintN lineno)<br>
  2773: {<br>
  2774: jschar *chars;<br>
  2775: JSScript *script;<br>
  2776: <br>
  2777: CHECK_REQUEST(cx);<br>
  2778: chars = js_InflateString(cx, bytes, length);<br>
  2779: if (!chars)<br>
  2780: return NULL;<br>
  2781: script = JS_CompileUCScriptForPrincipals(cx, obj, principals,<br>
  2782: chars, length, filename, lineno);<br>
  2783: JS_free(cx, chars);<br>
  2784: return script;<br>
  2785: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2795: <br>
  2796: JS_PUBLIC_API(const char *)<br>
  2797: JS_GetFunctionName(JSFunction *fun)<br>
  2798: {<br>
  2799: return fun-&gt;atom<br>
  2800: ? JS_GetStringBytes(ATOM_TO_STRING(fun-&gt;atom))<br>
  2801: : js_anonymous_str;<br>
  2802: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2786: <br>
  2787: JS_PUBLIC_API(JSScript *)<br>
  2788: JS_CompileUCScript(JSContext *cx, JSObject *obj,<br>
  2789: const jschar *chars, size_t length,<br>
  2790: const char *filename, uintN lineno)<br>
  2791: {<br>
  2792: CHECK_REQUEST(cx);<br>
  2793: return JS_CompileUCScriptForPrincipals(cx, obj, NULL, chars, length,<br>
  2794: filename, lineno);<br>
  2795: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2803: <br>
  2804: JS_PUBLIC_API(JSBool)<br>
  2805: JS_DefineFunctions(JSContext *cx, JSObject *obj, JSFunctionSpec *fs)<br>
  2806: {<br>
  2807: JSFunction *fun;<br>
  2808: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2796: <br>
  2797: JS_PUBLIC_API(JSScript *)<br>
  2798: JS_CompileUCScriptForPrincipals(JSContext *cx, JSObject *obj,<br>
  2799: JSPrincipals *principals,<br>
  2800: const jschar *chars, size_t length,<br>
  2801: const char *filename, uintN lineno)<br>
  2802: {<br>
  2803: void *mark;<br>
  2804: JSTokenStream *ts;<br>
  2805: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2809: CHECK_REQUEST(cx);<br>
  2810: for (; fs-&gt;name; fs++) {<br>
  2811: fun = JS_DefineFunction(cx, obj, fs-&gt;name, fs-&gt;call, fs-&gt;nargs,<br>
  2812: fs-&gt;flags);<br>
  2813: if (!fun)<br>
  2814: return JS_FALSE;<br>
  2815: fun-&gt;extra = fs-&gt;extra;<br>
  2816: }<br>
  2817: return JS_TRUE;<br>
  2818: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2806: CHECK_REQUEST(cx);<br>
  2807: mark = JS_ARENA_MARK(&amp;cx-&gt;tempPool);<br>
  2808: ts = js_NewTokenStream(cx, chars, length, filename, lineno, principals);<br>
  2809: if (!ts)<br>
  2810: return NULL;<br>
  2811: return CompileTokenStream(cx, obj, ts, mark, NULL);<br>
  2812: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2819: <br>
  2820: JS_PUBLIC_API(JSFunction *)<br>
  2821: JS_DefineFunction(JSContext *cx, JSObject *obj, const char *name, JSNative 
  call,<br>
  2822: uintN nargs, uintN attrs)<br>
  2823: {<br>
  2824: JSAtom *atom;<br>
  2825: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2813: <br>
  2814: extern JS_PUBLIC_API(JSBool)<br>
  2815: JS_BufferIsCompilableUnit(JSContext *cx, JSObject *obj,<br>
  2816: const char *bytes, size_t length)<br>
  2817: {<br>
  2818: jschar *chars;<br>
  2819: JSScript *script;<br>
  2820: void *mark;<br>
  2821: JSTokenStream *ts;<br>
  2822: JSErrorReporter older;<br>
  2823: JSBool hitEOF, result;<br>
  2824: JSExceptionState *exnState;<br>
  2825: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2826: CHECK_REQUEST(cx);<br>
  2827: atom = js_Atomize(cx, name, strlen(name), 0);<br>
  2828: if (!atom)<br>
  2829: return NULL;<br>
  2830: return js_DefineFunction(cx, obj, atom, call, nargs, attrs);<br>
  2831: }<br>
  2832: <br>
  2833: static JSScript *<br>
  2834: CompileTokenStream(JSContext *cx, JSObject *obj, JSTokenStream *ts,<br>
  2835: void *tempMark, JSBool *eofp)<br>
  2836: {<br>
  2837: JSBool eof;<br>
  2838: JSCodeGenerator cg;<br>
  2839: JSScript *script;<br>
  2840: <br>
  2841: CHECK_REQUEST(cx);<br>
  2842: eof = JS_FALSE;<br>
  2843: if (!js_InitCodeGenerator(cx, &amp;cg, ts-&gt;filename, ts-&gt;lineno,<br>
  2844: ts-&gt;principals)) {<br>
  2845: script = NULL;<br>
  2846: goto out;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2826: CHECK_REQUEST(cx);<br>
  2827: mark = JS_ARENA_MARK(&amp;cx-&gt;tempPool);<br>
  2828: chars = js_InflateString(cx, bytes, length);<br>
  2829: if (!chars)<br>
  2830: return JS_TRUE;<br>
  2831: exnState = JS_SaveExceptionState(cx);<br>
  2832: ts = js_NewTokenStream(cx, chars, length, NULL, 0, NULL);<br>
  2833: if (!ts) {<br>
  2834: result = JS_TRUE;<br>
  2835: goto out;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2847: }<br>
  2848: if (!js_CompileTokenStream(cx, obj, ts, &amp;cg)) {<br>
  2849: script = NULL;<br>
  2850: eof = (ts-&gt;flags &amp; TSF_EOF) != 0;<br>
  2851: goto out;<br>
  2852: }<br>
  2853: script = js_NewScriptFromCG(cx, &amp;cg, NULL);<br>
  2854: out:<br>
  2855: if (eofp)<br>
  2856: *eofp = eof;<br>
  2857: if (!js_CloseTokenStream(cx, ts)) {<br>
  2858: if (script)<br>
  2859: js_DestroyScript(cx, script);<br>
  2860: script = NULL;<br>
  2861: }<br>
  2862: cg.tempMark = tempMark;<br>
  2863: js_FinishCodeGenerator(cx, &amp;cg);<br>
  2864: return script;<br>
  2865: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2836: }<br>
  2837: <br>
  2838: older = JS_SetErrorReporter(cx, NULL);<br>
  2839: script = CompileTokenStream(cx, obj, ts, mark, &amp;hitEOF);<br>
  2840: JS_SetErrorReporter(cx, older);<br>
  2841: <br>
  2842: if (script == NULL) {<br>
  2843: /*<br>
  2844: * We ran into an error, but it was because we ran out of source,<br>
  2845: * and not for some other reason. For this case (and this case<br>
  2846: * only) we return false, so the calling function knows to try to<br>
  2847: * collect more source.<br>
  2848: */<br>
  2849: result = hitEOF ? JS_FALSE : JS_TRUE;<br>
  2850: } else {<br>
  2851: result = JS_TRUE;<br>
  2852: js_DestroyScript(cx, script);<br>
  2853: }<br>
  2854: <br>
  2855: out:<br>
  2856: JS_free(cx, chars);<br>
  2857: JS_RestoreExceptionState(cx, exnState);<br>
  2858: return result;<br>
  2859: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2867: JS_PUBLIC_API(JSScript *)<br>
  2868: JS_CompileScript(JSContext *cx, JSObject *obj,<br>
  2869: const char *bytes, size_t length,<br>
  2870: const char *filename, uintN lineno)<br>
  2871: {<br>
  2872: jschar *chars;<br>
  2873: JSScript *script;<br>
  2874: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2861: JS_PUBLIC_API(JSScript *)<br>
  2862: JS_CompileFile(JSContext *cx, JSObject *obj, const char *filename)<br>
  2863: {<br>
  2864: void *mark;<br>
  2865: JSTokenStream *ts;<br>
  2866: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2875: CHECK_REQUEST(cx);<br>
  2876: chars = js_InflateString(cx, bytes, length);<br>
  2877: if (!chars)<br>
  2878: return NULL;<br>
  2879: script = JS_CompileUCScript(cx, obj, chars, length, filename, lineno);<br>
  2880: JS_free(cx, chars);<br>
  2881: return script;<br>
  2882: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2867: CHECK_REQUEST(cx);<br>
  2868: mark = JS_ARENA_MARK(&amp;cx-&gt;tempPool);<br>
  2869: ts = js_NewFileTokenStream(cx, filename, stdin);<br>
  2870: if (!ts)<br>
  2871: return NULL;<br>
  2872: return CompileTokenStream(cx, obj, ts, mark, NULL);<br>
  2873: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2884: JS_PUBLIC_API(JSScript *)<br>
  2885: JS_CompileScriptForPrincipals(JSContext *cx, JSObject *obj,<br>
  2886: JSPrincipals *principals,<br>
  2887: const char *bytes, size_t length,<br>
  2888: const char *filename, uintN lineno)<br>
  2889: {<br>
  2890: jschar *chars;<br>
  2891: JSScript *script;<br>
  2892: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2875: JS_PUBLIC_API(JSScript *)<br>
  2876: JS_CompileFileHandle(JSContext *cx, JSObject *obj, const char *filename,<br>
  2877: FILE *fh)<br>
  2878: {<br>
  2879: return JS_CompileFileHandleForPrincipals(cx, obj, filename, fh, NULL);<br>
  2880: }<br>
  2881: <br>
  2882: JS_PUBLIC_API(JSScript *)<br>
  2883: JS_CompileFileHandleForPrincipals(JSContext *cx, JSObject *obj,<br>
  2884: const char *filename, FILE *fh,<br>
  2885: JSPrincipals *principals)<br>
  2886: {<br>
  2887: void *mark;<br>
  2888: JSTokenStream *ts;<br>
  2889: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2893: CHECK_REQUEST(cx);<br>
  2894: chars = js_InflateString(cx, bytes, length);<br>
  2895: if (!chars)<br>
  2896: return NULL;<br>
  2897: script = JS_CompileUCScriptForPrincipals(cx, obj, principals,<br>
  2898: chars, length, filename, lineno);<br>
  2899: JS_free(cx, chars);<br>
  2900: return script;<br>
  2901: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2890: CHECK_REQUEST(cx);<br>
  2891: mark = JS_ARENA_MARK(&amp;cx-&gt;tempPool);<br>
  2892: ts = js_NewFileTokenStream(cx, NULL, fh);<br>
  2893: if (!ts)<br>
  2894: return NULL;<br>
  2895: ts-&gt;filename = filename;<br>
  2896: /* XXXshaver js_NewFileTokenStream should do this, because it drops */<br>
  2897: if (principals) {<br>
  2898: ts-&gt;principals = principals;<br>
  2899: JSPRINCIPALS_HOLD(cx, ts-&gt;principals);<br>
  2900: }<br>
  2901: return CompileTokenStream(cx, obj, ts, mark, NULL);<br>
  2902: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2902: <br>
  2903: JS_PUBLIC_API(JSScript *)<br>
  2904: JS_CompileUCScript(JSContext *cx, JSObject *obj,<br>
  2905: const jschar *chars, size_t length,<br>
  2906: const char *filename, uintN lineno)<br>
  2907: {<br>
  2908: CHECK_REQUEST(cx);<br>
  2909: return JS_CompileUCScriptForPrincipals(cx, obj, NULL, chars, length,<br>
  2910: filename, lineno);<br>
  2911: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2903: <br>
  2904: JS_PUBLIC_API(JSObject *)<br>
  2905: JS_NewScriptObject(JSContext *cx, JSScript *script)<br>
  2906: {<br>
  2907: JSObject *obj;<br>
  2908: <br>
  2909: CHECK_REQUEST(cx);<br>
  2910: obj = js_NewObject(cx, &amp;js_ScriptClass, NULL, NULL);<br>
  2911: if (!obj)<br>
  2912: return NULL;<br>
  2913: if (script) {<br>
  2914: if (!JS_SetPrivate(cx, obj, script))<br>
  2915: return NULL;<br>
  2916: script-&gt;object = obj;<br>
  2917: }<br>
  2918: return obj;<br>
  2919: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2912: <br>
  2913: JS_PUBLIC_API(JSScript *)<br>
  2914: JS_CompileUCScriptForPrincipals(JSContext *cx, JSObject *obj,<br>
  2915: JSPrincipals *principals,<br>
  2916: const jschar *chars, size_t length,<br>
  2917: const char *filename, uintN lineno)<br>
  2918: {<br>
  2919: void *mark;<br>
  2920: JSTokenStream *ts;<br>
  2921: <br>
  2922: CHECK_REQUEST(cx);<br>
  2923: mark = JS_ARENA_MARK(&amp;cx-&gt;tempPool);<br>
  2924: ts = js_NewTokenStream(cx, chars, length, filename, lineno, principals);<br>
  2925: if (!ts)<br>
  2926: return NULL;<br>
  2927: return CompileTokenStream(cx, obj, ts, mark, NULL);<br>
  2928: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2920: <br>
  2921: JS_PUBLIC_API(void)<br>
  2922: JS_DestroyScript(JSContext *cx, JSScript *script)<br>
  2923: {<br>
  2924: CHECK_REQUEST(cx);<br>
  2925: js_DestroyScript(cx, script);<br>
  2926: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2929: <br>
  2930: extern JS_PUBLIC_API(JSBool)<br>
  2931: JS_BufferIsCompilableUnit(JSContext *cx, JSObject *obj,<br>
  2932: const char *bytes, size_t length)<br>
  2933: {<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2927: <br>
  2928: JS_PUBLIC_API(JSFunction *)<br>
  2929: JS_CompileFunction(JSContext *cx, JSObject *obj, const char *name,<br>
  2930: uintN nargs, const char **argnames,<br>
  2931: const char *bytes, size_t length,<br>
  2932: const char *filename, uintN lineno)<br>
  2933: {<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2934: jschar *chars;<br>
  2935: JSScript *script;<br>
  2936: void *mark;<br>
  2937: JSTokenStream *ts;<br>
  2938: JSErrorReporter older;<br>
  2939: JSBool hitEOF, result;<br>
  2940: JSExceptionState *exnState;<br>
  2941: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2934: jschar *chars;<br>
  2935: JSFunction *fun;<br>
  2936: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2942: CHECK_REQUEST(cx);<br>
  2943: mark = JS_ARENA_MARK(&amp;cx-&gt;tempPool);<br>
  2944: chars = js_InflateString(cx, bytes, length);<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2937: CHECK_REQUEST(cx);<br>
  2938: chars = js_InflateString(cx, bytes, length);<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2945: if (!chars)<br>
  2946: return JS_TRUE;<br>
  2947: exnState = JS_SaveExceptionState(cx);<br>
  2948: ts = js_NewTokenStream(cx, chars, length, NULL, 0, NULL);<br>
  2949: if (!ts) {<br>
  2950: result = JS_TRUE;<br>
  2951: goto out;<br>
  2952: }<br>
  2953: <br>
  2954: older = JS_SetErrorReporter(cx, NULL);<br>
  2955: script = CompileTokenStream(cx, obj, ts, mark, &amp;hitEOF);<br>
  2956: JS_SetErrorReporter(cx, older);<br>
  2957: <br>
  2958: if (script == NULL) {<br>
  2959: /*<br>
  2960: * We ran into an error, but it was because we ran out of source,<br>
  2961: * and not for some other reason. For this case (and this case<br>
  2962: * only) we return false, so the calling function knows to try to<br>
  2963: * collect more source.<br>
  2964: */<br>
  2965: result = hitEOF ? JS_FALSE : JS_TRUE;<br>
  2966: } else {<br>
  2967: result = JS_TRUE;<br>
  2968: js_DestroyScript(cx, script);<br>
  2969: }<br>
  2970: <br>
  2971: out:<br>
  2972: JS_free(cx, chars);<br>
  2973: JS_RestoreExceptionState(cx, exnState);<br>
  2974: return result;<br>
  2975: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2939: if (!chars)<br>
  2940: return NULL;<br>
  2941: fun = JS_CompileUCFunction(cx, obj, name, nargs, argnames, chars, length,<br>
  2942: filename, lineno);<br>
  2943: JS_free(cx, chars);<br>
  2944: return fun;<br>
  2945: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2976: <br>
  2977: JS_PUBLIC_API(JSScript *)<br>
  2978: JS_CompileFile(JSContext *cx, JSObject *obj, const char *filename)<br>
  2979: {<br>
  2980: void *mark;<br>
  2981: JSTokenStream *ts;<br>
  2982: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2946: <br>
  2947: JS_PUBLIC_API(JSFunction *)<br>
  2948: JS_CompileFunctionForPrincipals(JSContext *cx, JSObject *obj,<br>
  2949: JSPrincipals *principals, const char *name,<br>
  2950: uintN nargs, const char **argnames,<br>
  2951: const char *bytes, size_t length,<br>
  2952: const char *filename, uintN lineno)<br>
  2953: {<br>
  2954: jschar *chars;<br>
  2955: JSFunction *fun;<br>
  2956: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2983: CHECK_REQUEST(cx);<br>
  2984: mark = JS_ARENA_MARK(&amp;cx-&gt;tempPool);<br>
  2985: ts = js_NewFileTokenStream(cx, filename, stdin);<br>
  2986: if (!ts)<br>
  2987: return NULL;<br>
  2988: return CompileTokenStream(cx, obj, ts, mark, NULL);<br>
  2989: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2957: CHECK_REQUEST(cx);<br>
  2958: chars = js_InflateString(cx, bytes, length);<br>
  2959: if (!chars)<br>
  2960: return NULL;<br>
  2961: fun = JS_CompileUCFunctionForPrincipals(cx, obj, principals, name,<br>
  2962: nargs, argnames, chars, length,<br>
  2963: filename, lineno);<br>
  2964: JS_free(cx, chars);<br>
  2965: return fun;<br>
  2966: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2990: <br>
  2991: JS_PUBLIC_API(JSScript *)<br>
  2992: JS_CompileFileHandle(JSContext *cx, JSObject *obj, const char *filename,<br>
  2993: FILE *fh)<br>
  2994: {<br>
  2995: return JS_CompileFileHandleForPrincipals(cx, obj, filename, fh, NULL);<br>
  2996: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2967: <br>
  2968: JS_PUBLIC_API(JSFunction *)<br>
  2969: JS_CompileUCFunction(JSContext *cx, JSObject *obj, const char *name,<br>
  2970: uintN nargs, const char **argnames,<br>
  2971: const jschar *chars, size_t length,<br>
  2972: const char *filename, uintN lineno)<br>
  2973: {<br>
  2974: CHECK_REQUEST(cx);<br>
  2975: return JS_CompileUCFunctionForPrincipals(cx, obj, NULL, name,<br>
  2976: nargs, argnames,<br>
  2977: chars, length,<br>
  2978: filename, lineno);<br>
  2979: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  2997: <br>
  2998: JS_PUBLIC_API(JSScript *)<br>
  2999: JS_CompileFileHandleForPrincipals(JSContext *cx, JSObject *obj,<br>
  3000: const char *filename, FILE *fh,<br>
  3001: JSPrincipals *principals)<br>
  3002: {<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2980: <br>
  2981: JS_PUBLIC_API(JSFunction *)<br>
  2982: JS_CompileUCFunctionForPrincipals(JSContext *cx, JSObject *obj,<br>
  2983: JSPrincipals *principals, const char *name,<br>
  2984: uintN nargs, const char **argnames,<br>
  2985: const jschar *chars, size_t length,<br>
  2986: const char *filename, uintN lineno)<br>
  2987: {<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3004: JSTokenStream *ts;<br>
  3005: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2989: JSTokenStream *ts;<br>
  2990: JSFunction *fun;<br>
  2991: JSAtom *funAtom, *argAtom;<br>
  2992: uintN i;<br>
  2993: JSScopeProperty *sprop;<br>
  2994: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3007: mark = JS_ARENA_MARK(&amp;cx-&gt;tempPool);<br>
  3008: ts = js_NewFileTokenStream(cx, NULL, fh);<br>
  3009: if (!ts)<br>
  3010: return NULL;<br>
  3011: ts-&gt;filename = filename;<br>
  3012: /* XXXshaver js_NewFileTokenStream should do this, because it drops */<br>
  3013: if (principals) {<br>
  3014: ts-&gt;principals = principals;<br>
  3015: JSPRINCIPALS_HOLD(cx, ts-&gt;principals);<br>
  3016: }<br>
  3017: return CompileTokenStream(cx, obj, ts, mark, NULL);<br>
  3018: }<br>
  3019: <br>
  3020: JS_PUBLIC_API(JSObject *)<br>
  3021: JS_NewScriptObject(JSContext *cx, JSScript *script)<br>
  3022: {<br>
  3023: JSObject *obj;<br>
  3024: <br>
  3025: CHECK_REQUEST(cx);<br>
  3026: obj = js_NewObject(cx, &amp;js_ScriptClass, NULL, NULL);<br>
  3027: if (!obj)<br>
  3028: return NULL;<br>
  3029: if (script) {<br>
  3030: if (!JS_SetPrivate(cx, obj, script))<br>
  3031: return NULL;<br>
  3032: script-&gt;object = obj;<br>
  3033: }<br>
  3034: return obj;<br>
  3035: }<br>
  3036: <br>
  3037: JS_PUBLIC_API(void)<br>
  3038: JS_DestroyScript(JSContext *cx, JSScript *script)<br>
  3039: {<br>
  3040: CHECK_REQUEST(cx);<br>
  3041: js_DestroyScript(cx, script);<br>
  3042: }<br>
  3043: <br>
  3044: JS_PUBLIC_API(JSFunction *)<br>
  3045: JS_CompileFunction(JSContext *cx, JSObject *obj, const char *name,<br>
  3046: uintN nargs, const char **argnames,<br>
  3047: const char *bytes, size_t length,<br>
  3048: const char *filename, uintN lineno)<br>
  3049: {<br>
  3050: jschar *chars;<br>
  3051: JSFunction *fun;<br>
  3052: <br>
  3053: CHECK_REQUEST(cx);<br>
  3054: chars = js_InflateString(cx, bytes, length);<br>
  3055: if (!chars)<br>
  3056: return NULL;<br>
  3057: fun = JS_CompileUCFunction(cx, obj, name, nargs, argnames, chars, length,<br>
  3058: filename, lineno);<br>
  3059: JS_free(cx, chars);<br>
  3060: return fun;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  2996: mark = JS_ARENA_MARK(&amp;cx-&gt;tempPool);<br>
  2997: ts = js_NewTokenStream(cx, chars, length, filename, lineno, principals);<br>
  2998: if (!ts) {<br>
  2999: fun = NULL;<br>
  3000: goto out;<br>
  3001: }<br>
  3002: if (!name) {<br>
  3003: funAtom = NULL;<br>
  3004: } else {<br>
  3005: funAtom = js_Atomize(cx, name, strlen(name), 0);<br>
  3006: if (!funAtom) {<br>
  3007: fun = NULL;<br>
  3008: goto out;<br>
  3009: }<br>
  3010: }<br>
  3011: fun = js_NewFunction(cx, NULL, NULL, nargs, 0, obj, funAtom);<br>
  3012: if (!fun)<br>
  3013: goto out;<br>
  3014: if (nargs) {<br>
  3015: for (i = 0; i &lt; nargs; i++) {<br>
  3016: argAtom = js_Atomize(cx, argnames[i], strlen(argnames[i]), 0);<br>
  3017: if (!argAtom)<br>
  3018: break;<br>
  3019: if (!js_DefineProperty(cx, fun-&gt;object, (jsid)argAtom,<br>
  3020: JSVAL_VOID, js_GetArgument, js_SetArgument,<br>
  3021: JSPROP_ENUMERATE|JSPROP_PERMANENT,<br>
  3022: (JSProperty **)&amp;sprop)) {<br>
  3023: break;<br>
  3024: }<br>
  3025: JS_ASSERT(sprop);<br>
  3026: sprop-&gt;id = INT_TO_JSVAL(i);<br>
  3027: OBJ_DROP_PROPERTY(cx, fun-&gt;object, (JSProperty *)sprop);<br>
  3028: }<br>
  3029: if (i &lt; nargs) {<br>
  3030: fun = NULL;<br>
  3031: goto out;<br>
  3032: }<br>
  3033: }<br>
  3034: if (!js_CompileFunctionBody(cx, ts, fun)) {<br>
  3035: fun = NULL;<br>
  3036: goto out;<br>
  3037: }<br>
  3038: if (funAtom) {<br>
  3039: if (!OBJ_DEFINE_PROPERTY(cx, obj, (jsid)funAtom,<br>
  3040: OBJECT_TO_JSVAL(fun-&gt;object),<br>
  3041: NULL, NULL, 0, NULL)) {<br>
  3042: return NULL;<br>
  3043: }<br>
  3044: }<br>
  3045: out:<br>
  3046: if (ts)<br>
  3047: js_CloseTokenStream(cx, ts);<br>
  3048: JS_ARENA_RELEASE(&amp;cx-&gt;tempPool, mark);<br>
  3049: return fun;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3062: <br>
  3063: JS_PUBLIC_API(JSFunction *)<br>
  3064: JS_CompileFunctionForPrincipals(JSContext *cx, JSObject *obj,<br>
  3065: JSPrincipals *principals, const char *name,<br>
  3066: uintN nargs, const char **argnames,<br>
  3067: const char *bytes, size_t length,<br>
  3068: const char *filename, uintN lineno)<br>
  3069: {<br>
  3070: jschar *chars;<br>
  3071: JSFunction *fun;<br>
  3072: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3051: <br>
  3052: JS_PUBLIC_API(JSString *)<br>
  3053: JS_DecompileScript(JSContext *cx, JSScript *script, const char *name,<br>
  3054: uintN indent)<br>
  3055: {<br>
  3056: JSPrinter *jp;<br>
  3057: JSString *str;<br>
  3058: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3073: CHECK_REQUEST(cx);<br>
  3074: chars = js_InflateString(cx, bytes, length);<br>
  3075: if (!chars)<br>
  3076: return NULL;<br>
  3077: fun = JS_CompileUCFunctionForPrincipals(cx, obj, principals, name,<br>
  3078: nargs, argnames, chars, length,<br>
  3079: filename, lineno);<br>
  3080: JS_free(cx, chars);<br>
  3081: return fun;<br>
  3082: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3059: CHECK_REQUEST(cx);<br>
  3060: jp = js_NewPrinter(cx, name,<br>
  3061: indent &amp; ~JS_DONT_PRETTY_PRINT,<br>
  3062: !(indent &amp; JS_DONT_PRETTY_PRINT));<br>
  3063: if (!jp)<br>
  3064: return NULL;<br>
  3065: if (js_DecompileScript(jp, script))<br>
  3066: str = js_GetPrinterOutput(jp);<br>
  3067: else<br>
  3068: str = NULL;<br>
  3069: js_DestroyPrinter(jp);<br>
  3070: return str;<br>
  3071: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3083: <br>
  3084: JS_PUBLIC_API(JSFunction *)<br>
  3085: JS_CompileUCFunction(JSContext *cx, JSObject *obj, const char *name,<br>
  3086: uintN nargs, const char **argnames,<br>
  3087: const jschar *chars, size_t length,<br>
  3088: const char *filename, uintN lineno)<br>
  3089: {<br>
  3090: CHECK_REQUEST(cx);<br>
  3091: return JS_CompileUCFunctionForPrincipals(cx, obj, NULL, name,<br>
  3092: nargs, argnames,<br>
  3093: chars, length,<br>
  3094: filename, lineno);<br>
  3095: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3072: <br>
  3073: JS_PUBLIC_API(JSString *)<br>
  3074: JS_DecompileFunction(JSContext *cx, JSFunction *fun, uintN indent)<br>
  3075: {<br>
  3076: JSPrinter *jp;<br>
  3077: JSString *str;<br>
  3078: <br>
  3079: CHECK_REQUEST(cx);<br>
  3080: jp = js_NewPrinter(cx, JS_GetFunctionName(fun),<br>
  3081: indent &amp; ~JS_DONT_PRETTY_PRINT,<br>
  3082: !(indent &amp; JS_DONT_PRETTY_PRINT));<br>
  3083: if (!jp)<br>
  3084: return NULL;<br>
  3085: if (js_DecompileFunction(jp, fun))<br>
  3086: str = js_GetPrinterOutput(jp);<br>
  3087: else<br>
  3088: str = NULL;<br>
  3089: js_DestroyPrinter(jp);<br>
  3090: return str;<br>
  3091: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3096: <br>
  3097: JS_PUBLIC_API(JSFunction *)<br>
  3098: JS_CompileUCFunctionForPrincipals(JSContext *cx, JSObject *obj,<br>
  3099: JSPrincipals *principals, const char *name,<br>
  3100: uintN nargs, const char **argnames,<br>
  3101: const jschar *chars, size_t length,<br>
  3102: const char *filename, uintN lineno)<br>
  3103: {<br>
  3104: void *mark;<br>
  3105: JSTokenStream *ts;<br>
  3106: JSFunction *fun;<br>
  3107: JSAtom *funAtom, *argAtom;<br>
  3108: uintN i;<br>
  3109: JSScopeProperty *sprop;<br>
  3110: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3092: <br>
  3093: JS_PUBLIC_API(JSString *)<br>
  3094: JS_DecompileFunctionBody(JSContext *cx, JSFunction *fun, uintN indent)<br>
  3095: {<br>
  3096: JSPrinter *jp;<br>
  3097: JSString *str;<br>
  3098: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3111: CHECK_REQUEST(cx);<br>
  3112: mark = JS_ARENA_MARK(&amp;cx-&gt;tempPool);<br>
  3113: ts = js_NewTokenStream(cx, chars, length, filename, lineno, principals);<br>
  3114: if (!ts) {<br>
  3115: fun = NULL;<br>
  3116: goto out;<br>
  3117: }<br>
  3118: if (!name) {<br>
  3119: funAtom = NULL;<br>
  3120: } else {<br>
  3121: funAtom = js_Atomize(cx, name, strlen(name), 0);<br>
  3122: if (!funAtom) {<br>
  3123: fun = NULL;<br>
  3124: goto out;<br>
  3125: }<br>
  3126: }<br>
  3127: fun = js_NewFunction(cx, NULL, NULL, nargs, 0, obj, funAtom);<br>
  3128: if (!fun)<br>
  3129: goto out;<br>
  3130: if (nargs) {<br>
  3131: for (i = 0; i &lt; nargs; i++) {<br>
  3132: argAtom = js_Atomize(cx, argnames[i], strlen(argnames[i]), 0);<br>
  3133: if (!argAtom)<br>
  3134: break;<br>
  3135: if (!js_DefineProperty(cx, fun-&gt;object, (jsid)argAtom,<br>
  3136: JSVAL_VOID, js_GetArgument, js_SetArgument,<br>
  3137: JSPROP_ENUMERATE|JSPROP_PERMANENT,<br>
  3138: (JSProperty **)&amp;sprop)) {<br>
  3139: break;<br>
  3140: }<br>
  3141: JS_ASSERT(sprop);<br>
  3142: sprop-&gt;id = INT_TO_JSVAL(i);<br>
  3143: OBJ_DROP_PROPERTY(cx, fun-&gt;object, (JSProperty *)sprop);<br>
  3144: }<br>
  3145: if (i &lt; nargs) {<br>
  3146: fun = NULL;<br>
  3147: goto out;<br>
  3148: }<br>
  3149: }<br>
  3150: if (!js_CompileFunctionBody(cx, ts, fun)) {<br>
  3151: fun = NULL;<br>
  3152: goto out;<br>
  3153: }<br>
  3154: if (funAtom) {<br>
  3155: if (!OBJ_DEFINE_PROPERTY(cx, obj, (jsid)funAtom,<br>
  3156: OBJECT_TO_JSVAL(fun-&gt;object),<br>
  3157: NULL, NULL, 0, NULL)) {<br>
  3158: return NULL;<br>
  3159: }<br>
  3160: }<br>
  3161: out:<br>
  3162: if (ts)<br>
  3163: js_CloseTokenStream(cx, ts);<br>
  3164: JS_ARENA_RELEASE(&amp;cx-&gt;tempPool, mark);<br>
  3165: return fun;<br>
  3166: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3099: CHECK_REQUEST(cx);<br>
  3100: jp = js_NewPrinter(cx, JS_GetFunctionName(fun),<br>
  3101: indent &amp; ~JS_DONT_PRETTY_PRINT,<br>
  3102: !(indent &amp; JS_DONT_PRETTY_PRINT));<br>
  3103: if (!jp)<br>
  3104: return NULL;<br>
  3105: if (js_DecompileFunctionBody(jp, fun))<br>
  3106: str = js_GetPrinterOutput(jp);<br>
  3107: else<br>
  3108: str = NULL;<br>
  3109: js_DestroyPrinter(jp);<br>
  3110: return str;<br>
  3111: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3167: <br>
  3168: JS_PUBLIC_API(JSString *)<br>
  3169: JS_DecompileScript(JSContext *cx, JSScript *script, const char *name,<br>
  3170: uintN indent)<br>
  3171: {<br>
  3172: JSPrinter *jp;<br>
  3173: JSString *str;<br>
  3174: <br>
  3175: CHECK_REQUEST(cx);<br>
  3176: jp = js_NewPrinter(cx, name,<br>
  3177: indent &amp; ~JS_DONT_PRETTY_PRINT,<br>
  3178: !(indent &amp; JS_DONT_PRETTY_PRINT));<br>
  3179: if (!jp)<br>
  3180: return NULL;<br>
  3181: if (js_DecompileScript(jp, script))<br>
  3182: str = js_GetPrinterOutput(jp);<br>
  3183: else<br>
  3184: str = NULL;<br>
  3185: js_DestroyPrinter(jp);<br>
  3186: return str;<br>
  3187: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3112: <br>
  3113: JS_PUBLIC_API(JSBool)<br>
  3114: JS_ExecuteScript(JSContext *cx, JSObject *obj, JSScript *script, jsval 
  *rval)<br>
  3115: {<br>
  3116: CHECK_REQUEST(cx);<br>
  3117: if (!js_Execute(cx, obj, script, NULL, 0, rval)) {<br>
  3118: #if JS_HAS_EXCEPTIONS<br>
  3119: js_ReportUncaughtException(cx);<br>
  3120: #endif<br>
  3121: return JS_FALSE;<br>
  3122: }<br>
  3123: return JS_TRUE;<br>
  3124: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3188: <br>
  3189: JS_PUBLIC_API(JSString *)<br>
  3190: JS_DecompileFunction(JSContext *cx, JSFunction *fun, uintN indent)<br>
  3191: {<br>
  3192: JSPrinter *jp;<br>
  3193: JSString *str;<br>
  3194: <br>
  3195: CHECK_REQUEST(cx);<br>
  3196: jp = js_NewPrinter(cx, JS_GetFunctionName(fun),<br>
  3197: indent &amp; ~JS_DONT_PRETTY_PRINT,<br>
  3198: !(indent &amp; JS_DONT_PRETTY_PRINT));<br>
  3199: if (!jp)<br>
  3200: return NULL;<br>
  3201: if (js_DecompileFunction(jp, fun))<br>
  3202: str = js_GetPrinterOutput(jp);<br>
  3203: else<br>
  3204: str = NULL;<br>
  3205: js_DestroyPrinter(jp);<br>
  3206: return str;<br>
  3207: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3125: <br>
  3126: JS_PUBLIC_API(JSBool)<br>
  3127: JS_ExecuteScriptPart(JSContext *cx, JSObject *obj, JSScript *script,<br>
  3128: JSExecPart part, jsval *rval)<br>
  3129: {<br>
  3130: JSScript tmp;<br>
  3131: JSRuntime *rt;<br>
  3132: JSBool ok;<br>
  3133: <br>
  3134: /* Make a temporary copy of the JSScript structure and farble it a bit. 
  */<br>
  3135: tmp = *script;<br>
  3136: if (part == JSEXEC_PROLOG) {<br>
  3137: tmp.length = PTRDIFF(tmp.main, tmp.code, jsbytecode);<br>
  3138: } else {<br>
  3139: tmp.length -= PTRDIFF(tmp.main, tmp.code, jsbytecode);<br>
  3140: tmp.code = tmp.main;<br>
  3141: }<br>
  3142: <br>
  3143: /* Tell the debugger about our temporary copy of the script structure. 
  */<br>
  3144: rt = cx-&gt;runtime;<br>
  3145: if (rt-&gt;newScriptHook) {<br>
  3146: rt-&gt;newScriptHook(cx, tmp.filename, tmp.lineno, &amp;tmp, NULL,<br>
  3147: rt-&gt;newScriptHookData);<br>
  3148: }<br>
  3149: <br>
  3150: /* Execute the farbled struct and tell the debugger to forget about it. 
  */<br>
  3151: ok = JS_ExecuteScript(cx, obj, &amp;tmp, rval);<br>
  3152: if (rt-&gt;destroyScriptHook)<br>
  3153: rt-&gt;destroyScriptHook(cx, &amp;tmp, rt-&gt;destroyScriptHookData);<br>
  3154: return ok;<br>
  3155: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3208: <br>
  3209: JS_PUBLIC_API(JSString *)<br>
  3210: JS_DecompileFunctionBody(JSContext *cx, JSFunction *fun, uintN indent)<br>
  3211: {<br>
  3212: JSPrinter *jp;<br>
  3213: JSString *str;<br>
  3214: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3156: <br>
  3157: JS_PUBLIC_API(JSBool)<br>
  3158: JS_EvaluateScript(JSContext *cx, JSObject *obj,<br>
  3159: const char *bytes, uintN length,<br>
  3160: const char *filename, uintN lineno,<br>
  3161: jsval *rval)<br>
  3162: {<br>
  3163: jschar *chars;<br>
  3164: JSBool ok;<br>
  3165: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3215: CHECK_REQUEST(cx);<br>
  3216: jp = js_NewPrinter(cx, JS_GetFunctionName(fun),<br>
  3217: indent &amp; ~JS_DONT_PRETTY_PRINT,<br>
  3218: !(indent &amp; JS_DONT_PRETTY_PRINT));<br>
  3219: if (!jp)<br>
  3220: return NULL;<br>
  3221: if (js_DecompileFunctionBody(jp, fun))<br>
  3222: str = js_GetPrinterOutput(jp);<br>
  3223: else<br>
  3224: str = NULL;<br>
  3225: js_DestroyPrinter(jp);<br>
  3226: return str;<br>
  3227: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3166: CHECK_REQUEST(cx);<br>
  3167: chars = js_InflateString(cx, bytes, length);<br>
  3168: if (!chars)<br>
  3169: return JS_FALSE;<br>
  3170: ok = JS_EvaluateUCScript(cx, obj, chars, length, filename, lineno, rval);<br>
  3171: JS_free(cx, chars);<br>
  3172: return ok;<br>
  3173: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3229: JS_PUBLIC_API(JSBool)<br>
  3230: JS_ExecuteScript(JSContext *cx, JSObject *obj, JSScript *script, jsval 
  *rval)<br>
  3231: {<br>
  3232: CHECK_REQUEST(cx);<br>
  3233: if (!js_Execute(cx, obj, script, NULL, 0, rval)) {<br>
  3234: #if JS_HAS_EXCEPTIONS<br>
  3235: js_ReportUncaughtException(cx);<br>
  3236: #endif<br>
  3237: return JS_FALSE;<br>
  3238: }<br>
  3239: return JS_TRUE;<br>
  3240: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3175: JS_PUBLIC_API(JSBool)<br>
  3176: JS_EvaluateScriptForPrincipals(JSContext *cx, JSObject *obj,<br>
  3177: JSPrincipals *principals,<br>
  3178: const char *bytes, uintN length,<br>
  3179: const char *filename, uintN lineno,<br>
  3180: jsval *rval)<br>
  3181: {<br>
  3182: jschar *chars;<br>
  3183: JSBool ok;<br>
  3184: <br>
  3185: CHECK_REQUEST(cx);<br>
  3186: chars = js_InflateString(cx, bytes, length);<br>
  3187: if (!chars)<br>
  3188: return JS_FALSE;<br>
  3189: ok = JS_EvaluateUCScriptForPrincipals(cx, obj, principals, chars, length,<br>
  3190: filename, lineno, rval);<br>
  3191: JS_free(cx, chars);<br>
  3192: return ok;<br>
  3193: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3242: JS_PUBLIC_API(JSBool)<br>
  3243: JS_ExecuteScriptPart(JSContext *cx, JSObject *obj, JSScript *script,<br>
  3244: JSExecPart part, jsval *rval)<br>
  3245: {<br>
  3246: JSScript tmp;<br>
  3247: JSRuntime *rt;<br>
  3248: JSBool ok;<br>
  3249: <br>
  3250: /* Make a temporary copy of the JSScript structure and farble it a bit. 
  */<br>
  3251: tmp = *script;<br>
  3252: if (part == JSEXEC_PROLOG) {<br>
  3253: tmp.length = PTRDIFF(tmp.main, tmp.code, jsbytecode);<br>
  3254: } else {<br>
  3255: tmp.length -= PTRDIFF(tmp.main, tmp.code, jsbytecode);<br>
  3256: tmp.code = tmp.main;<br>
  3257: }<br>
  3258: <br>
  3259: /* Tell the debugger about our temporary copy of the script structure. 
  */<br>
  3260: rt = cx-&gt;runtime;<br>
  3261: if (rt-&gt;newScriptHook) {<br>
  3262: rt-&gt;newScriptHook(cx, tmp.filename, tmp.lineno, &amp;tmp, NULL,<br>
  3263: rt-&gt;newScriptHookData);<br>
  3264: }<br>
  3265: <br>
  3266: /* Execute the farbled struct and tell the debugger to forget about it. 
  */<br>
  3267: ok = JS_ExecuteScript(cx, obj, &amp;tmp, rval);<br>
  3268: if (rt-&gt;destroyScriptHook)<br>
  3269: rt-&gt;destroyScriptHook(cx, &amp;tmp, rt-&gt;destroyScriptHookData);<br>
  3270: return ok;<br>
  3271: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3195: JS_PUBLIC_API(JSBool)<br>
  3196: JS_EvaluateUCScript(JSContext *cx, JSObject *obj,<br>
  3197: const jschar *chars, uintN length,<br>
  3198: const char *filename, uintN lineno,<br>
  3199: jsval *rval)<br>
  3200: {<br>
  3201: CHECK_REQUEST(cx);<br>
  3202: return JS_EvaluateUCScriptForPrincipals(cx, obj, NULL, chars, length,<br>
  3203: filename, lineno, rval);<br>
  3204: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3273: JS_PUBLIC_API(JSBool)<br>
  3274: JS_EvaluateScript(JSContext *cx, JSObject *obj,<br>
  3275: const char *bytes, uintN length,<br>
  3276: const char *filename, uintN lineno,<br>
  3277: jsval *rval)<br>
  3278: {<br>
  3279: jschar *chars;<br>
  3280: JSBool ok;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3206: JS_PUBLIC_API(JSBool)<br>
  3207: JS_EvaluateUCScriptForPrincipals(JSContext *cx, JSObject *obj,<br>
  3208: JSPrincipals *principals,<br>
  3209: const jschar *chars, uintN length,<br>
  3210: const char *filename, uintN lineno,<br>
  3211: jsval *rval)<br>
  3212: {<br>
  3213: JSScript *script;<br>
  3214: JSBool ok;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3282: CHECK_REQUEST(cx);<br>
  3283: chars = js_InflateString(cx, bytes, length);<br>
  3284: if (!chars)<br>
  3285: return JS_FALSE;<br>
  3286: ok = JS_EvaluateUCScript(cx, obj, chars, length, filename, lineno, rval);<br>
  3287: JS_free(cx, chars);<br>
  3288: return ok;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3216: CHECK_REQUEST(cx);<br>
  3217: script = JS_CompileUCScriptForPrincipals(cx, obj, principals, chars, length,<br>
  3218: filename, lineno);<br>
  3219: if (!script)<br>
  3220: return JS_FALSE;<br>
  3221: ok = js_Execute(cx, obj, script, NULL, 0, rval);<br>
  3222: #if JS_HAS_EXCEPTIONS<br>
  3223: if (!ok)<br>
  3224: js_ReportUncaughtException(cx);<br>
  3225: #endif<br>
  3226: JS_DestroyScript(cx, script);<br>
  3227: return ok;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3291: JS_PUBLIC_API(JSBool)<br>
  3292: JS_EvaluateScriptForPrincipals(JSContext *cx, JSObject *obj,<br>
  3293: JSPrincipals *principals,<br>
  3294: const char *bytes, uintN length,<br>
  3295: const char *filename, uintN lineno,<br>
  3296: jsval *rval)<br>
  3297: {<br>
  3298: jschar *chars;<br>
  3299: JSBool ok;<br>
  3300: <br>
  3301: CHECK_REQUEST(cx);<br>
  3302: chars = js_InflateString(cx, bytes, length);<br>
  3303: if (!chars)<br>
  3304: return JS_FALSE;<br>
  3305: ok = JS_EvaluateUCScriptForPrincipals(cx, obj, principals, chars, length,<br>
  3306: filename, lineno, rval);<br>
  3307: JS_free(cx, chars);<br>
  3308: return ok;<br>
  3309: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3230: JS_PUBLIC_API(JSBool)<br>
  3231: JS_CallFunction(JSContext *cx, JSObject *obj, JSFunction *fun, uintN argc,<br>
  3232: jsval *argv, jsval *rval)<br>
  3233: {<br>
  3234: CHECK_REQUEST(cx);<br>
  3235: if (!js_InternalCall(cx, obj, OBJECT_TO_JSVAL(fun-&gt;object), argc, argv,<br>
  3236: rval)) {<br>
  3237: #if JS_HAS_EXCEPTIONS<br>
  3238: js_ReportUncaughtException(cx);<br>
  3239: #endif<br>
  3240: return JS_FALSE;<br>
  3241: }<br>
  3242: return JS_TRUE;<br>
  3243: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3311: JS_PUBLIC_API(JSBool)<br>
  3312: JS_EvaluateUCScript(JSContext *cx, JSObject *obj,<br>
  3313: const jschar *chars, uintN length,<br>
  3314: const char *filename, uintN lineno,<br>
  3315: jsval *rval)<br>
  3316: {<br>
  3317: CHECK_REQUEST(cx);<br>
  3318: return JS_EvaluateUCScriptForPrincipals(cx, obj, NULL, chars, length,<br>
  3319: filename, lineno, rval);<br>
  3320: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3245: JS_PUBLIC_API(JSBool)<br>
  3246: JS_CallFunctionName(JSContext *cx, JSObject *obj, const char *name, uintN 
  argc,<br>
  3247: jsval *argv, jsval *rval)<br>
  3248: {<br>
  3249: jsval fval;<br>
  3250: <br>
  3251: CHECK_REQUEST(cx);<br>
  3252: if (!JS_GetProperty(cx, obj, name, &amp;fval))<br>
  3253: return JS_FALSE;<br>
  3254: if (!js_InternalCall(cx, obj, fval, argc, argv, rval)) {<br>
  3255: #if JS_HAS_EXCEPTIONS<br>
  3256: js_ReportUncaughtException(cx);<br>
  3257: #endif<br>
  3258: return JS_FALSE;<br>
  3259: }<br>
  3260: return JS_TRUE;<br>
  3261: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3322: JS_PUBLIC_API(JSBool)<br>
  3323: JS_EvaluateUCScriptForPrincipals(JSContext *cx, JSObject *obj,<br>
  3324: JSPrincipals *principals,<br>
  3325: const jschar *chars, uintN length,<br>
  3326: const char *filename, uintN lineno,<br>
  3327: jsval *rval)<br>
  3328: {<br>
  3329: JSScript *script;<br>
  3330: JSBool ok;<br>
  3331: <br>
  3332: CHECK_REQUEST(cx);<br>
  3333: script = JS_CompileUCScriptForPrincipals(cx, obj, principals, chars, length,<br>
  3334: filename, lineno);<br>
  3335: if (!script)<br>
  3336: return JS_FALSE;<br>
  3337: ok = js_Execute(cx, obj, script, NULL, 0, rval);<br>
  3338: #if JS_HAS_EXCEPTIONS<br>
  3339: if (!ok)<br>
  3340: js_ReportUncaughtException(cx);<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3263: JS_PUBLIC_API(JSBool)<br>
  3264: JS_CallFunctionValue(JSContext *cx, JSObject *obj, jsval fval, uintN argc,<br>
  3265: jsval *argv, jsval *rval)<br>
  3266: {<br>
  3267: CHECK_REQUEST(cx);<br>
  3268: if (!js_InternalCall(cx, obj, fval, argc, argv, rval)) {<br>
  3269: #if JS_HAS_EXCEPTIONS<br>
  3270: js_ReportUncaughtException(cx);<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3341: #endif<br>
  3342: JS_DestroyScript(cx, script);<br>
  3343: return ok;<br>
  3344: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3271: #endif<br>
  3272: return JS_FALSE;<br>
  3273: }<br>
  3274: return JS_TRUE;<br>
  3275: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3345: <br>
  3346: JS_PUBLIC_API(JSBool)<br>
  3347: JS_CallFunction(JSContext *cx, JSObject *obj, JSFunction *fun, uintN argc,<br>
  3348: jsval *argv, jsval *rval)<br>
  3349: {<br>
  3350: CHECK_REQUEST(cx);<br>
  3351: if (!js_InternalCall(cx, obj, OBJECT_TO_JSVAL(fun-&gt;object), argc, argv,<br>
  3352: rval)) {<br>
  3353: #if JS_HAS_EXCEPTIONS<br>
  3354: js_ReportUncaughtException(cx);<br>
  3355: #endif<br>
  3356: return JS_FALSE;<br>
  3357: }<br>
  3358: return JS_TRUE;<br>
  3359: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3276: <br>
  3277: JS_PUBLIC_API(JSBranchCallback)<br>
  3278: JS_SetBranchCallback(JSContext *cx, JSBranchCallback cb)<br>
  3279: {<br>
  3280: JSBranchCallback oldcb;<br>
  3281: <br>
  3282: CHECK_REQUEST(cx);<br>
  3283: oldcb = cx-&gt;branchCallback;<br>
  3284: cx-&gt;branchCallback = cb;<br>
  3285: return oldcb;<br>
  3286: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3361: JS_PUBLIC_API(JSBool)<br>
  3362: JS_CallFunctionName(JSContext *cx, JSObject *obj, const char *name, uintN 
  argc,<br>
  3363: jsval *argv, jsval *rval)<br>
  3364: {<br>
  3365: jsval fval;<br>
  3366: <br>
  3367: CHECK_REQUEST(cx);<br>
  3368: if (!JS_GetProperty(cx, obj, name, &amp;fval))<br>
  3369: return JS_FALSE;<br>
  3370: if (!js_InternalCall(cx, obj, fval, argc, argv, rval)) {<br>
  3371: #if JS_HAS_EXCEPTIONS<br>
  3372: js_ReportUncaughtException(cx);<br>
  3373: #endif<br>
  3374: return JS_FALSE;<br>
  3375: }<br>
  3376: return JS_TRUE;<br>
  3377: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3288: JS_PUBLIC_API(JSBool)<br>
  3289: JS_IsRunning(JSContext *cx)<br>
  3290: {<br>
  3291: return cx-&gt;fp != NULL;<br>
  3292: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3379: JS_PUBLIC_API(JSBool)<br>
  3380: JS_CallFunctionValue(JSContext *cx, JSObject *obj, jsval fval, uintN argc,<br>
  3381: jsval *argv, jsval *rval)<br>
  3382: {<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3294: JS_PUBLIC_API(JSBool)<br>
  3295: JS_IsConstructing(JSContext *cx)<br>
  3296: {<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3383: CHECK_REQUEST(cx);<br>
  3384: if (!js_InternalCall(cx, obj, fval, argc, argv, rval)) {<br>
  3385: #if JS_HAS_EXCEPTIONS<br>
  3386: js_ReportUncaughtException(cx);<br>
  3387: #endif<br>
  3388: return JS_FALSE;<br>
  3389: }<br>
  3390: return JS_TRUE;<br>
  3391: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3297: CHECK_REQUEST(cx);<br>
  3298: return cx-&gt;fp &amp;&amp; cx-&gt;fp-&gt;constructing;<br>
  3299: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3392: <br>
  3393: JS_PUBLIC_API(JSBranchCallback)<br>
  3394: JS_SetBranchCallback(JSContext *cx, JSBranchCallback cb)<br>
  3395: {<br>
  3396: JSBranchCallback oldcb;<br>
  3397: <br>
  3398: CHECK_REQUEST(cx);<br>
  3399: oldcb = cx-&gt;branchCallback;<br>
  3400: cx-&gt;branchCallback = cb;<br>
  3401: return oldcb;<br>
  3402: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3300: <br>
  3301: JS_FRIEND_API(JSBool)<br>
  3302: JS_IsAssigning(JSContext *cx)<br>
  3303: {<br>
  3304: JSStackFrame *fp;<br>
  3305: jsbytecode *pc;<br>
  3306: <br>
  3307: for (fp = cx-&gt;fp; fp &amp;&amp; !fp-&gt;script; fp = fp-&gt;down)<br>
  3308: ;<br>
  3309: if (!fp || !(pc = fp-&gt;pc))<br>
  3310: return JS_FALSE;<br>
  3311: return (js_CodeSpec[*pc].format &amp; JOF_SET) != 0;<br>
  3312: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3403: <br>
  3404: JS_PUBLIC_API(JSBool)<br>
  3405: JS_IsRunning(JSContext *cx)<br>
  3406: {<br>
  3407: return cx-&gt;fp != NULL;<br>
  3408: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3313: <br>
  3314: JS_PUBLIC_API(void)<br>
  3315: JS_SetCallReturnValue2(JSContext *cx, jsval v)<br>
  3316: {<br>
  3317: #if JS_HAS_LVALUE_RETURN<br>
  3318: cx-&gt;rval2 = v;<br>
  3319: cx-&gt;rval2set = JS_TRUE;<br>
  3320: #endif<br>
  3321: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3409: <br>
  3410: JS_PUBLIC_API(JSBool)<br>
  3411: JS_IsConstructing(JSContext *cx)<br>
  3412: {<br>
  3413: CHECK_REQUEST(cx);<br>
  3414: return cx-&gt;fp &amp;&amp; cx-&gt;fp-&gt;constructing;<br>
  3415: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3322: <br>
  3323: /************************************************************************/<br>
  3324: <br>
  3325: JS_PUBLIC_API(JSString *)<br>
  3326: JS_NewString(JSContext *cx, char *bytes, size_t length)<br>
  3327: {<br>
  3328: jschar *chars;<br>
  3329: JSString *str;<br>
  3330: <br>
  3331: CHECK_REQUEST(cx);<br>
  3332: /* Make a Unicode vector from the 8-bit char codes in bytes. */<br>
  3333: chars = js_InflateString(cx, bytes, length);<br>
  3334: if (!chars)<br>
  3335: return NULL;<br>
  3336: <br>
  3337: /* Free chars (but not bytes, which caller frees on error) if we fail. 
  */<br>
  3338: str = js_NewString(cx, chars, length, 0);<br>
  3339: if (!str) {<br>
  3340: JS_free(cx, chars);<br>
  3341: return NULL;<br>
  3342: }<br>
  3343: <br>
  3344: /* Hand off bytes to the deflated string cache, if possible. */<br>
  3345: if (!js_SetStringBytes(str, bytes, length))<br>
  3346: JS_free(cx, bytes);<br>
  3347: return str;<br>
  3348: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3416: <br>
  3417: JS_FRIEND_API(JSBool)<br>
  3418: JS_IsAssigning(JSContext *cx)<br>
  3419: {<br>
  3420: JSStackFrame *fp;<br>
  3421: jsbytecode *pc;<br>
  3422: <br>
  3423: for (fp = cx-&gt;fp; fp &amp;&amp; !fp-&gt;script; fp = fp-&gt;down)<br>
  3424: ;<br>
  3425: if (!fp || !(pc = fp-&gt;pc))<br>
  3426: return JS_FALSE;<br>
  3427: return (js_CodeSpec[*pc].format &amp; JOF_SET) != 0;<br>
  3428: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3349: <br>
  3350: JS_PUBLIC_API(JSString *)<br>
  3351: JS_NewStringCopyN(JSContext *cx, const char *s, size_t n)<br>
  3352: {<br>
  3353: jschar *js;<br>
  3354: JSString *str;<br>
  3355: <br>
  3356: CHECK_REQUEST(cx);<br>
  3357: js = js_InflateString(cx, s, n);<br>
  3358: if (!js)<br>
  3359: return NULL;<br>
  3360: str = js_NewString(cx, js, n, 0);<br>
  3361: if (!str)<br>
  3362: JS_free(cx, js);<br>
  3363: return str;<br>
  3364: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3429: <br>
  3430: JS_PUBLIC_API(void)<br>
  3431: JS_SetCallReturnValue2(JSContext *cx, jsval v)<br>
  3432: {<br>
  3433: #if JS_HAS_LVALUE_RETURN<br>
  3434: cx-&gt;rval2 = v;<br>
  3435: cx-&gt;rval2set = JS_TRUE;<br>
  3436: #endif<br>
  3437: }<br>
  3438: <br>
  3439: /************************************************************************/<br>
  3440: <br>
  3441: JS_PUBLIC_API(JSString *)<br>
  3442: JS_NewString(JSContext *cx, char *bytes, size_t length)<br>
  3443: {<br>
  3444: jschar *chars;<br>
  3445: JSString *str;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3365: <br>
  3366: JS_PUBLIC_API(JSString *)<br>
  3367: JS_NewStringCopyZ(JSContext *cx, const char *s)<br>
  3368: {<br>
  3369: size_t n;<br>
  3370: jschar *js;<br>
  3371: JSString *str;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3447: CHECK_REQUEST(cx);<br>
  3448: /* Make a Unicode vector from the 8-bit char codes in bytes. */<br>
  3449: chars = js_InflateString(cx, bytes, length);<br>
  3450: if (!chars)<br>
  3451: return NULL;<br>
  3452: <br>
  3453: /* Free chars (but not bytes, which caller frees on error) if we fail. 
  */<br>
  3454: str = js_NewString(cx, chars, length, 0);<br>
  3455: if (!str) {<br>
  3456: JS_free(cx, chars);<br>
  3457: return NULL;<br>
  3458: }<br>
  3459: <br>
  3460: /* Hand off bytes to the deflated string cache, if possible. */<br>
  3461: if (!js_SetStringBytes(str, bytes, length))<br>
  3462: JS_free(cx, bytes);<br>
  3463: return str;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3373: CHECK_REQUEST(cx);<br>
  3374: if (!s)<br>
  3375: return cx-&gt;runtime-&gt;emptyString;<br>
  3376: n = strlen(s);<br>
  3377: js = js_InflateString(cx, s, n);<br>
  3378: if (!js)<br>
  3379: return NULL;<br>
  3380: str = js_NewString(cx, js, n, 0);<br>
  3381: if (!str)<br>
  3382: JS_free(cx, js);<br>
  3383: return str;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3466: JS_PUBLIC_API(JSString *)<br>
  3467: JS_NewStringCopyN(JSContext *cx, const char *s, size_t n)<br>
  3468: {<br>
  3469: jschar *js;<br>
  3470: JSString *str;<br>
  3471: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3386: JS_PUBLIC_API(JSString *)<br>
  3387: JS_InternString(JSContext *cx, const char *s)<br>
  3388: {<br>
  3389: JSAtom *atom;<br>
  3390: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3472: CHECK_REQUEST(cx);<br>
  3473: js = js_InflateString(cx, s, n);<br>
  3474: if (!js)<br>
  3475: return NULL;<br>
  3476: str = js_NewString(cx, js, n, 0);<br>
  3477: if (!str)<br>
  3478: JS_free(cx, js);<br>
  3479: return str;<br>
  3480: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3391: CHECK_REQUEST(cx);<br>
  3392: atom = js_Atomize(cx, s, strlen(s), ATOM_INTERNED);<br>
  3393: if (!atom)<br>
  3394: return NULL;<br>
  3395: return ATOM_TO_STRING(atom);<br>
  3396: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3482: JS_PUBLIC_API(JSString *)<br>
  3483: JS_NewStringCopyZ(JSContext *cx, const char *s)<br>
  3484: {<br>
  3485: size_t n;<br>
  3486: jschar *js;<br>
  3487: JSString *str;<br>
  3488: <br>
  3489: CHECK_REQUEST(cx);<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3398: JS_PUBLIC_API(JSString *)<br>
  3399: JS_NewUCString(JSContext *cx, jschar *chars, size_t length)<br>
  3400: {<br>
  3401: CHECK_REQUEST(cx);<br>
  3402: return js_NewString(cx, chars, length, 0);<br>
  3403: }<br>
  3404: <br>
  3405: JS_PUBLIC_API(JSString *)<br>
  3406: JS_NewUCStringCopyN(JSContext *cx, const jschar *s, size_t n)<br>
  3407: {<br>
  3408: CHECK_REQUEST(cx);<br>
  3409: return js_NewStringCopyN(cx, s, n, 0);<br>
  3410: }<br>
  3411: <br>
  3412: JS_PUBLIC_API(JSString *)<br>
  3413: JS_NewUCStringCopyZ(JSContext *cx, const jschar *s)<br>
  3414: {<br>
  3415: CHECK_REQUEST(cx);<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3491: return cx-&gt;runtime-&gt;emptyString;<br>
  3492: n = strlen(s);<br>
  3493: js = js_InflateString(cx, s, n);<br>
  3494: if (!js)<br>
  3495: return NULL;<br>
  3496: str = js_NewString(cx, js, n, 0);<br>
  3497: if (!str)<br>
  3498: JS_free(cx, js);<br>
  3499: return str;<br>
  3500: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3417: return cx-&gt;runtime-&gt;emptyString;<br>
  3418: return js_NewStringCopyZ(cx, s, 0);<br>
  3419: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3502: JS_PUBLIC_API(JSString *)<br>
  3503: JS_InternString(JSContext *cx, const char *s)<br>
  3504: {<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3421: JS_PUBLIC_API(JSString *)<br>
  3422: JS_InternUCStringN(JSContext *cx, const jschar *s, size_t length)<br>
  3423: {<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3507: CHECK_REQUEST(cx);<br>
  3508: atom = js_Atomize(cx, s, strlen(s), ATOM_INTERNED);<br>
  3509: if (!atom)<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3426: CHECK_REQUEST(cx);<br>
  3427: atom = js_AtomizeChars(cx, s, length, ATOM_INTERNED);<br>
  3428: if (!atom)<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3514: JS_PUBLIC_API(JSString *)<br>
  3515: JS_NewUCString(JSContext *cx, jschar *chars, size_t length)<br>
  3516: {<br>
  3517: CHECK_REQUEST(cx);<br>
  3518: return js_NewString(cx, chars, length, 0);<br>
  3519: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3433: JS_PUBLIC_API(JSString *)<br>
  3434: JS_InternUCString(JSContext *cx, const jschar *s)<br>
  3435: {<br>
  3436: return JS_InternUCStringN(cx, s, js_strlen(s));<br>
  3437: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3520: <br>
  3521: JS_PUBLIC_API(JSString *)<br>
  3522: JS_NewUCStringCopyN(JSContext *cx, const jschar *s, size_t n)<br>
  3523: {<br>
  3524: CHECK_REQUEST(cx);<br>
  3525: return js_NewStringCopyN(cx, s, n, 0);<br>
  3526: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3438: <br>
  3439: JS_PUBLIC_API(char *)<br>
  3440: JS_GetStringBytes(JSString *str)<br>
  3441: {<br>
  3442: char *bytes = js_GetStringBytes(str);<br>
  3443: return bytes ? bytes : &quot;&quot;;<br>
  3444: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3527: <br>
  3528: JS_PUBLIC_API(JSString *)<br>
  3529: JS_NewUCStringCopyZ(JSContext *cx, const jschar *s)<br>
  3530: {<br>
  3531: CHECK_REQUEST(cx);<br>
  3532: if (!s)<br>
  3533: return cx-&gt;runtime-&gt;emptyString;<br>
  3534: return js_NewStringCopyZ(cx, s, 0);<br>
  3535: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3445: <br>
  3446: JS_PUBLIC_API(jschar *)<br>
  3447: JS_GetStringChars(JSString *str)<br>
  3448: {<br>
  3449: return str-&gt;chars;<br>
  3450: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3536: <br>
  3537: JS_PUBLIC_API(JSString *)<br>
  3538: JS_InternUCStringN(JSContext *cx, const jschar *s, size_t length)<br>
  3539: {<br>
  3540: JSAtom *atom;<br>
  3541: <br>
  3542: CHECK_REQUEST(cx);<br>
  3543: atom = js_AtomizeChars(cx, s, length, ATOM_INTERNED);<br>
  3544: if (!atom)<br>
  3545: return NULL;<br>
  3546: return ATOM_TO_STRING(atom);<br>
  3547: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3451: <br>
  3452: JS_PUBLIC_API(size_t)<br>
  3453: JS_GetStringLength(JSString *str)<br>
  3454: {<br>
  3455: return str-&gt;length;<br>
  3456: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3548: <br>
  3549: JS_PUBLIC_API(JSString *)<br>
  3550: JS_InternUCString(JSContext *cx, const jschar *s)<br>
  3551: {<br>
  3552: return JS_InternUCStringN(cx, s, js_strlen(s));<br>
  3553: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3457: <br>
  3458: JS_PUBLIC_API(intN)<br>
  3459: JS_CompareStrings(JSString *str1, JSString *str2)<br>
  3460: {<br>
  3461: return js_CompareStrings(str1, str2);<br>
  3462: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3554: <br>
  3555: JS_PUBLIC_API(char *)<br>
  3556: JS_GetStringBytes(JSString *str)<br>
  3557: {<br>
  3558: char *bytes = js_GetStringBytes(str);<br>
  3559: return bytes ? bytes : &quot;&quot;;<br>
  3560: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3463: <br>
  3464: /************************************************************************/<br>
  3465: <br>
  3466: JS_PUBLIC_API(void)<br>
  3467: JS_ReportError(JSContext *cx, const char *format, ...)<br>
  3468: {<br>
  3469: va_list ap;<br>
  3470: <br>
  3471: CHECK_REQUEST(cx);<br>
  3472: va_start(ap, format);<br>
  3473: js_ReportErrorVA(cx, JSREPORT_ERROR, format, ap);<br>
  3474: va_end(ap);<br>
  3475: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3561: <br>
  3562: JS_PUBLIC_API(jschar *)<br>
  3563: JS_GetStringChars(JSString *str)<br>
  3564: {<br>
  3565: return str-&gt;chars;<br>
  3566: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3476: <br>
  3477: JS_PUBLIC_API(void)<br>
  3478: JS_ReportErrorNumber(JSContext *cx, JSErrorCallback errorCallback,<br>
  3479: void *userRef, const uintN errorNumber, ...)<br>
  3480: {<br>
  3481: va_list ap;<br>
  3482: <br>
  3483: CHECK_REQUEST(cx);<br>
  3484: va_start(ap, errorNumber);<br>
  3485: js_ReportErrorNumberVA(cx, JSREPORT_ERROR, errorCallback, userRef,<br>
  3486: errorNumber, JS_TRUE, ap);<br>
  3487: va_end(ap);<br>
  3488: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3567: <br>
  3568: JS_PUBLIC_API(size_t)<br>
  3569: JS_GetStringLength(JSString *str)<br>
  3570: {<br>
  3571: return str-&gt;length;<br>
  3572: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3489: <br>
  3490: JS_PUBLIC_API(void)<br>
  3491: JS_ReportErrorNumberUC(JSContext *cx, JSErrorCallback errorCallback,<br>
  3492: void *userRef, const uintN errorNumber, ...)<br>
  3493: {<br>
  3494: va_list ap;<br>
  3495: <br>
  3496: CHECK_REQUEST(cx);<br>
  3497: va_start(ap, errorNumber);<br>
  3498: js_ReportErrorNumberVA(cx, JSREPORT_ERROR, errorCallback, userRef,<br>
  3499: errorNumber, JS_FALSE, ap);<br>
  3500: va_end(ap);<br>
  3501: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3573: <br>
  3574: JS_PUBLIC_API(intN)<br>
  3575: JS_CompareStrings(JSString *str1, JSString *str2)<br>
  3576: {<br>
  3577: return js_CompareStrings(str1, str2);<br>
  3578: }<br>
  3579: <br>
  3580: /************************************************************************/<br>
  3581: <br>
  3582: JS_PUBLIC_API(void)<br>
  3583: JS_ReportError(JSContext *cx, const char *format, ...)<br>
  3584: {<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3502: <br>
  3503: JS_PUBLIC_API(JSBool)<br>
  3504: JS_ReportWarning(JSContext *cx, const char *format, ...)<br>
  3505: {<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3585: va_list ap;<br>
  3586: <br>
  3587: CHECK_REQUEST(cx);<br>
  3588: va_start(ap, format);<br>
  3589: js_ReportErrorVA(cx, JSREPORT_ERROR, format, ap);<br>
  3590: va_end(ap);<br>
  3591: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3506: va_list ap;<br>
  3507: JSBool ok;<br>
  3508: <br>
  3509: va_start(ap, format);<br>
  3510: ok = js_ReportErrorVA(cx, JSREPORT_WARNING, format, ap);<br>
  3511: va_end(ap);<br>
  3512: return ok;<br>
  3513: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3592: <br>
  3593: JS_PUBLIC_API(void)<br>
  3594: JS_ReportErrorNumber(JSContext *cx, JSErrorCallback errorCallback,<br>
  3595: void *userRef, const uintN errorNumber, ...)<br>
  3596: {<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3514: <br>
  3515: JS_PUBLIC_API(JSBool)<br>
  3516: JS_ReportErrorFlagsAndNumber(JSContext *cx, uintN flags,<br>
  3517: JSErrorCallback errorCallback, void *userRef,<br>
  3518: const uintN errorNumber, ...)<br>
  3519: {<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3597: va_list ap;<br>
  3598: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3520: va_list ap;<br>
  3521: JSBool ok;<br>
  3522: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3600: va_start(ap, errorNumber);<br>
  3601: js_ReportErrorNumberVA(cx, JSREPORT_ERROR, errorCallback, userRef,<br>
  3602: errorNumber, JS_TRUE, ap);<br>
  3603: va_end(ap);<br>
  3604: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3524: va_start(ap, errorNumber);<br>
  3525: ok = js_ReportErrorNumberVA(cx, flags, errorCallback, userRef,<br>
  3526: errorNumber, JS_TRUE, ap);<br>
  3527: va_end(ap);<br>
  3528: return ok;<br>
  3529: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3605: <br>
  3606: JS_PUBLIC_API(void)<br>
  3607: JS_ReportErrorNumberUC(JSContext *cx, JSErrorCallback errorCallback,<br>
  3608: void *userRef, const uintN errorNumber, ...)<br>
  3609: {<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3530: <br>
  3531: JS_PUBLIC_API(JSBool)<br>
  3532: JS_ReportErrorFlagsAndNumberUC(JSContext *cx, uintN flags,<br>
  3533: JSErrorCallback errorCallback, void *userRef,<br>
  3534: const uintN errorNumber, ...)<br>
  3535: {<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3610: va_list ap;<br>
  3611: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3536: va_list ap;<br>
  3537: JSBool ok;<br>
  3538: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3613: va_start(ap, errorNumber);<br>
  3614: js_ReportErrorNumberVA(cx, JSREPORT_ERROR, errorCallback, userRef,<br>
  3615: errorNumber, JS_FALSE, ap);<br>
  3616: va_end(ap);<br>
  3617: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3540: va_start(ap, errorNumber);<br>
  3541: ok = js_ReportErrorNumberVA(cx, flags, errorCallback, userRef,<br>
  3542: errorNumber, JS_FALSE, ap);<br>
  3543: va_end(ap);<br>
  3544: return ok;<br>
  3545: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3618: <br>
  3619: JS_PUBLIC_API(JSBool)<br>
  3620: JS_ReportWarning(JSContext *cx, const char *format, ...)<br>
  3621: {<br>
  3622: va_list ap;<br>
  3623: JSBool ok;<br>
  3624: <br>
  3625: va_start(ap, format);<br>
  3626: ok = js_ReportErrorVA(cx, JSREPORT_WARNING, format, ap);<br>
  3627: va_end(ap);<br>
  3628: return ok;<br>
  3629: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3546: <br>
  3547: JS_PUBLIC_API(void)<br>
  3548: JS_ReportOutOfMemory(JSContext *cx)<br>
  3549: {<br>
  3550: js_ReportOutOfMemory(cx, js_GetErrorMessage);<br>
  3551: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3630: <br>
  3631: JS_PUBLIC_API(JSBool)<br>
  3632: JS_ReportErrorFlagsAndNumber(JSContext *cx, uintN flags,<br>
  3633: JSErrorCallback errorCallback, void *userRef,<br>
  3634: const uintN errorNumber, ...)<br>
  3635: {<br>
  3636: va_list ap;<br>
  3637: JSBool ok;<br>
  3638: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3552: <br>
  3553: JS_PUBLIC_API(JSErrorReporter)<br>
  3554: JS_SetErrorReporter(JSContext *cx, JSErrorReporter er)<br>
  3555: {<br>
  3556: JSErrorReporter older;<br>
  3557: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3639: CHECK_REQUEST(cx);<br>
  3640: va_start(ap, errorNumber);<br>
  3641: ok = js_ReportErrorNumberVA(cx, flags, errorCallback, userRef,<br>
  3642: errorNumber, JS_TRUE, ap);<br>
  3643: va_end(ap);<br>
  3644: return ok;<br>
  3645: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3558: CHECK_REQUEST(cx);<br>
  3559: older = cx-&gt;errorReporter;<br>
  3560: cx-&gt;errorReporter = er;<br>
  3561: return older;<br>
  3562: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3646: <br>
  3647: JS_PUBLIC_API(JSBool)<br>
  3648: JS_ReportErrorFlagsAndNumberUC(JSContext *cx, uintN flags,<br>
  3649: JSErrorCallback errorCallback, void *userRef,<br>
  3650: const uintN errorNumber, ...)<br>
  3651: {<br>
  3652: va_list ap;<br>
  3653: JSBool ok;<br>
  3654: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3563: <br>
  3564: /************************************************************************/<br>
  3565: <br>
  3566: /*<br>
  3567: * Regular Expressions.<br>
  3568: */<br>
  3569: JS_PUBLIC_API(JSObject *)<br>
  3570: JS_NewRegExpObject(JSContext *cx, char *bytes, size_t length, uintN flags)<br>
  3571: {<br>
  3572: #if JS_HAS_REGEXPS<br>
  3573: jschar *chars;<br>
  3574: JSObject *obj;<br>
  3575: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3655: CHECK_REQUEST(cx);<br>
  3656: va_start(ap, errorNumber);<br>
  3657: ok = js_ReportErrorNumberVA(cx, flags, errorCallback, userRef,<br>
  3658: errorNumber, JS_FALSE, ap);<br>
  3659: va_end(ap);<br>
  3660: return ok;<br>
  3661: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3576: CHECK_REQUEST(cx);<br>
  3577: chars = js_InflateString(cx, bytes, length);<br>
  3578: if (!chars)<br>
  3579: return NULL;<br>
  3580: obj = js_NewRegExpObject(cx, NULL, chars, length, flags);<br>
  3581: JS_free(cx, chars);<br>
  3582: return obj;<br>
  3583: #else<br>
  3584: JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL, JSMSG_NO_REG_EXPS);<br>
  3585: return NULL;<br>
  3586: #endif<br>
  3587: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3662: <br>
  3663: JS_PUBLIC_API(void)<br>
  3664: JS_ReportOutOfMemory(JSContext *cx)<br>
  3665: {<br>
  3666: js_ReportOutOfMemory(cx, js_GetErrorMessage);<br>
  3667: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3588: <br>
  3589: JS_PUBLIC_API(JSObject *)<br>
  3590: JS_NewUCRegExpObject(JSContext *cx, jschar *chars, size_t length, uintN 
  flags)<br>
  3591: {<br>
  3592: CHECK_REQUEST(cx);<br>
  3593: #if JS_HAS_REGEXPS<br>
  3594: return js_NewRegExpObject(cx, NULL, chars, length, flags);<br>
  3595: #else<br>
  3596: JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL, JSMSG_NO_REG_EXPS);<br>
  3597: return NULL;<br>
  3598: #endif<br>
  3599: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3668: <br>
  3669: JS_PUBLIC_API(JSErrorReporter)<br>
  3670: JS_SetErrorReporter(JSContext *cx, JSErrorReporter er)<br>
  3671: {<br>
  3672: JSErrorReporter older;<br>
  3673: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3600: <br>
  3601: JS_PUBLIC_API(void)<br>
  3602: JS_SetRegExpInput(JSContext *cx, JSString *input, JSBool multiline)<br>
  3603: {<br>
  3604: JSRegExpStatics *res;<br>
  3605: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3674: CHECK_REQUEST(cx);<br>
  3675: older = cx-&gt;errorReporter;<br>
  3676: cx-&gt;errorReporter = er;<br>
  3677: return older;<br>
  3678: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3606: CHECK_REQUEST(cx);<br>
  3607: /* No locking required, cx is thread-private and input must be live. */<br>
  3608: res = &amp;cx-&gt;regExpStatics;<br>
  3609: res-&gt;input = input;<br>
  3610: res-&gt;multiline = multiline;<br>
  3611: cx-&gt;runtime-&gt;gcPoke = JS_TRUE;<br>
  3612: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3679: <br>
  3680: /************************************************************************/<br>
  3681: <br>
  3682: /*<br>
  3683: * Regular Expressions.<br>
  3684: */<br>
  3685: JS_PUBLIC_API(JSObject *)<br>
  3686: JS_NewRegExpObject(JSContext *cx, char *bytes, size_t length, uintN flags)<br>
  3687: {<br>
  3688: #if JS_HAS_REGEXPS<br>
  3689: jschar *chars;<br>
  3690: JSObject *obj;<br>
  3691: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3613: <br>
  3614: JS_PUBLIC_API(void)<br>
  3615: JS_ClearRegExpStatics(JSContext *cx)<br>
  3616: {<br>
  3617: JSRegExpStatics *res;<br>
  3618: <br>
  3619: /* No locking required, cx is thread-private and input must be live. */<br>
  3620: res = &amp;cx-&gt;regExpStatics;<br>
  3621: res-&gt;input = NULL;<br>
  3622: res-&gt;multiline = JS_FALSE;<br>
  3623: res-&gt;parenCount = 0;<br>
  3624: res-&gt;lastMatch = res-&gt;lastParen = js_EmptySubString;<br>
  3625: res-&gt;leftContext = res-&gt;rightContext = js_EmptySubString;<br>
  3626: cx-&gt;runtime-&gt;gcPoke = JS_TRUE;<br>
  3627: }<br>
  3628: <br>
  3629: JS_PUBLIC_API(void)<br>
  3630: JS_ClearRegExpRoots(JSContext *cx)<br>
  3631: {<br>
  3632: JSRegExpStatics *res;<br>
  3633: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3692: CHECK_REQUEST(cx);<br>
  3693: chars = js_InflateString(cx, bytes, length);<br>
  3694: if (!chars)<br>
  3695: return NULL;<br>
  3696: obj = js_NewRegExpObject(cx, NULL, chars, length, flags);<br>
  3697: JS_free(cx, chars);<br>
  3698: return obj;<br>
  3699: #else<br>
  3700: JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL, JSMSG_NO_REG_EXPS);<br>
  3701: return NULL;<br>
  3702: #endif<br>
  3703: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3634: CHECK_REQUEST(cx);<br>
  3635: /* No locking required, cx is thread-private and input must be live. */<br>
  3636: res = &amp;cx-&gt;regExpStatics;<br>
  3637: res-&gt;input = NULL;<br>
  3638: cx-&gt;runtime-&gt;gcPoke = JS_TRUE;<br>
  3639: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3704: <br>
  3705: JS_PUBLIC_API(JSObject *)<br>
  3706: JS_NewUCRegExpObject(JSContext *cx, jschar *chars, size_t length, uintN 
  flags)<br>
  3707: {<br>
  3708: CHECK_REQUEST(cx);<br>
  3709: #if JS_HAS_REGEXPS<br>
  3710: return js_NewRegExpObject(cx, NULL, chars, length, flags);<br>
  3711: #else<br>
  3712: JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL, JSMSG_NO_REG_EXPS);<br>
  3713: return NULL;<br>
  3714: #endif<br>
  3715: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3640: <br>
  3641: /* TODO: compile, execute, get/set other statics... */<br>
  3642: <br>
  3643: /************************************************************************/<br>
  3644: <br>
  3645: JS_PUBLIC_API(void)<br>
  3646: JS_SetLocaleCallbacks(JSContext *cx, JSLocaleCallbacks *callbacks)<br>
  3647: {<br>
  3648: cx-&gt;localeCallbacks = callbacks;<br>
  3649: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3716: <br>
  3717: JS_PUBLIC_API(void)<br>
  3718: JS_SetRegExpInput(JSContext *cx, JSString *input, JSBool multiline)<br>
  3719: {<br>
  3720: JSRegExpStatics *res;<br>
  3721: <br>
  3722: CHECK_REQUEST(cx);<br>
  3723: /* No locking required, cx is thread-private and input must be live. */<br>
  3724: res = &amp;cx-&gt;regExpStatics;<br>
  3725: res-&gt;input = input;<br>
  3726: res-&gt;multiline = multiline;<br>
  3727: cx-&gt;runtime-&gt;gcPoke = JS_TRUE;<br>
  3728: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3650: <br>
  3651: JS_PUBLIC_API(JSLocaleCallbacks *) <br>
  3652: JS_GetLocaleCallbacks(JSContext *cx)<br>
  3653: {<br>
  3654: return cx-&gt;localeCallbacks;<br>
  3655: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3729: <br>
  3730: JS_PUBLIC_API(void)<br>
  3731: JS_ClearRegExpStatics(JSContext *cx)<br>
  3732: {<br>
  3733: JSRegExpStatics *res;<br>
  3734: <br>
  3735: /* No locking required, cx is thread-private and input must be live. */<br>
  3736: res = &amp;cx-&gt;regExpStatics;<br>
  3737: res-&gt;input = NULL;<br>
  3738: res-&gt;multiline = JS_FALSE;<br>
  3739: res-&gt;parenCount = 0;<br>
  3740: res-&gt;lastMatch = res-&gt;lastParen = js_EmptySubString;<br>
  3741: res-&gt;leftContext = res-&gt;rightContext = js_EmptySubString;<br>
  3742: cx-&gt;runtime-&gt;gcPoke = JS_TRUE;<br>
  3743: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3656: <br>
  3657: /************************************************************************/<br>
  3658: <br>
  3659: JS_PUBLIC_API(JSBool)<br>
  3660: JS_IsExceptionPending(JSContext *cx)<br>
  3661: {<br>
  3662: CHECK_REQUEST(cx);<br>
  3663: #if JS_HAS_EXCEPTIONS<br>
  3664: return (JSBool) cx-&gt;throwing;<br>
  3665: #else<br>
  3666: return JS_FALSE;<br>
  3667: #endif<br>
  3668: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3744: <br>
  3745: JS_PUBLIC_API(void)<br>
  3746: JS_ClearRegExpRoots(JSContext *cx)<br>
  3747: {<br>
  3748: JSRegExpStatics *res;<br>
  3749: <br>
  3750: CHECK_REQUEST(cx);<br>
  3751: /* No locking required, cx is thread-private and input must be live. */<br>
  3752: res = &amp;cx-&gt;regExpStatics;<br>
  3753: res-&gt;input = NULL;<br>
  3754: cx-&gt;runtime-&gt;gcPoke = JS_TRUE;<br>
  3755: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3669: <br>
  3670: JS_PUBLIC_API(JSBool)<br>
  3671: JS_GetPendingException(JSContext *cx, jsval *vp)<br>
  3672: {<br>
  3673: CHECK_REQUEST(cx);<br>
  3674: #if JS_HAS_EXCEPTIONS<br>
  3675: if (!cx-&gt;throwing)<br>
  3676: return JS_FALSE;<br>
  3677: *vp = cx-&gt;exception;<br>
  3678: return JS_TRUE;<br>
  3679: #else<br>
  3680: return JS_FALSE;<br>
  3681: #endif<br>
  3682: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3756: <br>
  3757: /* TODO: compile, execute, get/set other statics... */<br>
  3758: <br>
  3759: /************************************************************************/<br>
  3760: <br>
  3761: JS_PUBLIC_API(void)<br>
  3762: JS_SetLocaleCallbacks(JSContext *cx, JSLocaleCallbacks *callbacks)<br>
  3763: {<br>
  3764: cx-&gt;localeCallbacks = callbacks;<br>
  3765: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3683: <br>
  3684: JS_PUBLIC_API(void)<br>
  3685: JS_SetPendingException(JSContext *cx, jsval v)<br>
  3686: {<br>
  3687: CHECK_REQUEST(cx);<br>
  3688: #if JS_HAS_EXCEPTIONS<br>
  3689: cx-&gt;throwing = JS_TRUE;<br>
  3690: cx-&gt;exception = v;<br>
  3691: #endif<br>
  3692: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3766: <br>
  3767: JS_PUBLIC_API(JSLocaleCallbacks *) <br>
  3768: JS_GetLocaleCallbacks(JSContext *cx)<br>
  3769: {<br>
  3770: return cx-&gt;localeCallbacks;<br>
  3771: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3693: <br>
  3694: JS_PUBLIC_API(void)<br>
  3695: JS_ClearPendingException(JSContext *cx)<br>
  3696: {<br>
  3697: CHECK_REQUEST(cx);<br>
  3698: #if JS_HAS_EXCEPTIONS<br>
  3699: cx-&gt;throwing = JS_FALSE;<br>
  3700: #endif<br>
  3701: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3772: <br>
  3773: /************************************************************************/<br>
  3774: <br>
  3775: JS_PUBLIC_API(JSBool)<br>
  3776: JS_IsExceptionPending(JSContext *cx)<br>
  3777: {<br>
  3778: CHECK_REQUEST(cx);<br>
  3779: #if JS_HAS_EXCEPTIONS<br>
  3780: return (JSBool) cx-&gt;throwing;<br>
  3781: #else<br>
  3782: return JS_FALSE;<br>
  3783: #endif<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3702: <br>
  3703: #if JS_HAS_EXCEPTIONS<br>
  3704: struct JSExceptionState {<br>
  3705: JSBool throwing;<br>
  3706: jsval exception;<br>
  3707: };<br>
  3708: #endif<br>
  3709: <br>
  3710: JS_PUBLIC_API(JSExceptionState *)<br>
  3711: JS_SaveExceptionState(JSContext *cx)<br>
  3712: {<br>
  3713: #if JS_HAS_EXCEPTIONS<br>
  3714: JSExceptionState *state;<br>
  3715: <br>
  3716: CHECK_REQUEST(cx);<br>
  3717: state = (JSExceptionState *) JS_malloc(cx, sizeof(JSExceptionState));<br>
  3718: if (state) {<br>
  3719: state-&gt;throwing = JS_GetPendingException(cx, &amp;state-&gt;exception);<br>
  3720: if (state-&gt;throwing &amp;&amp; JSVAL_IS_GCTHING(state-&gt;exception))<br>
  3721: js_AddRoot(cx, &amp;state-&gt;exception, &quot;JSExceptionState.exception&quot;);<br>
  3722: }<br>
  3723: return state;<br>
  3724: #else<br>
  3725: return NULL;<br>
  3726: #endif<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3785: <br>
  3786: JS_PUBLIC_API(JSBool)<br>
  3787: JS_GetPendingException(JSContext *cx, jsval *vp)<br>
  3788: {<br>
  3789: CHECK_REQUEST(cx);<br>
  3790: #if JS_HAS_EXCEPTIONS<br>
  3791: if (!cx-&gt;throwing)<br>
  3792: return JS_FALSE;<br>
  3793: *vp = cx-&gt;exception;<br>
  3794: return JS_TRUE;<br>
  3795: #else<br>
  3796: return JS_FALSE;<br>
  3797: #endif<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3728: <br>
  3729: JS_PUBLIC_API(void)<br>
  3730: JS_RestoreExceptionState(JSContext *cx, JSExceptionState *state)<br>
  3731: {<br>
  3732: #if JS_HAS_EXCEPTIONS<br>
  3733: CHECK_REQUEST(cx);<br>
  3734: if (state) {<br>
  3735: if (state-&gt;throwing)<br>
  3736: JS_SetPendingException(cx, state-&gt;exception);<br>
  3737: else<br>
  3738: JS_ClearPendingException(cx);<br>
  3739: JS_DropExceptionState(cx, state);<br>
  3740: }<br>
  3741: #endif<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3800: JS_PUBLIC_API(void)<br>
  3801: JS_SetPendingException(JSContext *cx, jsval v)<br>
  3802: {<br>
  3803: CHECK_REQUEST(cx);<br>
  3804: #if JS_HAS_EXCEPTIONS<br>
  3805: cx-&gt;throwing = JS_TRUE;<br>
  3806: cx-&gt;exception = v;<br>
  3807: #endif<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3744: JS_PUBLIC_API(void)<br>
  3745: JS_DropExceptionState(JSContext *cx, JSExceptionState *state)<br>
  3746: {<br>
  3747: #if JS_HAS_EXCEPTIONS<br>
  3748: CHECK_REQUEST(cx);<br>
  3749: if (state) {<br>
  3750: if (state-&gt;throwing &amp;&amp; JSVAL_IS_GCTHING(state-&gt;exception))<br>
  3751: JS_RemoveRoot(cx, &amp;state-&gt;exception);<br>
  3752: JS_free(cx, state);<br>
  3753: }<br>
  3754: #endif<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3809: <br>
  3810: JS_PUBLIC_API(void)<br>
  3811: JS_ClearPendingException(JSContext *cx)<br>
  3812: {<br>
  3813: CHECK_REQUEST(cx);<br>
  3814: #if JS_HAS_EXCEPTIONS<br>
  3815: cx-&gt;throwing = JS_FALSE;<br>
  3816: #endif<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3756: <br>
  3757: JS_PUBLIC_API(JSErrorReport *)<br>
  3758: JS_ErrorFromException(JSContext *cx, jsval v)<br>
  3759: {<br>
  3760: #if JS_HAS_EXCEPTIONS<br>
  3761: CHECK_REQUEST(cx);<br>
  3762: return js_ErrorFromException(cx, v);<br>
  3763: #else<br>
  3764: return NULL;<br>
  3765: #endif<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3818: <br>
  3819: #if JS_HAS_EXCEPTIONS<br>
  3820: struct JSExceptionState {<br>
  3821: JSBool throwing;<br>
  3822: jsval exception;<br>
  3823: };<br>
  3824: #endif<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3767: <br>
  3768: #ifdef JS_THREADSAFE<br>
  3769: JS_PUBLIC_API(intN)<br>
  3770: JS_GetContextThread(JSContext *cx)<br>
  3771: {<br>
  3772: return cx-&gt;thread;<br>
  3773: }<br>
  3774: <br>
  3775: JS_PUBLIC_API(intN)<br>
  3776: JS_SetContextThread(JSContext *cx)<br>
  3777: {<br>
  3778: intN old = cx-&gt;thread;<br>
  3779: cx-&gt;thread = js_CurrentThreadId();<br>
  3780: return old;<br>
  3781: }<br>
  3782: <br>
  3783: JS_PUBLIC_API(intN)<br>
  3784: JS_ClearContextThread(JSContext *cx)<br>
  3785: {<br>
  3786: intN old = cx-&gt;thread;<br>
  3787: cx-&gt;thread = 0;<br>
  3788: return old;<br>
  3789: }<br>
  3790: #endif<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3825: <br>
  3826: JS_PUBLIC_API(JSExceptionState *)<br>
  3827: JS_SaveExceptionState(JSContext *cx)<br>
  3828: {<br>
  3829: #if JS_HAS_EXCEPTIONS<br>
  3830: JSExceptionState *state;<br>
  3831: <br>
  3832: CHECK_REQUEST(cx);<br>
  3833: state = (JSExceptionState *) JS_malloc(cx, sizeof(JSExceptionState));<br>
  3834: if (state) {<br>
  3835: state-&gt;throwing = JS_GetPendingException(cx, &amp;state-&gt;exception);<br>
  3836: if (state-&gt;throwing &amp;&amp; JSVAL_IS_GCTHING(state-&gt;exception))<br>
  3837: js_AddRoot(cx, &amp;state-&gt;exception, &quot;JSExceptionState.exception&quot;);<br>
  3838: }<br>
  3839: return state;<br>
  3840: #else<br>
  3841: return NULL;<br>
  3842: #endif<br>
  3843: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3791: <br>
  3792: /************************************************************************/<br>
  3793: <br>
  3794: #ifdef XP_PC<br>
  3795: #if defined(XP_OS2)<br>
  3796: /*DSR031297 - the OS/2 equiv is dll_InitTerm, but I don't see the need 
  for it*/<br>
  3797: #else<br>
  3798: #include &lt;windows.h&gt;<br>
  3799: /*<br>
  3800: * Initialization routine for the JS DLL...<br>
  3801: */<br>
  3802: <br>
  3803: /*<br>
  3804: * Global Instance handle...<br>
  3805: * In Win32 this is the module handle of the DLL.<br>
  3806: *<br>
  3807: * In Win16 this is the instance handle of the application<br>
  3808: * which loaded the DLL.<br>
  3809: */<br>
  3810: <br>
  3811: #ifdef _WIN32<br>
  3812: BOOL WINAPI DllMain (HINSTANCE hDLL, DWORD dwReason, LPVOID lpReserved)<br>
  3813: {<br>
  3814: return TRUE;<br>
  3815: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3844: <br>
  3845: JS_PUBLIC_API(void)<br>
  3846: JS_RestoreExceptionState(JSContext *cx, JSExceptionState *state)<br>
  3847: {<br>
  3848: #if JS_HAS_EXCEPTIONS<br>
  3849: CHECK_REQUEST(cx);<br>
  3850: if (state) {<br>
  3851: if (state-&gt;throwing)<br>
  3852: JS_SetPendingException(cx, state-&gt;exception);<br>
  3853: else<br>
  3854: JS_ClearPendingException(cx);<br>
  3855: JS_DropExceptionState(cx, state);<br>
  3856: }<br>
  3857: #endif<br>
  3858: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3816: <br>
  3817: #else /* !_WIN32 */<br>
  3818: <br>
  3819: int CALLBACK LibMain( HINSTANCE hInst, WORD wDataSeg,<br>
  3820: WORD cbHeapSize, LPSTR lpszCmdLine )<br>
  3821: {<br>
  3822: return TRUE;<br>
  3823: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3859: <br>
  3860: JS_PUBLIC_API(void)<br>
  3861: JS_DropExceptionState(JSContext *cx, JSExceptionState *state)<br>
  3862: {<br>
  3863: #if JS_HAS_EXCEPTIONS<br>
  3864: CHECK_REQUEST(cx);<br>
  3865: if (state) {<br>
  3866: if (state-&gt;throwing &amp;&amp; JSVAL_IS_GCTHING(state-&gt;exception))<br>
  3867: JS_RemoveRoot(cx, &amp;state-&gt;exception);<br>
  3868: JS_free(cx, state);<br>
  3869: }<br>
  3870: #endif<br>
  3871: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3824: <br>
  3825: BOOL CALLBACK __loadds WEP(BOOL fSystemExit)<br>
  3826: {<br>
  3827: return TRUE;<br>
  3828: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.c<br>
  3872: <br>
  3873: JS_PUBLIC_API(JSErrorReport *)<br>
  3874: JS_ErrorFromException(JSContext *cx, jsval v)<br>
  3875: {<br>
  3876: #if JS_HAS_EXCEPTIONS<br>
  3877: CHECK_REQUEST(cx);<br>
  3878: return js_ErrorFromException(cx, v);<br>
  3879: #else<br>
  3880: return NULL;<br>
  3881: #endif<br>
  3882: }<br>
  3883: <br>
  3884: #ifdef JS_THREADSAFE<br>
  3885: JS_PUBLIC_API(intN)<br>
  3886: JS_GetContextThread(JSContext *cx)<br>
  3887: {<br>
  3888: return cx-&gt;thread;<br>
  3889: }<br>
  3890: <br>
  3891: JS_PUBLIC_API(intN)<br>
  3892: JS_SetContextThread(JSContext *cx)<br>
  3893: {<br>
  3894: intN old = cx-&gt;thread;<br>
  3895: cx-&gt;thread = js_CurrentThreadId();<br>
  3896: return old;<br>
  3897: }<br>
  3898: <br>
  3899: JS_PUBLIC_API(intN)<br>
  3900: JS_ClearContextThread(JSContext *cx)<br>
  3901: {<br>
  3902: intN old = cx-&gt;thread;<br>
  3903: cx-&gt;thread = 0;<br>
  3904: return old;<br>
  3905: }<br>
  3906: #endif<br>
  3907: <br>
  3908: /************************************************************************/<br>
  3909: <br>
  3910: // DREAMWEAVER: DaveG - we're building a static lib, so don't include 
  this defns<br>
  3911: #if 0<br>
  3912: <br>
  3913: #ifdef XP_PC<br>
  3914: #if defined(XP_OS2)<br>
  3915: /*DSR031297 - the OS/2 equiv is dll_InitTerm, but I don't see the need 
  for it*/<br>
  3916: #else<br>
  3917: #include &lt;windows.h&gt;<br>
  3918: /*<br>
  3919: * Initialization routine for the JS DLL...<br>
  3920: */<br>
  3921: <br>
  3922: /*<br>
  3923: * Global Instance handle...<br>
  3924: * In Win32 this is the module handle of the DLL.<br>
  3925: *<br>
  3926: * In Win16 this is the instance handle of the application<br>
  3927: * which loaded the DLL.<br>
  3928: */<br>
  3929: <br>
  3930: #ifdef _WIN32<br>
  3931: BOOL WINAPI DllMain (HINSTANCE hDLL, DWORD dwReason, LPVOID lpReserved)<br>
  3932: {<br>
  3933: return TRUE;<br>
  3934: }<br>
  3935: <br>
  3936: #else /* !_WIN32 */<br>
  3937: <br>
  3938: int CALLBACK LibMain( HINSTANCE hInst, WORD wDataSeg,<br>
  3939: WORD cbHeapSize, LPSTR lpszCmdLine )<br>
  3940: {<br>
  3941: return TRUE;<br>
  3942: }<br>
  3943: <br>
  3944: BOOL CALLBACK __loadds WEP(BOOL fSystemExit)<br>
  3945: {<br>
  3946: return TRUE;<br>
  3947: }<br>
  3948: <br>
  3949: #endif /* !_WIN32 */<br>
  3950: #endif /* XP_OS2 */<br>
  3951: #endif /* XP_PC */<br>
  3952: <br>
  3953: #endif<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.C<br>
  3829: <br>
  3830: #endif /* !_WIN32 */<br>
  3831: #endif /* XP_OS2 */<br>
  3832: #endif /* XP_PC */<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.h and C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.H</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.h<br>
  153: <br>
  154: // DREAMWEAVER added this function<br>
  155: extern JS_PUBLIC_API(JSBool)<br>
  156: JS_DoubleIsNaN(jsdouble n);<br>
  157: <br>
  158: /*<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.H<br>
  153: <br>
  154: /*<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.h<br>
  922: <br>
  923: <br>
  924: // DREAMWEAVER: renamed parameter &quot;vector&quot; to &quot;vector_arg&quot; 
  to avoid <br>
  925: // a build error in files that include jsapi.h and also have &quot;using<br>
  926: // namespace std&quot; (or include a header file that does this).<br>
  927: extern JS_PUBLIC_API(JSObject *)<br>
  928: JS_NewArrayObject(JSContext *cx, jsint length, jsval *vector_arg);<br>
  929: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.H<br>
  918: <br>
  919: extern JS_PUBLIC_API(JSObject *)<br>
  920: JS_NewArrayObject(JSContext *cx, jsint length, jsval *vector);<br>
  921: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.h<br>
  948: <br>
  949: // DREAMWEAVER added this function<br>
  950: extern JS_PUBLIC_API(JSBool)<br>
  951: JS_AliasElementToProperty(JSContext *cx, JSObject *obj, const char *name, 
  jsint alias);<br>
  952: <br>
  953: // DREAMWEAVER added this function<br>
  954: extern JS_PUBLIC_API(JSBool)<br>
  955: JS_AliasPropertyToElement(JSContext *cx, JSObject *obj, jsint index, const 
  char *alias);<br>
  956: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.H<br>
  940: <br>
  941: extern JS_PUBLIC_API(JSBool)<br>
  942: JS_LookupElement(JSContext *cx, JSObject *obj, jsint index, jsval *vp);<br>
  943: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.h<br>
  957: extern JS_PUBLIC_API(JSBool)<br>
  958: JS_LookupElement(JSContext *cx, JSObject *obj, jsint index, jsval *vp);<br>
  959: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.H<br>
  944: extern JS_PUBLIC_API(JSBool)<br>
  945: JS_GetElement(JSContext *cx, JSObject *obj, jsint index, jsval *vp);<br>
  946: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.h<br>
  960: extern JS_PUBLIC_API(JSBool)<br>
  961: JS_GetElement(JSContext *cx, JSObject *obj, jsint index, jsval *vp);<br>
  962: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.H<br>
  947: extern JS_PUBLIC_API(JSBool)<br>
  948: JS_SetElement(JSContext *cx, JSObject *obj, jsint index, jsval *vp);<br>
  949: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.h<br>
  963: extern JS_PUBLIC_API(JSBool)<br>
  964: JS_SetElement(JSContext *cx, JSObject *obj, jsint index, jsval *vp);<br>
  965: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.H<br>
  950: extern JS_PUBLIC_API(JSBool)<br>
  951: JS_DeleteElement(JSContext *cx, JSObject *obj, jsint index);<br>
  952: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsapi.h<br>
  966: extern JS_PUBLIC_API(JSBool)<br>
  967: JS_DeleteElement(JSContext *cx, JSObject *obj, jsint index);<br>
  968: <br>
  969: extern JS_PUBLIC_API(JSBool)<br>
  970: JS_DeleteElement2(JSContext *cx, JSObject *obj, jsint index, jsval *rval);<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSAPI.H<br>
  953: extern JS_PUBLIC_API(JSBool)<br>
  954: JS_DeleteElement2(JSContext *cx, JSObject *obj, jsint index, jsval *rval);<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsarena.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSARENA.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsarena.c<br>
  39: */<br>
  40: #include &quot;DW_decls.h&quot;<br>
  41: <br>
  42: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSARENA.C<br>
  39: */<br>
  40: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsarray.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSARRAY.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsarray.c<br>
  37: */<br>
  38: #include &quot;DW_decls.h&quot;<br>
  39: <br>
  40: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSARRAY.C<br>
  37: */<br>
  38: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsarray.c<br>
  547: return JS_FALSE;<br>
  548: <br>
  549: // DREAMWEAVER CHANGE<br>
  550: // original code was JS_PropertyStub, JS_PropertyStub instead of<br>
  551: // NULL, NULL<br>
  552: // <br>
  553: // An explanation from DaveG:<br>
  554: // <br>
  555: // &gt; Let's suppose the user's document contains a [select] tag:<br>
  556: // &gt; <br>
  557: // &gt; [select name=&quot;mySelectTag&quot;]<br>
  558: // &gt; [option]one[/option]<br>
  559: // &gt; [option]two[/option]<br>
  560: // &gt; [/select]<br>
  561: // &gt; <br>
  562: // &gt; That tag can be accessed through the DOM as follows:<br>
  563: // &gt; <br>
  564: // &gt; theSelect = document.forms[0].mySelectTag<br>
  565: // &gt; alert(&quot;first option = &quot; + theSelect.options[0]);<br>
  566: // &gt; theSelect.options[0] = &quot;new first option&quot;;<br>
  567: // &gt; <br>
  568: // &gt; In order to implement that functionality, I found that I needed 
  to override<br>
  569: // &gt; the default implementation of the Array type. I implemented the 
  options<br>
  570: // &gt; property on the select object so that it returns an OptionsArray 
  object<br>
  571: // &gt; instead of an Array object. The OptionsArray type is a subclass 
  of Array,<br>
  572: // &gt; but it has its own implementation for getting the value of options[0] 
  (the<br>
  573: // &gt; value is sucked out of the corresponding TTAG_OPTION Run in the 
  Run tree)<br>
  574: // &gt; and setting the value of options[0] (the value is the Run tree 
  is updated).<br>
  575: // &gt; <br>
  576: // &gt; I found that I needed to change the base implementation of Array, 
  so that I<br>
  577: // &gt; could create a sub-class of it (OptionsArray).<br>
  578: if (!OBJ_DEFINE_PROPERTY(cx, obj, id, vector[index],<br>
  579: NULL, NULL, // DaveG: use getter/setter defined for class<br>
  580: JSPROP_ENUMERATE,<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSARRAY.C<br>
  545: return JS_FALSE;<br>
  546: if (!OBJ_DEFINE_PROPERTY(cx, obj, id, vector[index],<br>
  547: JS_PropertyStub, JS_PropertyStub,<br>
  548: JSPROP_ENUMERATE,<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsarray.c<br>
  1451: <br>
  1452: // DREAMWEAVER: Added by DaveG so Dreamweaver can access this InitArrayObject<br>
  1453: JSBool<br>
  1454: JS_InitArrayObject(JSContext *cx, JSObject *obj, jsuint length, jsval 
  *vector)<br>
  1455: {<br>
  1456: return InitArrayObject(cx, obj, length, vector);<br>
  1457: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSARRAY.C<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsarray.h and C:\TEMP\JAVASCRIPT15\JS\SRC\JSARRAY.H</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsarray.h<br>
  69: <br>
  70: // DREAMWEAVER: Added this function<br>
  71: extern JSBool<br>
  72: JS_InitArrayObject(JSContext *cx, JSObject *obj, jsuint length, jsval *vector);<br>
  73: <br>
  74: JS_END_EXTERN_C<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSARRAY.H<br>
  69: <br>
  70: JS_END_EXTERN_C<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsatom.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSATOM.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsatom.c<br>
  37: */<br>
  38: #include &quot;DW_decls.h&quot;<br>
  39: <br>
  40: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSATOM.C<br>
  37: */<br>
  38: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsbool.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSBOOL.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsbool.c<br>
  37: */<br>
  38: #include &quot;DW_decls.h&quot;<br>
  39: <br>
  40: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSBOOL.C<br>
  37: */<br>
  38: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jscntxt.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSCNTXT.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jscntxt.c<br>
  37: */<br>
  38: #include &quot;DW_decls.h&quot;<br>
  39: <br>
  40: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSCNTXT.C<br>
  37: */<br>
  38: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jscpucfg.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSCPUCFG.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jscpucfg.c<br>
  37: */<br>
  38: #include &quot;DW_decls.h&quot;<br>
  39: <br>
  40: #include &lt;stdio.h&gt;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSCPUCFG.C<br>
  37: */<br>
  38: #include &lt;stdio.h&gt;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jscpucfg.h and C:\TEMP\JAVASCRIPT15\JS\SRC\JSCPUCFG.H</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jscpucfg.h<br>
  87: #if defined( _WIN32) || defined(XP_OS2)<br>
  88: #undef IS_LITTLE_ENDIAN<br>
  89: #define IS_LITTLE_ENDIAN 1<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSCPUCFG.H<br>
  87: #if defined( _WIN32) || defined(XP_OS2)<br>
  88: #define IS_LITTLE_ENDIAN 1<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsdate.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSDATE.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsdate.c<br>
  47: <br>
  48: #include &quot;DW_decls.h&quot;<br>
  49: <br>
  50: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSDATE.C<br>
  47: <br>
  48: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsdate.c<br>
  358: <br>
  359: // DREAMWEAVER: added the #ifdef to suppress DaylightSavingTA for Mac builds<br>
  360: // (snewman adding comment on behalf of sleifer, 7/13/01)<br>
  361: #ifdef XP_MAC<br>
  362: // dont need separate DST adjust on the mac??<br>
  363: #define LocalTime(t) ((t) + LocalTZA)<br>
  364: #else<br>
  365: #define LocalTime(t) ((t) + LocalTZA + DaylightSavingTA(t))<br>
  366: #endif<br>
  367: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSDATE.C<br>
  356: <br>
  357: #define LocalTime(t) ((t) + LocalTZA + DaylightSavingTA(t))<br>
  358: <br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsdbgapi.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSDBGAPI.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsdbgapi.c<br>
  37: */<br>
  38: #include &quot;DW_decls.h&quot;<br>
  39: <br>
  40: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSDBGAPI.C<br>
  37: */<br>
  38: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsdhash.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSDHASH.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsdhash.c<br>
  36: */<br>
  37: #include &quot;DW_decls.h&quot;<br>
  38: <br>
  39: #include &lt;stdlib.h&gt;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSDHASH.C<br>
  36: */<br>
  37: #include &lt;stdlib.h&gt;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsdtoa.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSDTOA.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsdtoa.c<br>
  37: */<br>
  38: #include &quot;DW_decls.h&quot;<br>
  39: <br>
  40: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSDTOA.C<br>
  37: */<br>
  38: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsdtoa.h and C:\TEMP\JAVASCRIPT15\JS\SRC\JSDTOA.H</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsdtoa.h<br>
  114: <br>
  115: <br>
  116: // DREAMWEAVER snewman 3/28/01: added declaration to avoid &quot;no prototype&quot; 
  warning<br>
  117: extern void js_FinishDtoa(void);<br>
  118: <br>
  119: #endif /* jsdtoa_h___ */<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSDTOA.H<br>
  114: <br>
  115: #endif /* jsdtoa_h___ */<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsemit.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSEMIT.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsemit.c<br>
  37: */<br>
  38: #include &quot;DW_decls.h&quot;<br>
  39: <br>
  40: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSEMIT.C<br>
  37: */<br>
  38: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsexn.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSEXN.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsexn.c<br>
  38: <br>
  39: #include &quot;DW_decls.h&quot;<br>
  40: <br>
  41: #include &lt;string.h&gt;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSEXN.C<br>
  38: <br>
  39: #include &lt;string.h&gt;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsfile.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSFILE.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsfile.c<br>
  37: */<br>
  38: #include &quot;DW_decls.h&quot;<br>
  39: <br>
  40: #if JS_HAS_FILE_OBJECT<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSFILE.C<br>
  37: */<br>
  38: #if JS_HAS_FILE_OBJECT<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsfun.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSFUN.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsfun.c<br>
  37: */<br>
  38: #include &quot;DW_decls.h&quot;<br>
  39: <br>
  40: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSFUN.C<br>
  37: */<br>
  38: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsfun.c<br>
  1715: <br>
  1716: // DREAMWEAVER: see jsprofiler.h<br>
  1717: #ifdef DREAMWEAVER_JAVASCRIPT_PROFILING<br>
  1718: fun-&gt;dummyFunction = -1;<br>
  1719: #endif<br>
  1720: <br>
  1721: <br>
  1722: /* Link fun to funobj and vice versa. */<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSFUN.C<br>
  1713: <br>
  1714: /* Link fun to funobj and vice versa. */<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsfun.h and C:\TEMP\JAVASCRIPT15\JS\SRC\JSFUN.H</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsfun.h<br>
  42: <br>
  43: // DREAMWEAVER: see jsprofiler.h<br>
  44: #include &quot;_dw/jsprofiler.h&quot;<br>
  45: <br>
  46: JS_BEGIN_EXTERN_C<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSFUN.H<br>
  42: <br>
  43: JS_BEGIN_EXTERN_C<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsfun.h<br>
  59: JSClass *clasp; /* if non-null, constructor for this class */<br>
  60: // DREAMWEAVER: see jsprofiler.h<br>
  61: #ifdef DREAMWEAVER_JAVASCRIPT_PROFILING<br>
  62: int dummyFunction; /* see jsprofiler.h */<br>
  63: #endif<br>
  64: };<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSFUN.H<br>
  56: JSClass *clasp; /* if non-null, constructor for this class */<br>
  57: };<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsgc.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSGC.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsgc.c<br>
  44: */<br>
  45: #include &quot;DW_decls.h&quot;<br>
  46: <br>
  47: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSGC.C<br>
  44: */<br>
  45: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jshash.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSHASH.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jshash.c<br>
  37: */<br>
  38: #include &quot;DW_decls.h&quot;<br>
  39: <br>
  40: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSHASH.C<br>
  37: */<br>
  38: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsinterp.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSINTERP.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsinterp.c<br>
  37: */<br>
  38: #include &quot;DW_decls.h&quot;<br>
  39: <br>
  40: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSINTERP.C<br>
  37: */<br>
  38: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsinterp.c<br>
  69: <br>
  70: // DREAMWEAVER: added JavaScript profiling - see jsprofiler.h<br>
  71: #include &quot;_dw/jsprofiler.h&quot;<br>
  72: <br>
  73: // DREAMWEAVER: inserted this declaration (see usage below).<br>
  74: extern JSBool JSCallNativeSafe (JSNative native, JSContext *cx, JSObject 
  *obj, uintN argc, jsval *argv,<br>
  75: jsval *rval);<br>
  76: <br>
  77: <br>
  78: void<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSINTERP.C<br>
  67: <br>
  68: void<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsinterp.c<br>
  318: <br>
  319: // DREAMWEAVER snewman 3/28/01: added prototype to eliminate compiler<br>
  320: // warning.<br>
  321: JS_FRIEND_API(jsval *)<br>
  322: js_AllocRawStack(JSContext *cx, uintN nslots, void **markp);<br>
  323: <br>
  324: JS_FRIEND_API(jsval *)<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSINTERP.C<br>
  308: <br>
  309: JS_FRIEND_API(jsval *)<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsinterp.c<br>
  340: <br>
  341: // DREAMWEAVER snewman 3/28/01: added prototype to eliminate compiler<br>
  342: // warning.<br>
  343: JS_FRIEND_API(void)<br>
  344: js_FreeRawStack(JSContext *cx, void *mark);<br>
  345: <br>
  346: JS_FRIEND_API(void)<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSINTERP.C<br>
  325: <br>
  326: JS_FRIEND_API(void)<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsinterp.c<br>
  796: frame.scopeChain = fp-&gt;scopeChain;<br>
  797: // DREAMWEAVER: patched to call JSCallNativeSafe instead of calling<br>
  798: // the native function directly. JSCallNativeSafe catches C++<br>
  799: // exceptions and turns them into an error result.<br>
  800: ok = JSCallNativeSafe(native, cx, frame.thisp, argc, frame.argv, &amp;frame.rval);<br>
  801: JS_RUNTIME_METER(cx-&gt;runtime, nativeCalls);<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSINTERP.C<br>
  776: frame.scopeChain = fp-&gt;scopeChain;<br>
  777: ok = native(cx, frame.thisp, argc, frame.argv, &amp;frame.rval);<br>
  778: JS_RUNTIME_METER(cx-&gt;runtime, nativeCalls);<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsinterp.c<br>
  1167: <br>
  1168: // DREAMWEAVER: added JavaScript profiling - see jsprofiler.h<br>
  1169: #ifdef DREAMWEAVER_JAVASCRIPT_PROFILING<br>
  1170: JSBool<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSINTERP.C<br>
  1144: <br>
  1145: JSBool<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsinterp.c<br>
  1172: {<br>
  1173: return jsprofiler_Interpret(cx, result);<br>
  1174: }<br>
  1175: <br>
  1176: JSBool<br>
  1177: js_InterpretInternal(JSContext *cx, jsval *result)<br>
  1178: #else<br>
  1179: JSBool<br>
  1180: js_Interpret(JSContext *cx, jsval *result)<br>
  1181: #endif<br>
  1182: {<br>
  1183: JSRuntime *rt;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSINTERP.C<br>
  1147: {<br>
  1148: JSRuntime *rt;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsinterp.c<br>
  2605: <br>
  2606: // Dreamweaver: if we're profiling, inline functions are invisible<br>
  2607: // to the profiler, so disable them.<br>
  2608: #ifndef DREAMWEAVER_JAVASCRIPT_PROFILING<br>
  2609: <br>
  2610: if (JSVAL_IS_FUNCTION(cx, lval) &amp;&amp;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSINTERP.C<br>
  2570: <br>
  2571: if (JSVAL_IS_FUNCTION(cx, lval) &amp;&amp;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsinterp.c<br>
  2708: <br>
  2709: #endif /* DREAMWEAVER_JAVASCRIPT_PROFILING */<br>
  2710: <br>
  2711: ok = js_Invoke(cx, argc, 0);<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSINTERP.C<br>
  2669: <br>
  2670: ok = js_Invoke(cx, argc, 0);<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jslibmath.h and C:\TEMP\JAVASCRIPT15\JS\SRC\JSLIBMATH.H</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jslibmath.h<br>
  54: #include &lt;math.h&gt;<br>
  55: <br>
  56: <br>
  57: // DREAMWEAVER: inserted these three lines<br>
  58: #ifdef _WIN32<br>
  59: #include &lt;float.h&gt;<br>
  60: #endif<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSLIBMATH.H<br>
  54: #include &lt;math.h&gt;<br>
  55: #include &quot;jsconfig.h&quot;<br>
  56: #ifdef MOZILLA_CLIENT<br>
  57: #include &quot;platform.h&quot;<br>
  58: #endif<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jslibmath.h<br>
  61: <br>
  62: <br>
  63: #include &quot;jsconfig.h&quot;<br>
  64: #ifdef MOZILLA_CLIENT<br>
  65: #include &quot;platform.h&quot;<br>
  66: #endif<br>
  67: <br>
  68: /*<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSLIBMATH.H<br>
  59: <br>
  60: /*<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jslibmath.h<br>
  73: #if defined(_WIN32) &amp;&amp; !defined(__MWERKS__)<br>
  74: <br>
  75: // DREAMWEAVER: changed this from 1 to 0<br>
  76: #define JS_USE_FDLIBM_MATH 0<br>
  77: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSLIBMATH.H<br>
  65: #if defined(_WIN32) &amp;&amp; !defined(__MWERKS__)<br>
  66: #define JS_USE_FDLIBM_MATH 1<br>
  67: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jslibmath.h<br>
  117: #define fd_ceil ceil<br>
  118: <br>
  119: // DREAMWEAVER: tweaked definition of fd_copysign<br>
  120: #ifdef XP_OS2_VACPP /* OS2TODO */<br>
  121: #define fd_copysign <br>
  122: #elif defined (_WIN32)<br>
  123: #define fd_copysign _copysign<br>
  124: #else<br>
  125: #define fd_copysign copysign<br>
  126: #endif<br>
  127: <br>
  128: #define fd_cos cos<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSLIBMATH.H<br>
  107: #define fd_ceil ceil<br>
  108: #define fd_copysign copysign<br>
  109: #define fd_cos cos<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jslock.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSLOCK.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jslock.c<br>
  34: <br>
  35: #include &quot;DW_decls.h&quot;<br>
  36: <br>
  37: #ifdef JS_THREADSAFE<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSLOCK.C<br>
  34: <br>
  35: #ifdef JS_THREADSAFE<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jslog2.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSLOG2.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jslog2.c<br>
  34: <br>
  35: #include &quot;DW_decls.h&quot;<br>
  36: <br>
  37: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSLOG2.C<br>
  34: <br>
  35: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jslong.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSLONG.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jslong.c<br>
  34: <br>
  35: #include &quot;DW_decls.h&quot;<br>
  36: <br>
  37: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSLONG.C<br>
  34: <br>
  35: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsmath.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSMATH.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsmath.c<br>
  37: */<br>
  38: #include &quot;DW_decls.h&quot;<br>
  39: <br>
  40: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSMATH.C<br>
  37: */<br>
  38: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsnum.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSNUM.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsnum.c<br>
  48: */<br>
  49: #include &quot;DW_decls.h&quot;<br>
  50: <br>
  51: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSNUM.C<br>
  48: */<br>
  49: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsnum.h and C:\TEMP\JAVASCRIPT15\JS\SRC\JSNUM.H</p>
<p><br>
  FC: no differences encountered</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsobj.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSOBJ.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsobj.c<br>
  37: */<br>
  38: #include &quot;DW_decls.h&quot;<br>
  39: <br>
  40: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSOBJ.C<br>
  37: */<br>
  38: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsobj.c<br>
  1253: {<br>
  1254: JSBool ret;<br>
  1255: jsval val;<br>
  1256: <br>
  1257: JSObject *proto = OBJ_GET_PROTO(cx, obj);<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSOBJ.C<br>
  1251: {<br>
  1252: JSObject *proto = OBJ_GET_PROTO(cx, obj);<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsobj.c<br>
  1259: return js_LookupProperty(cx, obj, id, objp, propp);<br>
  1260: <br>
  1261: /* DREAMWEAVER<br>
  1262: * DaveG - if the lookup didn't find the property, do a get_property to<br>
  1263: * see if the prop exists. If it does, define the property now.<br>
  1264: * <br>
  1265: * snewman 2/22/01: this is necessary because Dreamweaver defines<br>
  1266: * object classes with additional properties, but doesn't quite<br>
  1267: * follow the rules when doing so. See dw_js_notes.txt for details.<br>
  1268: * <br>
  1269: * The full change we've made to this routine is as follows:<br>
  1270: * <br>
  1271: * 1. Insert the declarations of ret and val, above.<br>
  1272: * 2. Convert the next line to assign the result of OBJ_LOOKUP_PROPERTY<br>
  1273: * into ret, instead of returning it directly.<br>
  1274: * 3. Insert the following seven lines (the &quot;if (ret &amp;&amp; *propp 
  == NULL)&quot;<br>
  1275: * and the code inside it).<br>
  1276: * 4. Add &quot;return ret&quot;.<br>
  1277: */<br>
  1278: ret = OBJ_LOOKUP_PROPERTY(cx, proto, id, objp, propp);<br>
  1279: <br>
  1280: if (ret &amp;&amp; *propp == NULL) {<br>
  1281: val = JSVAL_VOID;<br>
  1282: OBJ_GET_PROPERTY(cx, proto, id, &amp;val);<br>
  1283: if (val != JSVAL_VOID) {<br>
  1284: OBJ_DEFINE_PROPERTY(cx, proto, id, val, NULL, NULL, 0, NULL);<br>
  1285: OBJ_LOOKUP_PROPERTY(cx, proto, id, objp, propp);<br>
  1286: }<br>
  1287: }<br>
  1288: <br>
  1289: return ret;<br>
  1290: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSOBJ.C<br>
  1254: return js_LookupProperty(cx, obj, id, objp, propp);<br>
  1255: return OBJ_LOOKUP_PROPERTY(cx, proto, id, objp, propp);<br>
  1256: }<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsopcode.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSOPCODE.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsopcode.c<br>
  37: */<br>
  38: #include &quot;DW_decls.h&quot;<br>
  39: <br>
  40: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSOPCODE.C<br>
  37: */<br>
  38: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsparse.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSPARSE.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsparse.c<br>
  49: */<br>
  50: #include &quot;DW_decls.h&quot;<br>
  51: <br>
  52: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSPARSE.C<br>
  49: */<br>
  50: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsparse.c<br>
  353: <br>
  354: <br>
  355: // DREAMWEAVER snewman 3/16/01: added this flag to detect re-entrant calls<br>
  356: // to the JS compiler. I'm getting a wierd illegal-access error when the<br>
  357: // internal JavaScript debugger contains a compile-time error, and I think<br>
  358: // it's because this causes us to invoke the compiler reentrantly and it<br>
  359: // gets mixed up about tempPool.<br>
  360: JSBool gInCompileTokenStream = JS_FALSE;<br>
  361: <br>
  362: <br>
  363: /*<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSPARSE.C<br>
  351: <br>
  352: /*<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsparse.c<br>
  372: JSBool ok;<br>
  373: <br>
  374: // DREAMWEAVER snewman 3/16/01: see declaration of gInCompileTokenStream.<br>
  375: JS_ASSERT(!gInCompileTokenStream);<br>
  376: gInCompileTokenStream = JS_TRUE;<br>
  377: <br>
  378: #ifdef METER_PARSENODES<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSPARSE.C<br>
  361: JSBool ok;<br>
  362: #ifdef METER_PARSENODES<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsparse.c<br>
  437: cx-&gt;fp = fp;<br>
  438: <br>
  439: // DREAMWEAVER snewman 3/16/01: see declaration of gInCompileTokenStream.<br>
  440: gInCompileTokenStream = JS_FALSE;<br>
  441: <br>
  442: return ok;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSPARSE.C<br>
  421: cx-&gt;fp = fp;<br>
  422: return ok;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsparse.c<br>
  835: }<br>
  836: <br>
  837: <br>
  838: // DREAMWEAVER macromedia change - jschang 6/1/01<br>
  839: // if the containing object has the special property - MM_defineFunctionsOnCompile 
  <br>
  840: // then define the property now - this is because we need to compile scripts 
  <br>
  841: // in the document, so we can execute some of the functions selectively 
  later on<br>
  842: // - JavaScript 1.2 did this autmoatically, but the JavaScript 1.5 only 
  defines the <br>
  843: // property when you execute the script that contains the function <br>
  844: // definition, but we can't just execute any old script, we only execute 
  <br>
  845: // specific behavior functions that we define and have control over.<br>
  846: //<br>
  847: // The following code that defines the property is copied and modified 
  from <br>
  848: // jsinterp.c, js_Interpret, case JSOP_DEFFUN:<br>
  849: else {<br>
  850: JSStackFrame *fp;<br>
  851: JSObject *varobj;<br>
  852: JSBool ok, cond;<br>
  853: jsval specialPropVal;<br>
  854: uintN flags, attrs;<br>
  855: <br>
  856: fp = cx-&gt;fp;<br>
  857: varobj = fp-&gt;varobj;<br>
  858: <br>
  859: // check the special property<br>
  860: if ( JS_GetProperty(cx, varobj, &quot;MM_defineFunctionsOnCompile&quot;, 
  &amp;specialPropVal) &amp;&amp; <br>
  861: JS_TRUE == JSVAL_TO_BOOLEAN(specialPropVal) )<br>
  862: {<br>
  863: /*<br>
  864: * We must be at top-level (default &quot;box&quot;, either function body 
  or<br>
  865: * global) scope, not inside a with or other compound statement in<br>
  866: * the same compilation unit (ECMA Program).<br>
  867: *<br>
  868: * However, we could be in a Program being eval'd from inside a<br>
  869: * with statement, so we need to distinguish variables object from<br>
  870: * scope chain head. Hence the two assignments to parent below.<br>
  871: * First we make sure the function object we're defining has the<br>
  872: * right scope chain. Then we define its name in fp-&gt;varobj.<br>
  873: *<br>
  874: * If static link is not current scope, clone fun's object to link<br>
  875: * to the current scope via parent. This clause exists to enable<br>
  876: * sharing of compiled functions among multiple equivalent scopes,<br>
  877: * splitting the cost of compilation evenly among the scopes and<br>
  878: * amortizing it over a number of executions. Examples include XUL<br>
  879: * scripts and event handlers shared among Mozilla chrome windows,<br>
  880: * and server-side JS user-defined functions shared among requests.<br>
  881: *<br>
  882: * NB: The Script object exposes compile and exec in the language,<br>
  883: * such that this clause introduces an incompatible change from old<br>
  884: * JS versions that supported Script. Such a JS version supported<br>
  885: * executing a script that defined and called functions scoped by<br>
  886: * the compile-time static link, not by the exec-time scope chain.<br>
  887: *<br>
  888: * We sacrifice compatibility, breaking such scripts, in order to<br>
  889: * promote compile-cost sharing and amortizing, and because Script<br>
  890: * is not and will not be standardized.<br>
  891: */<br>
  892: /***** jschang - this is in js_Execute: I don't think we need it here<br>
  893: parent = fp-&gt;scopeChain;<br>
  894: if (OBJ_GET_PARENT(cx, obj) != parent) {<br>
  895: obj = js_CloneFunctionObject(cx, obj, parent);<br>
  896: if (!obj) {<br>
  897: ok = JS_FALSE;<br>
  898: goto out;<br>
  899: }<br>
  900: }<br>
  901: *****/<br>
  902: <br>
  903: /* Load function flags that are also property attributes. */<br>
  904: flags = fun-&gt;flags &amp; (JSFUN_GETTER | JSFUN_SETTER);<br>
  905: attrs = flags | JSPROP_ENUMERATE;<br>
  906: <br>
  907: /*<br>
  908: * Check for a const property of the same name -- or any kind<br>
  909: * of property if executing with the strict option. We check<br>
  910: * here at runtime as well as at compile-time, to handle eval<br>
  911: * as well as multiple HTML script tags.<br>
  912: */<br>
  913: parent = fp-&gt;varobj;<br>
  914: if (js_CheckRedeclaration(cx, parent, (jsid)funAtom, attrs, &amp;cond))<br>
  915: {<br>
  916: ok = OBJ_DEFINE_PROPERTY(cx, parent, (jsid)funAtom,<br>
  917: OBJECT_TO_JSVAL(fun-&gt;object),<br>
  918: (flags &amp; JSFUN_GETTER)<br>
  919: ? (JSPropertyOp) fun-&gt;object<br>
  920: : NULL,<br>
  921: (flags &amp; JSFUN_SETTER)<br>
  922: ? (JSPropertyOp) fun-&gt;object<br>
  923: : NULL,<br>
  924: attrs,<br>
  925: NULL);<br>
  926: }<br>
  927: }<br>
  928: }<br>
  929: #endif<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSPARSE.C<br>
  815: }<br>
  816: #endif<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsparse.c<br>
  1057: !JSVERSION_IS_ECMA(cx-&gt;version);<br>
  1058: <br>
  1059: // DREAMWEAVER dgeorge 4/23/02: there are lots of Dreamweaver<br>
  1060: // extensions, such as the &quot;Javascript Integration Kit for<br>
  1061: // Macromedia Flash 5&quot;, which will break if we stop treating<br>
  1062: // a single equals sign as equality. Therefore, I'm forcing<br>
  1063: // rewrite to be true. Also see the code in CompileOrExecScript<br>
  1064: // (in JSInterp.cpp) to handle this case.<br>
  1065: rewrite = JS_TRUE;<br>
  1066: <br>
  1067: if (!js_ReportCompileErrorNumber(cx, ts, NULL,<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSPARSE.C<br>
  944: !JSVERSION_IS_ECMA(cx-&gt;version);<br>
  945: if (!js_ReportCompileErrorNumber(cx, ts, NULL,<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsparse.h and C:\TEMP\JAVASCRIPT15\JS\SRC\JSPARSE.H</p>
<p><br>
  FC: no differences encountered</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsprf.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSPRF.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsprf.c<br>
  39: */<br>
  40: #include &quot;DW_decls.h&quot;<br>
  41: <br>
  42: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSPRF.C<br>
  39: */<br>
  40: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  37: */<br>
  38: #include &quot;DW_decls.h&quot;<br>
  39: <br>
  40: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  37: */<br>
  38: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  67: <br>
  68: /* Dreamweaver DREAMWEAVER dw Ultradev ULTRADEV ud VELCRO<br>
  69: * <br>
  70: * This is a dreamweaver specific addition to the mozilla <br>
  71: * release of JS 1.5. Defining DREAMWEAVER_INCLUDE_EXTENDED_CHARS_IN_CLASSES<br>
  72: * will include include Unicode characters above 255 in the \w \W \s and 
  \S<br>
  73: * classes. All changes are wrapped in this define.<br>
  74: */<br>
  75: #define DREAMWEAVER_INCLUDE_EXTENDED_CHARS_IN_CLASSES<br>
  76: <br>
  77: typedef struct RENode RENode;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  65: <br>
  66: typedef struct RENode RENode;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  146: uint16 bmsize; /* bitmap size, based on max char code */<br>
  147: #ifdef DREAMWEAVER_INCLUDE_EXTENDED_CHARS_IN_CLASSES<br>
  148: JSBool wordclass;<br>
  149: JSBool spaceclass;<br>
  150: #endif<br>
  151: uint8 *bitmap;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  135: uint16 bmsize; /* bitmap size, based on max char code */<br>
  136: uint8 *bitmap;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1342: JSBool ok; /* indicates runtime error during matching */<br>
  1343: const jschar *complete;<br>
  1344: } MatchState;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1327: JSBool ok; /* indicates runtime error during matching */<br>
  1328: } MatchState;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1394: */<br>
  1395: kidMatch = matchRENodes(grState-&gt;state, grState-&gt;kid, grState-&gt;next, 
  cp);<br>
  1396: grState-&gt;state-&gt;complete = NULL;<br>
  1397: <br>
  1398: if (kidMatch == NULL) { <br>
  1399: grState-&gt;state-&gt;parenCount = num;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1378: */<br>
  1379: <br>
  1380: kidMatch = matchRENodes(grState-&gt;state, grState-&gt;kid, grState-&gt;next, 
  cp);<br>
  1381: if (kidMatch == NULL) { <br>
  1382: match = matchRENodes(grState-&gt;state, grState-&gt;next, grState-&gt;stop, 
  cp);<br>
  1383: if (match) {<br>
  1384: grState-&gt;state-&gt;parenCount = num;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1401: matchRENodes(grState-&gt;state, grState-&gt;kid, grState-&gt;next, previousKid);<br>
  1402: match = matchRENodes(grState-&gt;state, grState-&gt;next, grState-&gt;stop, 
  cp);<br>
  1403: if (match) {<br>
  1404: if (grState-&gt;stop == NULL) {<br>
  1405: grState-&gt;state-&gt;complete = match;<br>
  1406: return cp;<br>
  1407: }<br>
  1408: return cp;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1386: matchRENodes(grState-&gt;state, grState-&gt;kid, grState-&gt;next, previousKid);<br>
  1387: return cp;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1425: grState-&gt;state-&gt;parenCount = num;<br>
  1426: matchRENodes(grState-&gt;state, grState-&gt;kid, grState-&gt;next, cp);<br>
  1427: <br>
  1428: if ((match = matchRENodes(grState-&gt;state, grState-&gt;next, grState-&gt;stop, 
  kidMatch))) {<br>
  1429: if (grState-&gt;stop == NULL) {<br>
  1430: grState-&gt;state-&gt;complete = match;<br>
  1431: return kidMatch;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1404: grState-&gt;state-&gt;parenCount = num;<br>
  1405: if (matchRENodes(grState-&gt;state, grState-&gt;next, grState-&gt;stop, 
  kidMatch)) {<br>
  1406: matchRENodes(grState-&gt;state, grState-&gt;kid, grState-&gt;next, cp);<br>
  1407: return kidMatch;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1432: }<br>
  1433: matchRENodes(grState-&gt;state, grState-&gt;kid, grState-&gt;next, cp);<br>
  1434: return kidMatch;<br>
  1435: }<br>
  1436: return NULL;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1408: }<br>
  1409: return NULL;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1455: match = greedyRecurse(&amp;grState, cp, previousKid);<br>
  1456: if (match || !stop) {<br>
  1457: return match;<br>
  1458: }<br>
  1459: grState.kidCount = kidCount;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1428: match = greedyRecurse(&amp;grState, cp, previousKid);<br>
  1429: if (match || !stop) <br>
  1430: return match;<br>
  1431: grState.kidCount = kidCount;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1472: match = matchRENodes(state, ren-&gt;next, NULL, cp);<br>
  1473: if (state-&gt;complete)<br>
  1474: return state-&gt;complete;<br>
  1475: if (match) {<br>
  1476: state-&gt;complete = match;<br>
  1477: return cp;<br>
  1478: }<br>
  1479: if (match != NULL) <br>
  1480: return cp;<br>
  1481: <br>
  1482: kidMatch = matchRENodes(state, (RENode *)ren-&gt;kid, ren-&gt;next, cp);<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1444: match = matchRENodes(state, ren-&gt;next, NULL, cp);<br>
  1445: if (match != NULL) return cp;<br>
  1446: kidMatch = matchRENodes(state, (RENode *)ren-&gt;kid, ren-&gt;next, cp);<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1484: return NULL;<br>
  1485: if (state-&gt;complete)<br>
  1486: return state-&gt;complete;<br>
  1487: if (kidMatch == cp)<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1448: return NULL;<br>
  1449: if (kidMatch == cp)<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1561: <br>
  1562: #ifdef DREAMWEAVER_INCLUDE_EXTENDED_CHARS_IN_CLASSES<br>
  1563: ren-&gt;u.ucclass.wordclass = fill ? JS_TRUE : JS_FALSE;<br>
  1564: ren-&gt;u.ucclass.spaceclass = fill ? JS_TRUE : JS_FALSE;<br>
  1565: #endif<br>
  1566: <br>
  1567: n = (uintN)ren-&gt;u.ucclass.bmsize;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1523: <br>
  1524: n = (uintN)ren-&gt;u.ucclass.bmsize;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1614: MATCH_BIT(c);<br>
  1615: #ifdef DREAMWEAVER_INCLUDE_EXTENDED_CHARS_IN_CLASSES<br>
  1616: ren-&gt;u.ucclass.wordclass = fill ? JS_FALSE : JS_TRUE ;<br>
  1617: #endif<br>
  1618: continue;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1571: MATCH_BIT(c);<br>
  1572: continue;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1624: MATCH_BIT(c);<br>
  1625: #ifdef DREAMWEAVER_INCLUDE_EXTENDED_CHARS_IN_CLASSES<br>
  1626: ren-&gt;u.ucclass.spaceclass = fill ? JS_FALSE : JS_TRUE ;<br>
  1627: #endif<br>
  1628: continue;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1578: MATCH_BIT(c);<br>
  1579: continue;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1634: MATCH_BIT(c);<br>
  1635: #ifdef DREAMWEAVER_INCLUDE_EXTENDED_CHARS_IN_CLASSES<br>
  1636: ren-&gt;u.ucclass.spaceclass = fill ? JS_FALSE : JS_TRUE;<br>
  1637: #endif<br>
  1638: continue;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1585: MATCH_BIT(c);<br>
  1586: continue;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1644: MATCH_BIT(c);<br>
  1645: #ifdef DREAMWEAVER_INCLUDE_EXTENDED_CHARS_IN_CLASSES<br>
  1646: ren-&gt;u.ucclass.wordclass = fill ? JS_FALSE : JS_TRUE;<br>
  1647: #endif<br>
  1648: continue;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1592: MATCH_BIT(c);<br>
  1593: continue;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1775: kidMatch = matchRENodes(state, (RENode *)ren-&gt;kid, stop, cp);<br>
  1776: if (state-&gt;complete)<br>
  1777: return state-&gt;complete;<br>
  1778: if (kidMatch != NULL)<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1720: kidMatch = matchRENodes(state, (RENode *)ren-&gt;kid, stop, cp);<br>
  1721: if (kidMatch != NULL)<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1790: return NULL;<br>
  1791: if (state-&gt;complete)<br>
  1792: return state-&gt;complete;<br>
  1793: lastKid = cp;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1733: return NULL;<br>
  1734: lastKid = cp;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1799: if (cp2 == NULL) {<br>
  1800: if (lastKid) {<br>
  1801: cp = matchRENodes(state, (RENode *)ren-&gt;kid, ren-&gt;next,<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1740: if (cp2 == NULL) {<br>
  1741: if (lastKid)<br>
  1742: cp = matchRENodes(state, (RENode *)ren-&gt;kid, ren-&gt;next,<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1802: lastKid);<br>
  1803: if (state-&gt;complete)<br>
  1804: return state-&gt;complete;<br>
  1805: }<br>
  1806: }<br>
  1807: else {<br>
  1808: if (state-&gt;complete)<br>
  1809: return state-&gt;complete;<br>
  1810: cp = cp2;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1743: lastKid);<br>
  1744: }<br>
  1745: else<br>
  1746: cp = cp2;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1811: }<br>
  1812: }<br>
  1813: else {<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1747: }<br>
  1748: else {<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1817: return NULL;<br>
  1818: if (state-&gt;complete)<br>
  1819: return state-&gt;complete;<br>
  1820: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1752: return NULL;<br>
  1753: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1824: ren-&gt;next, cp);<br>
  1825: state-&gt;complete = NULL;<br>
  1826: if (kidMatch == NULL)<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1757: ren-&gt;next, cp);<br>
  1758: if (kidMatch == NULL)<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1827: return NULL;<br>
  1828: <br>
  1829: if ((ren-&gt;flags &amp; RENODE_MINIMAL) == 0) {<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1759: return NULL;<br>
  1760: if ((ren-&gt;flags &amp; RENODE_MINIMAL) == 0) {<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1830: cp2 = matchGreedyKid(state, ren, stop, 1, kidMatch, cp);<br>
  1831: if (cp2 == NULL) {<br>
  1832: cp = matchRENodes(state, (RENode *)ren-&gt;kid, ren-&gt;next, cp);<br>
  1833: if (state-&gt;complete)<br>
  1834: return state-&gt;complete;<br>
  1835: }<br>
  1836: else {<br>
  1837: if (state-&gt;complete)<br>
  1838: return state-&gt;complete;<br>
  1839: cp = cp2;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1761: cp2 = matchGreedyKid(state, ren, stop, 1, kidMatch, cp);<br>
  1762: if (cp2 == NULL)<br>
  1763: cp = matchRENodes(state, (RENode *)ren-&gt;kid, ren-&gt;next, cp);<br>
  1764: else<br>
  1765: cp = cp2;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1840: }<br>
  1841: }<br>
  1842: else {<br>
  1843: cp = matchNonGreedyKid(state, ren, 1, 0, kidMatch);<br>
  1844: if (state-&gt;complete)<br>
  1845: return state-&gt;complete;<br>
  1846: }<br>
  1847: if (cp == NULL)<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1766: }<br>
  1767: else<br>
  1768: cp = matchNonGreedyKid(state, ren, 1, 0, kidMatch);<br>
  1769: if (cp == NULL)<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1852: cp2 = matchGreedyKid(state, ren, stop, 0, cp, NULL);<br>
  1853: if (cp2) {<br>
  1854: if (state-&gt;complete)<br>
  1855: return state-&gt;complete;<br>
  1856: cp = cp2;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1774: cp2 = matchGreedyKid(state, ren, stop, 0, cp, NULL);<br>
  1775: if (cp2)<br>
  1776: cp = cp2;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1857: }<br>
  1858: }<br>
  1859: else {<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1777: }<br>
  1778: else {<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1862: return NULL;<br>
  1863: if (state-&gt;complete)<br>
  1864: return state-&gt;complete;<br>
  1865: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1781: return NULL;<br>
  1782: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1869: if (ren-&gt;flags &amp; RENODE_MINIMAL) {<br>
  1870: cp2 = matchRENodes(state, ren-&gt;next,<br>
  1871: stop, cp);<br>
  1872: if (state-&gt;complete)<br>
  1873: return state-&gt;complete;<br>
  1874: if (cp2 != NULL)<br>
  1875: return cp2;<br>
  1876: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1786: if (ren-&gt;flags &amp; RENODE_MINIMAL) {<br>
  1787: const jschar *restMatch = matchRENodes(state, ren-&gt;next,<br>
  1788: stop, cp);<br>
  1789: if (restMatch != NULL)<br>
  1790: return restMatch;<br>
  1791: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1878: ren-&gt;next, cp);<br>
  1879: if (state-&gt;complete)<br>
  1880: return state-&gt;complete;<br>
  1881: <br>
  1882: if (kidMatch == NULL) {<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1793: ren-&gt;next, cp);<br>
  1794: if (kidMatch == NULL) {<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1886: else {<br>
  1887: cp2 = matchRENodes(state, ren-&gt;next,<br>
  1888: stop, kidMatch);<br>
  1889: if (state-&gt;complete)<br>
  1890: return state-&gt;complete;<br>
  1891: if (cp2 == NULL) {<br>
  1892: /* need to undo the result of running the kid */<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1798: else {<br>
  1799: const jschar *restMatch = matchRENodes(state, ren-&gt;next,<br>
  1800: stop, kidMatch);<br>
  1801: if (restMatch == NULL) {<br>
  1802: /* need to undo the result of running the kid */<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1896: else<br>
  1897: return cp2;<br>
  1898: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1806: else<br>
  1807: return restMatch;<br>
  1808: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1920: ren-&gt;next, cp);<br>
  1921: if (state-&gt;complete)<br>
  1922: return state-&gt;complete;<br>
  1923: if (kidMatch == NULL)<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1830: ren-&gt;next, cp);<br>
  1831: if (kidMatch == NULL)<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1928: ren-&gt;next, cp);<br>
  1929: if (state-&gt;complete)<br>
  1930: return state-&gt;complete;<br>
  1931: if (kidMatch != NULL)<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1836: ren-&gt;next, cp);<br>
  1837: if (kidMatch != NULL)<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  1964: cp2 = (jschar*) ren-&gt;kid;<br>
  1965: #ifdef DREAMWEAVER_INCLUDE_EXTENDED_CHARS_IN_CLASSES<br>
  1966: // for now, we'll define words in the extended range as anything that's 
  not a space<br>
  1967: // this also implies any extended range unicode characters are either 
  words or spaces,<br>
  1968: // which is not always true, but better than always excluding them<br>
  1969: if( (*cp2 &gt;= 0x2000 &amp;&amp; *cp2 &lt;= 0x200A ) ||<br>
  1970: *cp2 == 0x200B || //zero width space<br>
  1971: *cp2 == 0x3000 || //ideographic space<br>
  1972: *cp2 == 0xFEFF || //zero width no-break space<br>
  1973: *cp2 == 0x0020 || //regular space (just in case)<br>
  1974: *cp2 == 0x00A0 ) //no break space<br>
  1975: {<br>
  1976: if( ren-&gt;u.ucclass.spaceclass == JS_TRUE ) <br>
  1977: cp++;<br>
  1978: else<br>
  1979: return NULL;<br>
  1980: }<br>
  1981: else if( ren-&gt;u.ucclass.wordclass == JS_TRUE )<br>
  1982: cp++;<br>
  1983: else<br>
  1984: return NULL;<br>
  1985: #else //DREAMWEAVER_INCLUDE_EXTENDED_CHARS_IN_CLASSES<br>
  1986: if (*cp2 == '^')<br>
  1987: cp++;<br>
  1988: else<br>
  1989: return NULL;<br>
  1990: #endif //DREAMWEAVER_INCLUDE_EXTENDED_CHARS_IN_CLASSES<br>
  1991: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  1870: cp2 = (jschar*) ren-&gt;kid;<br>
  1871: if (*cp2 == '^')<br>
  1872: cp++;<br>
  1873: else<br>
  1874: return NULL;<br>
  1875: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  2181: state.flags = re-&gt;flags;<br>
  2182: state.complete = NULL;<br>
  2183: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  2065: state.flags = re-&gt;flags;<br>
  2066: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  2517: default:<br>
  2518: sub = js_RegExpParenSubString(res, slot);<br>
  2519: break;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  2400: default:<br>
  2401: sub = REGEXP_PAREN_SUBSTRING(res, slot);<br>
  2402: break;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.c<br>
  2962: <br>
  2963: // DREAMWEAVER: See comment in the header file.<br>
  2964: JSRegExpStatics *<br>
  2965: js_GetRegExpStatics(JSContext *cx)<br>
  2966: {<br>
  2967: return &amp;(cx-&gt;regExpStatics);<br>
  2968: }<br>
  2969: <br>
  2970: // DREAMWEAVER: See [dgeorge 23-feb-02] comment in header file<br>
  2971: JSSubString *<br>
  2972: js_RegExpParenSubString(JSRegExpStatics *res, jsuint num)<br>
  2973: {<br>
  2974: JSSubString *ret = NULL;<br>
  2975: <br>
  2976: if (num &lt; (jsuint)(res-&gt;parenCount))<br>
  2977: {<br>
  2978: if (num &lt; 9)<br>
  2979: {<br>
  2980: ret = &amp;(res-&gt;parens[num]);<br>
  2981: }<br>
  2982: else<br>
  2983: {<br>
  2984: ret = &amp;(res-&gt;moreParens[num - 9]);<br>
  2985: }<br>
  2986: }<br>
  2987: else<br>
  2988: {<br>
  2989: ret = &amp;js_EmptySubString;<br>
  2990: }<br>
  2991: <br>
  2992: return ret;<br>
  2993: }<br>
  2994: <br>
  2995: #endif /* JS_HAS_REGEXPS */<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.C<br>
  2845: <br>
  2846: #endif /* JS_HAS_REGEXPS */<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.h and C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.H</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.h<br>
  59: * enough to hold parenCount, or else be null when parenCount is 0.<br>
  60: *<br>
  61: * DREAMWEAVER [dgeorge 23-feb-02] I'm replacing the macro with a function 
  because<br>
  62: * it looks like the macro is being compiled incorrectly in the WinRelease<br>
  63: * build<br>
  64: */<br>
  65: /*<br>
  66: #define REGEXP_PAREN_SUBSTRING(res, num) \<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.H<br>
  59: * enough to hold parenCount, or else be null when parenCount is 0.<br>
  60: */<br>
  61: #define REGEXP_PAREN_SUBSTRING(res, num) \<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.h<br>
  71: : &amp;js_EmptySubString)<br>
  72: */<br>
  73: extern JSSubString *<br>
  74: js_RegExpParenSubString(JSRegExpStatics *res, jsuint num);<br>
  75: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.H<br>
  66: : &amp;js_EmptySubString)<br>
  67: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsregexp.h<br>
  132: <br>
  133: <br>
  134: /* DREAMWEAVER:<br>
  135: * <br>
  136: * Added a function to access the statics data structure.<br>
  137: *<br>
  138: * We should be able to access the structure by traversing the js_context<br>
  139: * data structure. However, differences between the compiler flags for<br>
  140: * the NscpJavaScript library and the Dreamweaver executable cause problems<br>
  141: * on the Mac (I think the cause is that Enums are ints in Dreamweaver but<br>
  142: * not in NscpJavaScript). Instead of switching the compiler flag and<br>
  143: * introducing a lot of risk, I'm adding this function to access the<br>
  144: * piece of js_context that interests me. [dgeorge 8/00]<br>
  145: * <br>
  146: * [snewman 2/14/00: copied this patch from NscpJavaScript to JavaScript_1_5]<br>
  147: */<br>
  148: extern JSRegExpStatics *<br>
  149: js_GetRegExpStatics(JSContext *cx);<br>
  150: <br>
  151: <br>
  152: #endif /* jsregexp_h___ */<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSREGEXP.H<br>
  124: <br>
  125: #endif /* jsregexp_h___ */<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsscan.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSSCAN.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsscan.c<br>
  37: */<br>
  38: #include &quot;DW_decls.h&quot;<br>
  39: <br>
  40: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSSCAN.C<br>
  37: */<br>
  38: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsscope.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSSCOPE.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsscope.c<br>
  37: */<br>
  38: #include &quot;DW_decls.h&quot;<br>
  39: <br>
  40: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSSCOPE.C<br>
  37: */<br>
  38: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsscript.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSSCRIPT.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsscript.c<br>
  37: */<br>
  38: #include &quot;DW_decls.h&quot;<br>
  39: <br>
  40: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSSCRIPT.C<br>
  37: */<br>
  38: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsscript.c<br>
  903: if (type == SRC_SETLINE) {<br>
  904: // DREAMWEAVER snewman 6/15/01: changed this to not update lineno<br>
  905: // if js_GetSrcNoteOffset returns a smaller value -- otherwise we<br>
  906: // were having problems debugging the JavaScript code that the<br>
  907: // template engine generates. For some reason, the last srcnote<br>
  908: // in that function had a line number of zero.<br>
  909: uintN temp = (uintN) js_GetSrcNoteOffset(sn, 0);<br>
  910: if (lineno &lt; temp)<br>
  911: lineno = temp;<br>
  912: } else if (type == SRC_NEWLINE) {<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSSCRIPT.C<br>
  901: if (type == SRC_SETLINE) {<br>
  902: lineno = (uintN) js_GetSrcNoteOffset(sn, 0);<br>
  903: } else if (type == SRC_NEWLINE) {<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsstr.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSSTR.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsstr.c<br>
  44: */<br>
  45: #include &quot;DW_decls.h&quot;<br>
  46: <br>
  47: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSSTR.C<br>
  44: */<br>
  45: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsstr.c<br>
  1137: *skip = cp - dp;<br>
  1138: // DREAMWEAVER: replacing REGEXP_PAREN_SUBSTRING with js_RegExpParenSubString<br>
  1139: // (see comment from dgeorge in jsregexp.h<br>
  1140: return js_RegExpParenSubString(res, num);<br>
  1141: }<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSSTR.C<br>
  1135: *skip = cp - dp;<br>
  1136: return REGEXP_PAREN_SUBSTRING(res, num);<br>
  1137: }<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsstr.c<br>
  1713: break;<br>
  1714: // DREAMWEAVER: replacing REGEXP_PAREN_SUBSTRING with js_RegExpParenSubString<br>
  1715: <br>
  1716: // (see comment from dgeorge in jsregexp.h<br>
  1717: parsub = js_RegExpParenSubString(&amp;cx-&gt;regExpStatics, num);<br>
  1718: sub = js_NewStringCopyN(cx, parsub-&gt;chars, parsub-&gt;length,<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSSTR.C<br>
  1709: break;<br>
  1710: parsub = REGEXP_PAREN_SUBSTRING(&amp;cx-&gt;regExpStatics, num);<br>
  1711: sub = js_NewStringCopyN(cx, parsub-&gt;chars, parsub-&gt;length,<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jstypes.h and C:\TEMP\JAVASCRIPT15\JS\SRC\JSTYPES.H</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jstypes.h<br>
  59: <br>
  60: <br>
  61: // DREAMWEAVER snewman 3/16/01: tweaked this file to remove all<br>
  62: // references to &quot;_declspec&quot;, to match the changes we had made 
  in the<br>
  63: // JS 1.2 interpreter. Using _declspec doesn't make sense, because we<br>
  64: // aren't building a separate DLL -- the interpreter is linked directly<br>
  65: // into Dreamweaver.<br>
  66: <br>
  67: <br>
  68: #ifndef jstypes_h___<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSTYPES.H<br>
  59: <br>
  60: #ifndef jstypes_h___<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jstypes.h<br>
  72: <br>
  73: // DREAMWEAVER<br>
  74: #if WIN32<br>
  75: #define XP_PC 1<br>
  76: #elif __powerc<br>
  77: #define XP_MAC 1<br>
  78: #endif<br>
  79: <br>
  80: /***********************************************************************<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSTYPES.H<br>
  64: <br>
  65: /***********************************************************************<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jstypes.h<br>
  101: /* These also work for __MWERKS__ */<br>
  102: #define JS_EXTERN_API(__type) extern __type<br>
  103: #define JS_EXPORT_API(__type) __type<br>
  104: #define JS_EXTERN_DATA(__type) extern __type<br>
  105: #define JS_EXPORT_DATA(__type) __type<br>
  106: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSTYPES.H<br>
  86: /* These also work for __MWERKS__ */<br>
  87: #define JS_EXTERN_API(__type) extern _declspec(dllexport) __type<br>
  88: #define JS_EXPORT_API(__type) _declspec(dllexport) __type<br>
  89: #define JS_EXTERN_DATA(__type) extern _declspec(dllexport) __type<br>
  90: #define JS_EXPORT_DATA(__type) _declspec(dllexport) __type<br>
  91: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jstypes.h<br>
  131: #elif defined(XP_MAC)<br>
  132: #define JS_EXTERN_API(__type) extern __type<br>
  133: #define JS_EXPORT_API(__type) __type<br>
  134: #define JS_EXTERN_DATA(__type) extern __type<br>
  135: #define JS_EXPORT_DATA(__type) __type<br>
  136: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSTYPES.H<br>
  116: #elif defined(XP_MAC)<br>
  117: #define JS_EXTERN_API(__type) extern __declspec(export) __type<br>
  118: #define JS_EXPORT_API(__type) __declspec(export) __type<br>
  119: #define JS_EXTERN_DATA(__type) extern __declspec(export) __type<br>
  120: #define JS_EXPORT_DATA(__type) __declspec(export) __type<br>
  121: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jstypes.h<br>
  163: # else<br>
  164: # define JS_IMPORT_API(__x) __x<br>
  165: # endif<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSTYPES.H<br>
  148: # else<br>
  149: # define JS_IMPORT_API(__x) _declspec(dllimport) __x<br>
  150: # endif<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jstypes.h<br>
  170: #if defined(_WIN32) &amp;&amp; !defined(__MWERKS__)<br>
  171: # define JS_IMPORT_DATA(__x) __x<br>
  172: #else<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSTYPES.H<br>
  155: #if defined(_WIN32) &amp;&amp; !defined(__MWERKS__)<br>
  156: # define JS_IMPORT_DATA(__x) _declspec(dllimport) __x<br>
  157: #else<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsutil.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSUTIL.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsutil.c<br>
  41: <br>
  42: #include &quot;DW_decls.h&quot;<br>
  43: <br>
  44: /*<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSUTIL.C<br>
  41: <br>
  42: /*<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsutil.c<br>
  163: <br>
  164: // DREAMWEAVER snewman 3/28/01: wrapped JS_Assert in #ifdef DEBUG<br>
  165: // to avoid compiler warning (no prototype) when DEBUG is turned off.<br>
  166: #ifdef DEBUG<br>
  167: <br>
  168: JS_PUBLIC_API(void) JS_Assert(const char *s, const char *file, JSIntn ln)<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSUTIL.C<br>
  161: <br>
  162: JS_PUBLIC_API(void) JS_Assert(const char *s, const char *file, JSIntn ln)<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsutil.c<br>
  183: <br>
  184: #endif<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSUTIL.C<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsxdrapi.c and C:\TEMP\JAVASCRIPT15\JS\SRC\JSXDRAPI.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\jsxdrapi.c<br>
  33: */<br>
  34: #include &quot;DW_decls.h&quot;<br>
  35: <br>
  36: #include &quot;jsstddef.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\JSXDRAPI.C<br>
  33: */<br>
  34: #include &quot;jsstddef.h&quot;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\prmjtime.c and C:\TEMP\JAVASCRIPT15\JS\SRC\PRMJTIME.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\prmjtime.c<br>
  34: <br>
  35: #include &quot;DW_decls.h&quot;<br>
  36: <br>
  37: /*<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\PRMJTIME.C<br>
  34: <br>
  35: /*<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj.c 
  and C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj.c<br>
  45: <br>
  46: #include &quot;DW_decls.h&quot;<br>
  47: <br>
  48: #include &quot;jsj_private.h&quot; /* LiveConnect internals */<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ.C<br>
  45: <br>
  46: #include &quot;jsj_private.h&quot; /* LiveConnect internals */<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_array.c 
  and C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_ARRAY.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_array.c<br>
  40: <br>
  41: #include &quot;DW_decls.h&quot;<br>
  42: <br>
  43: #include &quot;jsj_private.h&quot; /* LiveConnect internals */<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_ARRAY.C<br>
  40: <br>
  41: #include &quot;jsj_private.h&quot; /* LiveConnect internals */<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_class.c 
  and C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_CLASS.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_class.c<br>
  47: <br>
  48: #include &quot;DW_decls.h&quot;<br>
  49: <br>
  50: #include &quot;jsj_private.h&quot; /* LiveConnect internals */<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_CLASS.C<br>
  47: <br>
  48: #include &quot;jsj_private.h&quot; /* LiveConnect internals */<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_convert.c 
  and C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_CONVERT.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_convert.c<br>
  43: <br>
  44: #include &quot;DW_decls.h&quot;<br>
  45: <br>
  46: #ifdef OJI<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_CONVERT.C<br>
  43: <br>
  44: #ifdef OJI<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_field.c 
  and C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_FIELD.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_field.c<br>
  44: <br>
  45: #include &quot;DW_decls.h&quot;<br>
  46: <br>
  47: #include &quot;jsj_private.h&quot; /* LiveConnect internals */<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_FIELD.C<br>
  44: <br>
  45: #include &quot;jsj_private.h&quot; /* LiveConnect internals */<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_hash.c 
  and C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_HASH.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_hash.c<br>
  46: <br>
  47: #include &quot;DW_decls.h&quot;<br>
  48: <br>
  49: #include &quot;jsj_hash.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_HASH.C<br>
  46: <br>
  47: #include &quot;jsj_hash.h&quot;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_JavaArray.c 
  and C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_JAVAARRAY.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_JavaArray.c<br>
  44: <br>
  45: #include &quot;DW_decls.h&quot;<br>
  46: <br>
  47: #include &quot;jsj_private.h&quot; /* LiveConnect internals */<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_JAVAARRAY.C<br>
  44: <br>
  45: #include &quot;jsj_private.h&quot; /* LiveConnect internals */<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_JavaClass.c 
  and C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_JAVACLASS.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_JavaClass.c<br>
  53: <br>
  54: #include &quot;DW_decls.h&quot;<br>
  55: <br>
  56: #include &quot;jsj_private.h&quot; /* LiveConnect internals */<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_JAVACLASS.C<br>
  53: <br>
  54: #include &quot;jsj_private.h&quot; /* LiveConnect internals */<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_JavaMember.c 
  and C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_JAVAMEMBER.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_JavaMember.c<br>
  59: <br>
  60: #include &quot;DW_decls.h&quot;<br>
  61: <br>
  62: #include &quot;jsj_private.h&quot; /* LiveConnect internals */<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_JAVAMEMBER.C<br>
  59: <br>
  60: #include &quot;jsj_private.h&quot; /* LiveConnect internals */<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_JavaObject.c 
  and C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_JAVAOBJECT.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_JavaObject.c<br>
  57: <br>
  58: #include &quot;DW_decls.h&quot;<br>
  59: <br>
  60: #include &quot;jsobj.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_JAVAOBJECT.C<br>
  57: <br>
  58: #include &quot;jsobj.h&quot;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_JavaPackage.c 
  and C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_JAVAPACKAGE.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_JavaPackage.c<br>
  53: <br>
  54: #include &quot;DW_decls.h&quot;<br>
  55: <br>
  56: #include &quot;jsj_private.h&quot; /* LiveConnect internals */<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_JAVAPACKAGE.C<br>
  53: <br>
  54: #include &quot;jsj_private.h&quot; /* LiveConnect internals */<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_JSObject.c 
  and C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_JSOBJECT.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_JSObject.c<br>
  43: <br>
  44: #include &quot;DW_decls.h&quot;<br>
  45: <br>
  46: #include &lt;stdlib.h&gt;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_JSOBJECT.C<br>
  43: <br>
  44: #include &lt;stdlib.h&gt;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_method.c 
  and C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_METHOD.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_method.c<br>
  49: <br>
  50: #include &quot;DW_decls.h&quot;<br>
  51: <br>
  52: #include &lt;stdlib.h&gt;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_METHOD.C<br>
  49: <br>
  50: #include &lt;stdlib.h&gt;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_simpleapi.c 
  and C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_SIMPLEAPI.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_simpleapi.c<br>
  38: <br>
  39: #include &quot;DW_decls.h&quot;<br>
  40: <br>
  41: #include &quot;jsjava.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_SIMPLEAPI.C<br>
  38: <br>
  39: #include &quot;jsjava.h&quot;<br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_simpleapi.c<br>
  107: <br>
  108: err = JNI_CreateJavaVM((JavaVM**)jvm, (void**)initialEnv, &amp;vm_args);<br>
  109: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_SIMPLEAPI.C<br>
  105: <br>
  106: err = JNI_CreateJavaVM((JavaVM**)jvm, initialEnv, &amp;vm_args);<br>
  107: <br>
  *****</p>
<p>***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_simpleapi.c<br>
  128: JNIEnv* env = NULL;<br>
  129: (*java_vm)-&gt;AttachCurrentThread(java_vm, (void**)&amp;env, NULL);<br>
  130: return env;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_SIMPLEAPI.C<br>
  126: JNIEnv* env = NULL;<br>
  127: (*java_vm)-&gt;AttachCurrentThread(java_vm, &amp;env, NULL);<br>
  128: return env;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_utils.c 
  and C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_UTILS.C</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\jsj_utils.c<br>
  48: <br>
  49: #include &quot;DW_decls.h&quot;<br>
  50: <br>
  51: #include &lt;stdlib.h&gt;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\JSJ_UTILS.C<br>
  48: <br>
  49: #include &lt;stdlib.h&gt;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\nsCLiveconnect.cpp 
  and C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\NSCLIVECONNECT.CPP</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\nsCLiveconnect.cpp<br>
  40: <br>
  41: #include &quot;DW_decls.h&quot;<br>
  42: <br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\NSCLIVECONNECT.CPP<br>
  40: <br>
  41: <br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\nsCLiveconnectFactory.cpp 
  and C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\NSCLIVECONNECTFACTORY.CPP</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\nsCLiveconnectFactory.cpp<br>
  39: */<br>
  40: #include &quot;DW_decls.h&quot;<br>
  41: <br>
  42: #include &quot;prtypes.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\NSCLIVECONNECTFACTORY.CPP<br>
  39: */<br>
  40: #include &quot;prtypes.h&quot;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\MACBUILD\JAVASESSION\JavaSession.cpp 
  and C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\MACBUILD\JAVASESSION\JAVASESSION.CPP</p>
<p><br>
  ***** C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\MACBUILD\JAVASESSION\JavaSession.cpp<br>
  12: <br>
  13: #include &quot;DW_decls.h&quot;<br>
  14: <br>
  15: #include &quot;JavaSession.h&quot;<br>
  ***** C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\MACBUILD\JAVASESSION\JAVASESSION.CPP<br>
  12: <br>
  13: #include &quot;JavaSession.h&quot;<br>
  *****</p>
<hr>
<p>Comparing files C:\DREAMWEAVER\THIRDPARTY\JAVASCRIPT_1_5\LIVECONNECT\MACBUILD\JAVASESSION\JavaSession.h 
  and C:\TEMP\JAVASCRIPT15\JS\SRC\LIVECONNECT\MACBUILD\JAVASESSION\JAVASESSION.H</p>
<p><br>
  FC: no differences encountered</p>
<p></p>
</body>
</html>
