From 5d342a758c6095b4d30aba0750b54f13b8916f51 Mon Sep 17 00:00:00 2001 From: Antonin Kral Date: Wed, 14 Sep 2011 17:08:06 +0200 Subject: Imported Upstream version 2.0.0 --- scripting/engine_java.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'scripting/engine_java.cpp') 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; } -- cgit v1.2.3