[unber] fix output regression
diff --git a/asn1-tools/unber/libasn1_unber_tool.c b/asn1-tools/unber/libasn1_unber_tool.c
index 0733331..4f421ea 100644
--- a/asn1-tools/unber/libasn1_unber_tool.c
+++ b/asn1-tools/unber/libasn1_unber_tool.c
@@ -225,7 +225,7 @@
         }
 
         if(!expect_eoc || tagbuf[0] || tagbuf[1])
-            print_TL(os, 0, ibs->bytesRead(ibs), level, constr, tblen,
+            print_TL(os, 0, ibs->bytesRead(ibs) - tblen, level, constr, tblen,
                      tlv_tag, tlv_len, effective_size);
 
         if(limit != -1) {
@@ -248,7 +248,7 @@
 
         if(expect_eoc && !tagbuf[0] && !tagbuf[1]) {
             /* End of content octets */
-            print_TL(os, 1, ibs->bytesRead(ibs), level - 1, 1, 2, 0, -1,
+            print_TL(os, 1, ibs->bytesRead(ibs) - 2, level - 1, 1, 2, 0, -1,
                      effective_size);
             return PD_FINISHED;
         }
@@ -642,6 +642,7 @@
     ifs.istream.nextChar = file_input_stream_nextChar;
     ifs.istream.bytesRead = file_input_stream_bytesRead;
     ifs.fp = fp;
+    ifs.offset = 0;
 
     struct file_output_stream ofs;
     ofs.ostream.vprintf = file_output_stream_vprintf;