From 5982970e21d9bab7ea2bd507b360317f40628260 Mon Sep 17 00:00:00 2001 From: frsyuki Date: Sun, 23 May 2010 01:34:45 +0900 Subject: java: fixed problem that empty array and empty map don't check Schema --- java/src/main/java/org/msgpack/UnpackerImpl.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'java/src') diff --git a/java/src/main/java/org/msgpack/UnpackerImpl.java b/java/src/main/java/org/msgpack/UnpackerImpl.java index ae01289..9b885a0 100644 --- a/java/src/main/java/org/msgpack/UnpackerImpl.java +++ b/java/src/main/java/org/msgpack/UnpackerImpl.java @@ -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; -- cgit v1.2.1