diff options
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/IceInternal/BasicStream.java | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/java/src/IceInternal/BasicStream.java b/java/src/IceInternal/BasicStream.java index ad568e3f347..992a2feee84 100644 --- a/java/src/IceInternal/BasicStream.java +++ b/java/src/IceInternal/BasicStream.java @@ -650,14 +650,21 @@ public class BasicStream public void writeString(String v) { - final int len = v.length(); - writeSize(len); - if (len > 0) + if (v == null) { - expand(len); - for (int i = 0; i < len; i++) + writeSize(0); + } + else + { + final int len = v.length(); + writeSize(len); + if (len > 0) { - _buf.put((byte)v.charAt(i)); + expand(len); + for (int i = 0; i < len; i++) + { + _buf.put((byte)v.charAt(i)); + } } } } |