summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scripting/engine_spidermonkey.h2
-rw-r--r--scripting/sm_db.cpp14
2 files changed, 14 insertions, 2 deletions
diff --git a/scripting/engine_spidermonkey.h b/scripting/engine_spidermonkey.h
index 075f5244300..5ff24c35a0f 100644
--- a/scripting/engine_spidermonkey.h
+++ b/scripting/engine_spidermonkey.h
@@ -42,7 +42,7 @@ JSBool JS_CStringsAreUTF8(){
return false;
}
-#define js_DateClass date_class
+#define SM16
#endif
// -- END SM 1.6 hacks ---
diff --git a/scripting/sm_db.cpp b/scripting/sm_db.cpp
index e7a8d9b1940..ad1e53347f7 100644
--- a/scripting/sm_db.cpp
+++ b/scripting/sm_db.cpp
@@ -555,12 +555,24 @@ namespace mongo {
b.appendTimestamp( name.c_str() , (unsigned long long)c->getNumber( o , "t" ) , (unsigned int )c->getNumber( o , "i" ) );
return true;
}
-
+
+#ifdef SM16
+ {
+ jsdouble d = js_DateGetMsecSinceEpoch( c->_context , o );
+ if ( d ){
+ b.appendDate( name.c_str() , (unsigned long long)d );
+ return true;
+ }
+ }
+#else
if ( JS_InstanceOf( c->_context , o, &js_DateClass, 0 ) ){
jsdouble d = js_DateGetMsecSinceEpoch( c->_context , o );
b.appendDate( name.c_str() , (unsigned long long)d );
return true;
}
+#endif
+
+
return false;
}