summaryrefslogtreecommitdiff
path: root/scripting/engine_java.cpp
diff options
context:
space:
mode:
authorAntonin Kral <a.kral@bobek.cz>2011-09-14 17:08:07 +0200
committerAntonin Kral <a.kral@bobek.cz>2011-09-14 17:08:07 +0200
commit9d6aba6c773ec1b31da5e2c80b2f2a82f50429c6 (patch)
tree3620773f4dcdaf3b6fdeba0745d58267f965e4f3 /scripting/engine_java.cpp
parentbb03df5d32ce589ab9245adab835a1f0cbe914ee (diff)
parent5d342a758c6095b4d30aba0750b54f13b8916f51 (diff)
downloadmongodb-9d6aba6c773ec1b31da5e2c80b2f2a82f50429c6.tar.gz
Merge commit 'upstream/2.0.0'
Diffstat (limited to 'scripting/engine_java.cpp')
-rw-r--r--scripting/engine_java.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/scripting/engine_java.cpp b/scripting/engine_java.cpp
index fc8945f..5738816 100644
--- a/scripting/engine_java.cpp
+++ b/scripting/engine_java.cpp
@@ -43,7 +43,7 @@ namespace mongo {
-#include "../util/message.h"
+#include "../util/net/message.h"
#include "../db/db.h"
using namespace std;
@@ -405,15 +405,17 @@ namespace mongo {
if ( guess == 0 )
return BSONObj();
- char * buf = (char *) malloc(guess);
- jobject bb = _getEnv()->NewDirectByteBuffer( (void*)buf , guess );
+ BSONObj::Holder* holder = (BSONObj::Holder*) malloc(guess + sizeof(unsigned));
+ holder->zero()
+
+ jobject bb = _getEnv()->NewDirectByteBuffer( (void*)holder->data , guess );
jassert( bb );
int len = _getEnv()->CallStaticIntMethod( _dbhook , _scopeGetObject , id , _getEnv()->NewStringUTF( field ) , bb );
_getEnv()->DeleteLocalRef( bb );
jassert( len > 0 && len < guess );
- BSONObj obj(buf, true);
+ BSONObj obj(holder);
assert( obj.objsize() <= guess );
return obj;
}