commit | f38a4cce487f777270a9eb945032d7bb4e4c82d1 | [log] [tgz] |
---|---|---|
author | Damjan Jovanovic <damjan@apache.org> | Thu Feb 23 05:38:24 2012 +0000 |
committer | Damjan Jovanovic <damjan@apache.org> | Thu Feb 23 05:38:24 2012 +0000 |
tree | 58cb7ec8835de8d663cd198ccce905b82f7323b3 | |
parent | 961870fd0747d28bd3e14cc85c82323d6de2b96c [diff] |
Fix some issues with skip() functions. git-svn-id: https://svn.apache.org/repos/asf/commons/proper/sanselan/trunk@1292655 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/commons/sanselan/common/bytesource/ByteSourceInputStream.java b/src/main/java/org/apache/commons/sanselan/common/bytesource/ByteSourceInputStream.java index 4475900..1a3b630 100644 --- a/src/main/java/org/apache/commons/sanselan/common/bytesource/ByteSourceInputStream.java +++ b/src/main/java/org/apache/commons/sanselan/common/bytesource/ByteSourceInputStream.java
@@ -180,12 +180,7 @@ } InputStream is = getInputStream(); - for (long skipped = 0; skipped < blockStart; ) { - long ret = is.skip(blockStart - skipped); - if (ret >= 0) { - skipped += ret; - } - } + skipBytes(is, blockStart); byte bytes[] = new byte[blockLength]; int total = 0;
diff --git a/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java index 0f5d86b..700a4d9 100644 --- a/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java +++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java
@@ -136,24 +136,17 @@ InputStream is = null; try { - is = byteSource.getInputStream(); - if (offset > 0) { - for (long skipped = 0; skipped < offset; ) { - long ret = is.skip(offset - skipped); - if (ret >= 0) { - skipped += ret; - } - } - } - - List<TiffField> fields = new ArrayList<TiffField>(); - if (offset >= byteSource.getLength()) { // Debug.debug("skipping invalid directory!"); return true; } + is = byteSource.getInputStream(); + skipBytes(is, offset); + + List<TiffField> fields = new ArrayList<TiffField>(); + int entryCount; try {