diff --git a/src/main/java/org/archive/format/gzip/GZIPDecoder.java b/src/main/java/org/archive/format/gzip/GZIPDecoder.java index ef2998a5..9a8f7451 100644 --- a/src/main/java/org/archive/format/gzip/GZIPDecoder.java +++ b/src/main/java/org/archive/format/gzip/GZIPDecoder.java @@ -75,7 +75,7 @@ public long alignOnMagic3(InputStream is) throws IOException { // !?? // nope. are the next 2 possibilities? if((lookahead[1] == GZIP_MAGIC_ONE) && - (lookahead[2] == GZIP_MAGIC_TWO)) { + ((lookahead[2] & 0xff) == GZIP_MAGIC_TWO)) { // !12 keep = 2; } else if(lookahead[2] == GZIP_MAGIC_ONE) { diff --git a/src/main/java/org/archive/resource/MetaData.java b/src/main/java/org/archive/resource/MetaData.java index fb3b24a4..9b7747d8 100755 --- a/src/main/java/org/archive/resource/MetaData.java +++ b/src/main/java/org/archive/resource/MetaData.java @@ -28,8 +28,8 @@ public MetaData(MetaData parentMetaData, String name) { this.topMetaData = this; } else { topMetaData = parentMetaData.topMetaData; + parentMetaData.putChild(name, this); } - parentMetaData.putChild(name, this); } public MetaData(String jsonString) throws JSONException { diff --git a/src/main/java/org/archive/util/ByteOp.java b/src/main/java/org/archive/util/ByteOp.java index fc27d04a..74a52f15 100755 --- a/src/main/java/org/archive/util/ByteOp.java +++ b/src/main/java/org/archive/util/ByteOp.java @@ -237,7 +237,7 @@ public static String drawHex(byte[] b, int bytesPerRow) { return drawHex(b,0,b.length,bytesPerRow); } public static String drawHex(byte[] b, int offset, int length, int bytesPerRow) { - int rows = (int) Math.ceil(length / bytesPerRow); + int rows = (int) Math.ceil((double) length / bytesPerRow); if(rows == 0) { rows = 1; } diff --git a/src/main/java/org/archive/util/StreamCopy.java b/src/main/java/org/archive/util/StreamCopy.java index 52523edc..53a1b812 100755 --- a/src/main/java/org/archive/util/StreamCopy.java +++ b/src/main/java/org/archive/util/StreamCopy.java @@ -27,7 +27,7 @@ public static long copy(InputStream i, OutputStream o, int bytes) throws IOExcep } public static long copyLength(InputStream i, OutputStream o, long bytes) throws IOException { - return copyLength(i,o,DEFAULT_READ_SIZE); + return copyLength(i,o,bytes,DEFAULT_READ_SIZE); } public static long copyLength(InputStream i, OutputStream o, long bytes, int readSize) throws IOException {