pdf-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[pdf-devel] Re: rldec eod management


From: gerel
Subject: [pdf-devel] Re: rldec eod management
Date: Sun, 28 Sep 2008 16:44:42 -0700 (PDT)

 > Date: Mon, 29 Sep 2008 00:02:28 +0200
 > From: address@hidden
 > 
 > Hi Gerel.
 > 
 >    I think I know why it's not reaching there. It's particular to RL and we 
 > may see
 >    this behavior in other filters too.
 > 
 >    The thing is this, when you ask the filter to read N bytes, as soon as 
 > you get
 >    the N bytes the apply() function isn't called anymore, leaving in this 
 > case the
 >    EOD marker. Other filters may actually need and look for the trailing 
 > character
 >    in order to finish the decoding process, but the RL doesn't need it to 
 > decode
 >    data.
 > 
 > It is ok then. The behaviour of the implementation is as expected.
 > Could you write a little unit test to consume the EOD marker?

Sure, I send a patch at the end of this email.

BTW, It would be nice to document a bit more which error codes the Stream
implementation is waiting from the Filters and how each one behaves. (until now
I had to deduce this by reading the Stream source code)

OTOH I hope I get the flate filter working during the week, zlib API isn't
trivial, at least for me. :-)

BTW, I didn't understand you when you asked me to add filters in the pdf-filter
utility, now I know what you meant, I'll do it for the flate filter, no problem.


##
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: address@hidden
# target_branch: file:///home/gerel/PROJECTS/libgnupdf/trunk/
# testament_sha1: b94745c33278fb762f89c90c400d0ab3d303cdce
# timestamp: 2008-09-28 20:21:43 -0300
# base_revision_id: address@hidden
# 
# Begin patch
=== modified file 'ChangeLog'
--- ChangeLog   2008-09-28 14:00:42 +0000
+++ ChangeLog   2008-09-28 23:21:24 +0000
@@ -1,3 +1,9 @@
+2008-09-28  Gerardo E. Gidoni  <address@hidden>
+
+       * src/base/pdf-stm-f-rl.c: decoder EOD mark fix.
+
+       * torture/unit/base/stm/pdf-stm-read.c: force RL decoder to consume EOD.
+
 2008-09-28  Jose E. Marchesi  <address@hidden>
 
        * doc/gnupdf-tsd.texi (pdf_stm_read): Documentation added for the

=== modified file 'src/base/pdf-stm-f-rl.c'
--- src/base/pdf-stm-f-rl.c     2008-09-28 13:51:52 +0000
+++ src/base/pdf-stm-f-rl.c     2008-09-28 23:21:24 +0000
@@ -1,4 +1,4 @@
-/* -*- mode: C -*- Time-stamp: "08/09/28 15:45:51 jemarch"
+/* -*- mode: C -*- Time-stamp: "2008-09-28 20:18:38 gerel"
  *
  *       File:         pdf-stm-f-rl.c
  *       Date:         Sun Jul 15 22:01:18 2007
@@ -206,8 +206,7 @@
       /* EOD mark */
       else
         {
-          in->rp++;
-          break;
+          st->run_p = PDF_FALSE;
         }
     }
 

=== modified file 'torture/unit/base/stm/pdf-stm-read.c'
--- torture/unit/base/stm/pdf-stm-read.c        2008-09-28 14:00:42 +0000
+++ torture/unit/base/stm/pdf-stm-read.c        2008-09-28 23:21:24 +0000
@@ -1,4 +1,4 @@
-/* -*- mode: C -*- Time-stamp: "08/09/28 15:58:55 jemarch"
+/* -*- mode: C -*- Time-stamp: "2008-09-28 20:17:40 gerel"
  *
  *       File:         pdf-stm-read.c
  *       Date:         Sat Sep 20 15:20:17 2008
@@ -306,7 +306,7 @@
   pdf_size_t buf_size, total=46,read;
   pdf_char_t *dataux, *encoded =
     "\x00" "1" "\xff" "2" "\xfe" "3" "\xfd" "4" "\xfc" "5" "\xfb" "6" \
-    "\xfa" "7" "\xf9" "8" "\xf8" "9" "\x00" "\x00" "\x80";
+    "\xfa" "7" "\xf9" "8" "\xf8" "9" "\x80" "\x00" "\x00" "\x80";
 
   /* Writing stream */
   /* Create a memory buffer */
@@ -315,7 +315,7 @@
   fail_if(buf == NULL);
   /* Create the stream */
   ret = pdf_stm_mem_new (encoded,
-                         21,
+                         22,
                          1, /* Minimum, to restore filter's state */
                          PDF_STM_READ,
                          &stm);

# Begin bundle
IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWTYK7PEAAxB/gEEwAgBRd///
f4TcBL////BQBXvWsiUAkBIoAiE0JtTNIxG1GIA0yDRpkGJoABzTEyZNGEwTE0wCYBDBGBGASJCm
ETNIZTelPSbU09NT1PUDQAMJ5TIHNMTJk0YTBMTTAJgEMEYEYBJImIAjEaT0EnpNpJ7UwpjKZqaA
0zSUJhz4zPKyb8sPJB2Z+GeIjO/I0YalANYXfTBmwUwAEVmbXlU+55EheIevo/gYIPrZyN5MHkIs
/mlBwkq1kzRLiHdOJTIpKCZSKnKl3fcc2/8059suo8eOuz4KCN3KO79carLKY4ILYGFkYhdXlkgA
CpQBWg5wIMmO/tyNxdGqZ5zvnVXG1Ut2ypqDpGhjeSbxzmLdABikXdZ3m8K8giDkRWqc6GNJx+zh
4BIij7juWQjjvoIfbWPNq4lowe7l9K56uthhm3iDvMg1aZr+y5eY19CSkcZy2hraV2jKNqXKSmUT
Q1pRUkK8ZQGivgNLWch7LSRaygHEq5EiGpsSKMlQwq0QSKBgoWnuxFZSvGg2NKdtGNSlzT1NNiJ+
52nRRhWejhgsmGRzCqnA75zA1aCbu9oizc+sLC0yLzTshi5GxYPyOnWOEicgjZFgcaMlrEV+cX50
kV2lQiJlBFJE3cYRlSIANBVoMsASI6PwInooqse+xU6qiSeMRSIMPQ9PM8GsHlxyMjgcT4CIXWCN
VVqVaYJq0O4bh5f0mweqTO860ZFgUEicGNhuHRUG2GzBsJr5IuNBYQKiogMdDHQMToazUSczrqZn
VlttkrTDEuKisbWfdYlBA0FJYyKyBpOIjkSTyVjygmB7xhhzFJsLSBWXvQ5DysmGJExsWrKCiaKb
X2LcMkiUhQ13DxFkchigyGua8kYiOKMxEBE060Wz6iZMKLjUMASUCwwJEtxpNpQYtVFyfhMhgZD5
wrFTZjvNXSXsNDD5si4yu6scN3uI12qFMa3YvaGn1ywQVOJadWsTSOymUbaY+XjK+475b6oPDrg4
G+qomM/RxYlbnLFMOYTjHCZamXueBEPyxvYOwac3i7agpT7aV4eIpqkDuaZc+7maR5yO4nnD3nab
Ow1lR3FRD09oj5EGC+ke4oMCBso8fAl57XCjolQ/ebRpTBd8TAHmogh5BEB84H1KBifID1YH2ii7
fs8FxeOTiOe8vNIw8/LeR7DpPkY8laHyI0sdjP0JhdZAqNAdlZhAvLqhiQBSeYnH7JkvOladH4nS
WWYZmoi2wqEPS7RE19hYHI7T2nzXM6zIIMgWaUR+FsWxGvpgKzKXBuzKpzIIQHpK2Jm2w7txJDXF
h8RBYeHUbLxGeEtQG+Dkmi7MI6e5dqLItH0A7JGlEUHqPMvAVe31yfDAkwHvEWz1KZePBY7mCKMN
d7RcGIu9H6KKKkWp4LqQcfg86dGADxY0qM5OHHJ5ORJX80XvVCxCR30R8m7mBjdgWGAUnCj1UnK5
ENKwQQtHNiyF48tf1zGS8ZVJH61Po1iGDhYK3yEDLXVMF/BhF6yW3btR8fZMzDM0QkF1WcaBprTM
uEZ0bnA4Xwd7OBNAWaGsmuGxnSUEF3VqWlk+SqEHgT0UfON40l5nRLWGMKRhihyijSTOGbArXQik
OkQygjTJetw7NwY3hSLe1dhZQZ9UCR5CkmuuSjfvHk8heIwPYTUBzQxFkWOXUk8QMuvTPC91u03C
KFgItVC8sS0/J8xhzKSVtbdTxFgiabny10BKCP/F3JFOFCQNgrs8QA==

###

-gerel




reply via email to

[Prev in Thread] Current Thread [Next in Thread]