浏览代码

Fixed handling of long values

murgatroid99 10 年之前
父节点
当前提交
9d5ae1c629
共有 2 个文件被更改,包括 5 次插入2 次删除
  1. 3 1
      src/node/src/common.js
  2. 2 1
      src/node/test/common_test.js

+ 3 - 1
src/node/src/common.js

@@ -47,7 +47,9 @@ function deserializeCls(cls) {
    * @return {cls} The resulting object
    * @return {cls} The resulting object
    */
    */
   return function deserialize(arg_buf) {
   return function deserialize(arg_buf) {
-    return cls.decode(arg_buf).toRaw();
+    // Convert to a native object with binary fields as Buffers (first argument)
+    // and longs as strings (second argument)
+    return cls.decode(arg_buf).toRaw(false, true);
   };
   };
 }
 }
 
 

+ 2 - 1
src/node/test/common_test.js

@@ -39,7 +39,8 @@ var common = require('../src/common.js');
 
 
 var ProtoBuf = require('protobufjs');
 var ProtoBuf = require('protobufjs');
 
 
-var messages_proto = ProtoBuf.loadProtoFile(__dirname + '/test_messages.proto').build();
+var messages_proto = ProtoBuf.loadProtoFile(
+    __dirname + '/test_messages.proto').build();
 
 
 describe('Proto message serialize and deserialize', function() {
 describe('Proto message serialize and deserialize', function() {
   var longSerialize = common.serializeCls(messages_proto.LongValues);
   var longSerialize = common.serializeCls(messages_proto.LongValues);