You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by da...@apache.org on 2011/10/18 23:23:13 UTC
[1/2] git commit: Minor fixes to link agianst SpiderMonkey trunk
Updated Branches:
refs/heads/1.2.x 75b3b6926 -> d0936775a
Minor fixes to link agianst SpiderMonkey trunk
This patch allows couchjs to link against the SpiderMonkey as it existed
in the mercurial hash 59c1e6bdb11 from [1]. This does *not* ensure
compatibility with CouchDB as there are other things that will also need
to be fixed. Specifically, the anonymous function issue for builtin JS
functions.
[1] http://hg.mozilla.org/mozilla-central/
Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/d0936775
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/d0936775
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/d0936775
Branch: refs/heads/1.2.x
Commit: d0936775a83fc59fc70f702617b96fc82a327be5
Parents: 06a05f5
Author: Paul Joseph Davis <da...@apache.org>
Authored: Tue Oct 18 16:19:51 2011 -0500
Committer: Paul Joseph Davis <da...@apache.org>
Committed: Tue Oct 18 16:22:24 2011 -0500
----------------------------------------------------------------------
configure.ac | 8 ++++++++
src/couchdb/priv/couch_js/http.c | 12 ++++++------
src/couchdb/priv/couch_js/sm185.c | 2 +-
3 files changed, 15 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb/blob/d0936775/configure.ac
----------------------------------------------------------------------
diff --git a/configure.ac b/configure.ac
index 6dcc919..42c64e1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -293,6 +293,14 @@ If you wish to ignore this error pass --enable-js-trunk to ./configure.])],
[[#include <jsapi.h>]])
fi
+# Deal with JSScript -> JSObject -> JSScript switcheroo
+
+AC_CHECK_TYPE([JSScript*],
+ [AC_DEFINE([JSSCRIPT_TYPE], [JSScript*], [Use JSObject* for scripts])],
+ [AC_DEFINE([JSSCRIPT_TYPE], [JSObject*], [Use JSScript* for scripts])],
+ [[#include <jsapi.h>]]
+)
+
CPPFLAGS="$OLD_CPPFLAGS"
http://git-wip-us.apache.org/repos/asf/couchdb/blob/d0936775/src/couchdb/priv/couch_js/http.c
----------------------------------------------------------------------
diff --git a/src/couchdb/priv/couch_js/http.c b/src/couchdb/priv/couch_js/http.c
index 7e1e20b..67ba8a1 100644
--- a/src/couchdb/priv/couch_js/http.c
+++ b/src/couchdb/priv/couch_js/http.c
@@ -181,7 +181,7 @@ http_open(JSContext* cx, JSObject* req, jsval mth, jsval url, jsval snc)
goto done;
}
- if(mth == JSVAL_VOID) {
+ if(JSVAL_IS_VOID(mth)) {
JS_ReportError(cx, "You must specify a method.");
goto done;
}
@@ -203,7 +203,7 @@ http_open(JSContext* cx, JSObject* req, jsval mth, jsval url, jsval snc)
http->method = methid;
- if(url == JSVAL_VOID) {
+ if(JSVAL_IS_VOID(url)) {
JS_ReportError(cx, "You must specify a URL.");
goto done;
}
@@ -219,7 +219,7 @@ http_open(JSContext* cx, JSObject* req, jsval mth, jsval url, jsval snc)
goto done;
}
- if(snc != JSVAL_FALSE) {
+ if(JSVAL_IS_BOOLEAN(snc) && !JSVAL_TO_BOOLEAN(snc)) {
JS_ReportError(cx, "Synchronous flag must be false.");
goto done;
}
@@ -255,7 +255,7 @@ http_set_hdr(JSContext* cx, JSObject* req, jsval name, jsval val)
goto done;
}
- if(name == JSVAL_VOID)
+ if(JSVAL_IS_VOID(name))
{
JS_ReportError(cx, "You must speciy a header name.");
goto done;
@@ -268,7 +268,7 @@ http_set_hdr(JSContext* cx, JSObject* req, jsval name, jsval val)
goto done;
}
- if(val == JSVAL_VOID)
+ if(JSVAL_IS_VOID(val))
{
JS_ReportError(cx, "You must specify a header value.");
goto done;
@@ -313,7 +313,7 @@ http_send(JSContext* cx, JSObject* req, jsval body)
goto done;
}
- if(body != JSVAL_VOID && body != JS_GetEmptyStringValue(cx)) {
+ if(!JSVAL_IS_VOID(body)) {
bodystr = enc_string(cx, body, &bodylen);
if(!bodystr) {
JS_ReportError(cx, "Failed to encode body.");
http://git-wip-us.apache.org/repos/asf/couchdb/blob/d0936775/src/couchdb/priv/couch_js/sm185.c
----------------------------------------------------------------------
diff --git a/src/couchdb/priv/couch_js/sm185.c b/src/couchdb/priv/couch_js/sm185.c
index 701d567..6a4522e 100644
--- a/src/couchdb/priv/couch_js/sm185.c
+++ b/src/couchdb/priv/couch_js/sm185.c
@@ -310,7 +310,7 @@ main(int argc, const char* argv[])
JSObject* global = NULL;
JSCrossCompartmentCall *call = NULL;
JSObject* klass = NULL;
- JSObject* script;
+ JSSCRIPT_TYPE script;
JSString* scriptsrc;
const jschar* schars;
size_t slen;