Hi Gerd
Reading and checking the initial getting.patch and your fix yesterday,
I've noticed a few lines in the same file that should be changed for
clarity and to make them similar to other logic in the same file.
I also noticed a 3 byte signed offset for fetchLabel that has been
wrong for a long time.
Patch attached
Regards
Ticker
Index: src/uk/me/parabola/imgfmt/app/trergn/RGNFileReader.java
===================================================================
--- src/uk/me/parabola/imgfmt/app/trergn/RGNFileReader.java (revision 4177)
+++ src/uk/me/parabola/imgfmt/app/trergn/RGNFileReader.java (working copy)
@@ -152,8 +152,8 @@
Point p = new Point(sd);
int type = reader.get1u() << 8;
- byte b = reader.get();
- type |= 0x10000 + (b & 0x1f);
+ int b = reader.get1u();
+ type |= 0x10000 + (b & 0x1f);
p.setType(type);
p.setDeltaLong(reader.get2s());
p.setDeltaLat(reader.get2s());
@@ -262,7 +262,7 @@
* @param line The line or shape that is to be populated.
*/
private void readLineCommon(ImgFileReader reader, Subdivision div, Polyline line) {
- byte type = reader.get();
+ int type = reader.get1u();
if (line instanceof Polygon)
line.setType(type & 0x7f);
else {
@@ -293,7 +293,7 @@
else
len = reader.get2u();
- int base = reader.get();
+ int base = reader.get1u();
byte[] bitstream = reader.get(len);
BitReader br = new BitReader(bitstream);
@@ -309,12 +309,11 @@
* @param line The line or shape that is to be populated.
*/
private void readLineCommonExtType(ImgFileReader reader, Subdivision div, Polyline line) {
- int type = reader.get1u();
- type <<= 8;
+ int type = reader.get1u() << 8;
int b1 = reader.get1u();
boolean hasExtraBytes = (b1 & 0x80) != 0;
boolean hasLabel = (b1 & 0x20) != 0;
- type |= 0x10000 + (b1 & 0x1f);
+ type |= 0x10000 + (b1 & 0x1f);
line.setType(type);
line.setDeltaLong(reader.get2s());
line.setDeltaLat(reader.get2s());
Index: src/uk/me/parabola/imgfmt/app/trergn/TREFileReader.java
===================================================================
--- src/uk/me/parabola/imgfmt/app/trergn/TREFileReader.java (revision 4177)
+++ src/uk/me/parabola/imgfmt/app/trergn/TREFileReader.java (working copy)
@@ -228,7 +228,7 @@
long pos = sect.getPosition();
while (pos < sect.getEndPos()) {
reader.position(pos);
- int offset = reader.get3s();
+ int offset = reader.get3u();
Label label = lblReader.fetchLabel(offset);
if (label != null) {
msgs.add(label.getText());
_______________________________________________
mkgmap-dev mailing list
[email protected]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev