From 7bfd22842b1602fea636d51a2f106e70295f6990 Mon Sep 17 00:00:00 2001 From: Glen Stampoultzis Date: Tue, 10 Aug 2004 02:59:52 +0000 Subject: [PATCH] Empty byte array case for HexDump git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@353579 13f79535-47bb-0310-9956-ffa450edef68 --- src/java/org/apache/poi/util/HexDump.java | 7 +++++++ src/testcases/org/apache/poi/util/TestHexDump.java | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/src/java/org/apache/poi/util/HexDump.java b/src/java/org/apache/poi/util/HexDump.java index 77a49ed04..710797b6b 100644 --- a/src/java/org/apache/poi/util/HexDump.java +++ b/src/java/org/apache/poi/util/HexDump.java @@ -73,6 +73,12 @@ public class HexDump throws IOException, ArrayIndexOutOfBoundsException, IllegalArgumentException { + if (data.length == 0) + { + stream.write( "No Data".getBytes() ); + stream.flush(); + return; + } if ((index < 0) || (index >= data.length)) { throw new ArrayIndexOutOfBoundsException( @@ -83,6 +89,7 @@ public class HexDump { throw new IllegalArgumentException("cannot write to nullstream"); } + long display_offset = offset + index; StringBuffer buffer = new StringBuffer(74); diff --git a/src/testcases/org/apache/poi/util/TestHexDump.java b/src/testcases/org/apache/poi/util/TestHexDump.java index 9c9e48607..6189d3e44 100644 --- a/src/testcases/org/apache/poi/util/TestHexDump.java +++ b/src/testcases/org/apache/poi/util/TestHexDump.java @@ -277,6 +277,11 @@ public class TestHexDump // as expected } + + // verify proper behaviour with empty byte array + ByteArrayOutputStream os = new ByteArrayOutputStream( ); + HexDump.dump( new byte[0], 0, os, 0 ); + assertEquals( "No Data", os.toString() ); } public void testToHex()