summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrej Shadura <andrewsh@debian.org>2019-01-04 21:32:28 +0100
committerAndrej Shadura <andrewsh@debian.org>2019-01-04 21:32:28 +0100
commitbd3fcd502e034bfb418ecd55886c6f096de3ab99 (patch)
tree784d968782b315b5a1ce9f12299b58097560adbd
parent5bdbc47e646bd73a286936a3011ec9e78df4e699 (diff)
Adapt StarDict.java to the current DictZip interface
Gbp-Pq: Name 05-update-dictzip.patch
-rw-r--r--src/org/omegat/core/dictionaries/StarDict.java11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/org/omegat/core/dictionaries/StarDict.java b/src/org/omegat/core/dictionaries/StarDict.java
index 2dbada9..d04548f 100644
--- a/src/org/omegat/core/dictionaries/StarDict.java
+++ b/src/org/omegat/core/dictionaries/StarDict.java
@@ -326,12 +326,14 @@ public class StarDict implements IDictionaryFactory {
* DictZip has a header that indicates data offset. When try retrieving
* data, use header information as an index for random access.
*/
+ /*
private DictZipHeader getDZHeader(DictZipInputStream din) throws IOException {
if (fHeader == null) {
fHeader = din.readHeader();
}
return fHeader;
}
+ */
/**
* Read .dict.dz file data. Intended to be called only from
@@ -350,14 +352,9 @@ public class StarDict implements IDictionaryFactory {
try {
in = new RandomAccessInputStream(dataFile, "r");
din = new DictZipInputStream(in);
- DictZipHeader h = getDZHeader(din);
- int off = h.getOffset(start);
- int pos = h.getPosition(start);
- in.seek(pos);
- byte[] b = new byte[off + len];
- din.readFully(b);
+ in.seek(start);
byte[] data = new byte[len];
- System.arraycopy(b, off, data, 0, len);
+ din.readFully(data);
result = new String(data, OConsts.UTF8);
din.close();
in.close();