java: fixed problem that empty array and empty map don't check Schema

This commit is contained in:
frsyuki
2010-05-23 01:34:45 +09:00
parent c43e5e0c95
commit 5982970e21

View File

@@ -157,7 +157,10 @@ public class UnpackerImpl {
count = b & 0x0f;
//System.out.println("fixarray count:"+count);
obj = new Object[count];
if(count == 0) { break _push; } // FIXME check IArraySchema
if(count == 0) {
obj = ((IArraySchema)top_schema).createFromArray((Object[])obj);
break _push;
}
++top;
stack_obj[top] = top_obj;
stack_ct[top] = top_ct;
@@ -179,7 +182,10 @@ public class UnpackerImpl {
}
count = b & 0x0f;
obj = new Object[count*2];
if(count == 0) { break _push; } // FIXME check IMapSchema
if(count == 0) {
obj = ((IMapSchema)top_schema).createFromMap((Object[])obj);
break _push;
}
//System.out.println("fixmap count:"+count);
++top;
stack_obj[top] = top_obj;