aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2019-06-22 00:49:09 +0200
committerJay Berkenbilt <ejb@ql.org>2019-06-22 04:29:31 +0200
commit45dac410b5f427bc8c8ea39cc04cc55ddb825671 (patch)
treeaffdf21d8dbe3d045296c4ebf93c07ebdf721a53
parent25dd3c67501663353ecdd881bb4322458466cbc0 (diff)
downloadqpdf-45dac410b5f427bc8c8ea39cc04cc55ddb825671.tar.zst
Remove broken QPDFTokenizer::expectInlineImage
-rw-r--r--ChangeLog4
-rw-r--r--TODO3
-rw-r--r--include/qpdf/QPDFTokenizer.hh6
-rw-r--r--libqpdf/QPDFTokenizer.cc34
-rw-r--r--qpdf/qpdf.testcov2
-rw-r--r--qpdf/qtest/qpdf.test7
-rw-r--r--qpdf/qtest/qpdf/tokens-old-ei.out2320
-rw-r--r--qpdf/test_tokenizer.cc28
8 files changed, 13 insertions, 2391 deletions
diff --git a/ChangeLog b/ChangeLog
index 895a3431..e555a10a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,10 @@
QPDF::copyForeignObject with an unused boolean parameter. If you
were, for some reason, calling this, just take the parameter away.
+ * Source-level incompatibility: remove the version
+ QPDF::copyForeignObject with an unused boolean parameter. If you
+ were, for some reason, calling this, just take the parameter away.
+
* Source-level incompatibility: rename QUtil::strcasecmp to
QUtil::str_compare_nocase. This is a non-compatible change, but
QUtil::strcasecmp is hardly the most important part of qpdf's API.
diff --git a/TODO b/TODO
index 6a6f0ea9..6fc5c1ac 100644
--- a/TODO
+++ b/TODO
@@ -1,9 +1,6 @@
Next ABI
========
- * Remove version of QPDFTokenizer::expectInlineImage with no
- arguments.
-
* Build with -fvisibility=hidden by default. Fix QPDF_DLL. See #302
for discussion. See also https://gcc.gnu.org/wiki/Visibility
diff --git a/include/qpdf/QPDFTokenizer.hh b/include/qpdf/QPDFTokenizer.hh
index ed33e13c..c28d3c89 100644
--- a/include/qpdf/QPDFTokenizer.hh
+++ b/include/qpdf/QPDFTokenizer.hh
@@ -190,12 +190,6 @@ class QPDFTokenizer
QPDF_DLL
void expectInlineImage(PointerHolder<InputSource> input);
- // Legacy version. New code should not call this. The token
- // returned will include the EI keyword. The recipient of the
- // token will have to remove it.
- QPDF_DLL
- void expectInlineImage();
-
private:
// Do not implement copy or assignment
QPDFTokenizer(QPDFTokenizer const&);
diff --git a/libqpdf/QPDFTokenizer.cc b/libqpdf/QPDFTokenizer.cc
index 3c40ed00..54c9825e 100644
--- a/libqpdf/QPDFTokenizer.cc
+++ b/libqpdf/QPDFTokenizer.cc
@@ -542,20 +542,6 @@ QPDFTokenizer::presentCharacter(char ch)
this->m->inline_image_bytes = 0;
this->m->state = st_token_ready;
}
- else if ((this->m->inline_image_bytes == 0) &&
- (len >= 4) &&
- isDelimiter(this->m->val.at(len-4)) &&
- (this->m->val.at(len-3) == 'E') &&
- (this->m->val.at(len-2) == 'I') &&
- isDelimiter(this->m->val.at(len-1)))
- {
- QTC::TC("qpdf", "QPDFTokenizer found EI the old way");
- this->m->val.erase(len - 1);
- this->m->type = tt_inline_image;
- this->m->unread_char = true;
- this->m->char_to_unread = ch;
- this->m->state = st_token_ready;
- }
}
else
{
@@ -628,20 +614,6 @@ QPDFTokenizer::presentCharacter(char ch)
void
QPDFTokenizer::presentEOF()
{
- if (this->m->state == st_inline_image)
- {
- size_t len = this->m->val.length();
- if ((len >= 3) &&
- isDelimiter(this->m->val.at(len-3)) &&
- (this->m->val.at(len-2) == 'E') &&
- (this->m->val.at(len-1) == 'I'))
- {
- QTC::TC("qpdf", "QPDFTokenizer inline image at EOF the old way");
- this->m->type = tt_inline_image;
- this->m->state = st_token_ready;
- }
- }
-
if (this->m->state == st_literal)
{
QTC::TC("qpdf", "QPDFTokenizer EOF reading appendable token");
@@ -670,12 +642,6 @@ QPDFTokenizer::presentEOF()
}
void
-QPDFTokenizer::expectInlineImage()
-{
- expectInlineImage(PointerHolder<InputSource>());
-}
-
-void
QPDFTokenizer::expectInlineImage(PointerHolder<InputSource> input)
{
if (this->m->state != st_top)
diff --git a/qpdf/qpdf.testcov b/qpdf/qpdf.testcov
index b0d15984..4182b9e3 100644
--- a/qpdf/qpdf.testcov
+++ b/qpdf/qpdf.testcov
@@ -431,9 +431,7 @@ qpdf from_nr from repeat_nr 0
QPDF resolve duplicated page object 0
QPDF handle direct page object 0
QPDFTokenizer finder found wrong word 0
-QPDFTokenizer found EI the old way 0
QPDFTokenizer found EI by byte count 0
-QPDFTokenizer inline image at EOF the old way 0
QPDFTokenizer found EI after more than one try 0
QPDFPageObjectHelper externalize inline image 0
QPDFPageObjectHelper keep inline image 0
diff --git a/qpdf/qtest/qpdf.test b/qpdf/qtest/qpdf.test
index 7e7b733d..0069fe4a 100644
--- a/qpdf/qtest/qpdf.test
+++ b/qpdf/qtest/qpdf.test
@@ -796,7 +796,7 @@ foreach my $d (@eii_tests)
show_ntests();
# ----------
$td->notify("--- Tokenizer ---");
-$n_tests += 5;
+$n_tests += 4;
$td->runtest("tokenizer with no ignorable",
{$td->COMMAND => "test_tokenizer -no-ignorable tokens.pdf"},
@@ -808,11 +808,6 @@ $td->runtest("tokenizer",
{$td->FILE => "tokens.out", $td->EXIT_STATUS => 0},
$td->NORMALIZE_NEWLINES);
-$td->runtest("tokenizer with old inline image code",
- {$td->COMMAND => "test_tokenizer -old-ei tokens.pdf"},
- {$td->FILE => "tokens-old-ei.out", $td->EXIT_STATUS => 0},
- $td->NORMALIZE_NEWLINES);
-
$td->runtest("tokenizer with max_len",
{$td->COMMAND => "test_tokenizer -maxlen 50 tokens.pdf"},
{$td->FILE => "tokens-maxlen.out", $td->EXIT_STATUS => 0},
diff --git a/qpdf/qtest/qpdf/tokens-old-ei.out b/qpdf/qtest/qpdf/tokens-old-ei.out
deleted file mode 100644
index bf30fc09..00000000
--- a/qpdf/qtest/qpdf/tokens-old-ei.out
+++ /dev/null
@@ -1,2320 +0,0 @@
---- BEGIN FILE ---
-0: comment: %PDF-1.5
-8: space: \x0a
-9: comment: %\xbf\xf7\xa2\xfe
-14: space: \x0a
-15: comment: %QDF-1.0
-23: space: \x0a\x0a
-25: comment: %comment 1
-35: space: \x0d
-36: comment: %comment 2
-46: space: \x0d\x0a
-48: comment: %comment 3
-58: space: \x0a\x0a
-60: integer: 1
-61: space:
-62: integer: 0
-63: space:
-64: word: obj
-67: space: \x0a
-68: dict_open: <<
-70: space: \x0a
-73: name: /Type
-78: space:
-79: name: /ObjStm
-86: space: \x0a
-89: name: /Length
-96: space:
-97: integer: 6020
-101: space: \x0a
-104: name: /N
-106: space:
-107: integer: 35
-109: space: \x0a
-112: name: /First
-118: space:
-119: integer: 323
-122: space: \x0a
-123: dict_close: >>
-125: space: \x0a
-126: word: stream
-skipping to endstream
-6153: word: endstream
-6162: space: \x0a
-6163: word: endobj
-6169: space: \x0a\x0a
-6171: comment: %% Contents for page 1
-6193: space: \x0a
-6194: comment: %% Original object ID: 37 0
-6221: space: \x0a
-6222: integer: 37
-6224: space:
-6225: integer: 0
-6226: space:
-6227: word: obj
-6230: space: \x0a
-6231: dict_open: <<
-6233: space: \x0a
-6236: name: /Length
-6243: space:
-6244: integer: 38
-6246: space:
-6247: integer: 0
-6248: space:
-6249: word: R
-6250: space: \x0a
-6251: dict_close: >>
-6253: space: \x0a
-6254: word: stream
-skipping to endstream
-6305: word: endstream
-6314: space: \x0a
-6315: word: endobj
-6321: space: \x0a\x0a
-6323: integer: 38
-6325: space:
-6326: integer: 0
-6327: space:
-6328: word: obj
-6331: space: \x0a
-6332: integer: 44
-6334: space: \x0a
-6335: word: endobj
-6341: space: \x0a\x0a
-6343: comment: %% Contents for page 2
-6365: space: \x0a
-6366: comment: %% Original object ID: 38 0
-6393: space: \x0a
-6394: integer: 39
-6396: space:
-6397: integer: 0
-6398: space:
-6399: word: obj
-6402: space: \x0a
-6403: dict_open: <<
-6405: space: \x0a
-6408: name: /Length
-6415: space:
-6416: integer: 40
-6418: space:
-6419: integer: 0
-6420: space:
-6421: word: R
-6422: space: \x0a
-6423: dict_close: >>
-6425: space: \x0a
-6426: word: stream
-skipping to endstream
-6832: word: endstream
-6841: space: \x0a
-6842: word: endobj
-6848: space: \x0a\x0a
-6850: integer: 40
-6852: space:
-6853: integer: 0
-6854: space:
-6855: word: obj
-6858: space: \x0a
-6859: integer: 399
-6862: space: \x0a
-6863: word: endobj
-6869: space: \x0a\x0a
-6871: comment: %% Contents for page 3
-6893: space: \x0a
-6894: comment: %% Original object ID: 39 0
-6921: space: \x0a
-6922: integer: 41
-6924: space:
-6925: integer: 0
-6926: space:
-6927: word: obj
-6930: space: \x0a
-6931: dict_open: <<
-6933: space: \x0a
-6936: name: /Length
-6943: space:
-6944: integer: 42
-6946: space:
-6947: integer: 0
-6948: space:
-6949: word: R
-6950: space: \x0a
-6951: dict_close: >>
-6953: space: \x0a
-6954: word: stream
-skipping to endstream
-7001: word: endstream
-7010: space: \x0a
-7011: word: endobj
-7017: space: \x0a\x0a
-7019: integer: 42
-7021: space:
-7022: integer: 0
-7023: space:
-7024: word: obj
-7027: space: \x0a
-7028: integer: 40
-7030: space: \x0a
-7031: word: endobj
-7037: space: \x0a\x0a
-7039: comment: %% Contents for page 4
-7061: space: \x0a
-7062: comment: %% Original object ID: 40 0
-7089: space: \x0a
-7090: integer: 43
-7092: space:
-7093: integer: 0
-7094: space:
-7095: word: obj
-7098: space: \x0a
-7099: dict_open: <<
-7101: space: \x0a
-7104: name: /Length
-7111: space:
-7112: integer: 44
-7114: space:
-7115: integer: 0
-7116: space:
-7117: word: R
-7118: space: \x0a
-7119: dict_close: >>
-7121: space: \x0a
-7122: word: stream
-skipping to endstream
-7469: word: endstream
-7478: space: \x0a
-7479: word: endobj
-7485: space: \x0a\x0a
-7487: integer: 44
-7489: space:
-7490: integer: 0
-7491: space:
-7492: word: obj
-7495: space: \x0a
-7496: integer: 340
-7499: space: \x0a
-7500: word: endobj
-7506: space: \x0a\x0a
-7508: comment: %% Contents for page 5
-7530: space: \x0a
-7531: comment: %% Original object ID: 41 0
-7558: space: \x0a
-7559: integer: 45
-7561: space:
-7562: integer: 0
-7563: space:
-7564: word: obj
-7567: space: \x0a
-7568: dict_open: <<
-7570: space: \x0a
-7573: name: /Length
-7580: space:
-7581: integer: 46
-7583: space:
-7584: integer: 0
-7585: space:
-7586: word: R
-7587: space: \x0a
-7588: dict_close: >>
-7590: space: \x0a
-7591: word: stream
-skipping to endstream
-7666: word: endstream
-7675: space: \x0a
-7676: word: endobj
-7682: space: \x0a
-7683: comment: %QDF: ignore_newline
-7703: space: \x0a\x0a
-7705: integer: 46
-7707: space:
-7708: integer: 0
-7709: space:
-7710: word: obj
-7713: space: \x0a
-7714: integer: 67
-7716: space: \x0a
-7717: word: endobj
-7723: space: \x0a\x0a
-7725: comment: %% Contents for page 6
-7747: space: \x0a
-7748: comment: %% Original object ID: 42 0
-7775: space: \x0a
-7776: integer: 47
-7778: space:
-7779: integer: 0
-7780: space:
-7781: word: obj
-7784: space: \x0a
-7785: dict_open: <<
-7787: space: \x0a
-7790: name: /Length
-7797: space:
-7798: integer: 48
-7800: space:
-7801: integer: 0
-7802: space:
-7803: word: R
-7804: space: \x0a
-7805: dict_close: >>
-7807: space: \x0a
-7808: word: stream
-skipping to endstream
-7859: word: endstream
-7868: space: \x0a
-7869: word: endobj
-7875: space: \x0a\x0a
-7877: integer: 48
-7879: space:
-7880: integer: 0
-7881: space:
-7882: word: obj
-7885: space: \x0a
-7886: integer: 44
-7888: space: \x0a
-7889: word: endobj
-7895: space: \x0a\x0a
-7897: comment: %% Contents for page 7
-7919: space: \x0a
-7920: comment: %% Original object ID: 43 0
-7947: space: \x0a
-7948: integer: 49
-7950: space:
-7951: integer: 0
-7952: space:
-7953: word: obj
-7956: space: \x0a
-7957: dict_open: <<
-7959: space: \x0a
-7962: name: /Length
-7969: space:
-7970: integer: 50
-7972: space:
-7973: integer: 0
-7974: space:
-7975: word: R
-7976: space: \x0a
-7977: dict_close: >>
-7979: space: \x0a
-7980: word: stream
-skipping to endstream
-8306: word: endstream
-8315: space: \x0a
-8316: word: endobj
-8322: space: \x0a
-8323: comment: %QDF: ignore_newline
-8343: space: \x0a\x0a
-8345: integer: 50
-8347: space:
-8348: integer: 0
-8349: space:
-8350: word: obj
-8353: space: \x0a
-8354: integer: 318
-8357: space: \x0a
-8358: word: endobj
-8364: space: \x0a\x0a
-8366: comment: %% Contents for page 8
-8388: space: \x0a
-8389: comment: %% Original object ID: 44 0
-8416: space: \x0a
-8417: integer: 51
-8419: space:
-8420: integer: 0
-8421: space:
-8422: word: obj
-8425: space: \x0a
-8426: dict_open: <<
-8428: space: \x0a
-8431: name: /Length
-8438: space:
-8439: integer: 52
-8441: space:
-8442: integer: 0
-8443: space:
-8444: word: R
-8445: space: \x0a
-8446: dict_close: >>
-8448: space: \x0a
-8449: word: stream
-skipping to endstream
-8500: word: endstream
-8509: space: \x0a
-8510: word: endobj
-8516: space: \x0a\x0a
-8518: integer: 52
-8520: space:
-8521: integer: 0
-8522: space:
-8523: word: obj
-8526: space: \x0a
-8527: integer: 44
-8529: space: \x0a
-8530: word: endobj
-8536: space: \x0a\x0a
-8538: comment: %% Contents for page 9
-8560: space: \x0a
-8561: comment: %% Original object ID: 45 0
-8588: space: \x0a
-8589: integer: 53
-8591: space:
-8592: integer: 0
-8593: space:
-8594: word: obj
-8597: space: \x0a
-8598: dict_open: <<
-8600: space: \x0a
-8603: name: /Length
-8610: space:
-8611: integer: 54
-8613: space:
-8614: integer: 0
-8615: space:
-8616: word: R
-8617: space: \x0a
-8618: dict_close: >>
-8620: space: \x0a
-8621: word: stream
-skipping to endstream
-8672: word: endstream
-8681: space: \x0a
-8682: word: endobj
-8688: space: \x0a\x0a
-8690: integer: 54
-8692: space:
-8693: integer: 0
-8694: space:
-8695: word: obj
-8698: space: \x0a
-8699: integer: 44
-8701: space: \x0a
-8702: word: endobj
-8708: space: \x0a\x0a
-8710: comment: %% Contents for page 10
-8733: space: \x0a
-8734: comment: %% Original object ID: 46 0
-8761: space: \x0a
-8762: integer: 55
-8764: space:
-8765: integer: 0
-8766: space:
-8767: word: obj
-8770: space: \x0a
-8771: dict_open: <<
-8773: space: \x0a
-8776: name: /Length
-8783: space:
-8784: integer: 56
-8786: space:
-8787: integer: 0
-8788: space:
-8789: word: R
-8790: space: \x0a
-8791: dict_close: >>
-8793: space: \x0a
-8794: word: stream
-skipping to endstream
-8845: word: endstream
-8854: space: \x0a
-8855: word: endobj
-8861: space: \x0a\x0a
-8863: integer: 56
-8865: space:
-8866: integer: 0
-8867: space:
-8868: word: obj
-8871: space: \x0a
-8872: integer: 44
-8874: space: \x0a
-8875: word: endobj
-8881: space: \x0a\x0a
-8883: comment: %% Contents for page 11
-8906: space: \x0a
-8907: comment: %% Original object ID: 47 0
-8934: space: \x0a
-8935: integer: 57
-8937: space:
-8938: integer: 0
-8939: space:
-8940: word: obj
-8943: space: \x0a
-8944: dict_open: <<
-8946: space: \x0a
-8949: name: /Length
-8956: space:
-8957: integer: 58
-8959: space:
-8960: integer: 0
-8961: space:
-8962: word: R
-8963: space: \x0a
-8964: dict_close: >>
-8966: space: \x0a
-8967: word: stream
-skipping to endstream
-9018: word: endstream
-9027: space: \x0a
-9028: word: endobj
-9034: space: \x0a\x0a
-9036: integer: 58
-9038: space:
-9039: integer: 0
-9040: space:
-9041: word: obj
-9044: space: \x0a
-9045: integer: 44
-9047: space: \x0a
-9048: word: endobj
-9054: space: \x0a\x0a
-9056: integer: 59
-9058: space:
-9059: integer: 0
-9060: space:
-9061: word: obj
-9064: space: \x0a
-9065: dict_open: <<
-9067: space: \x0a
-9070: name: /Type
-9075: space:
-9076: name: /XRef
-9081: space: \x0a
-9084: name: /Length
-9091: space:
-9092: integer: 240
-9095: space: \x0a
-9098: name: /W
-9100: space:
-9101: array_open: [
-9102: space:
-9103: integer: 1
-9104: space:
-9105: integer: 2
-9106: space:
-9107: integer: 1
-9108: space:
-9109: array_close: ]
-9110: space: \x0a
-9113: name: /Root
-9118: space:
-9119: integer: 2
-9120: space:
-9121: integer: 0
-9122: space:
-9123: word: R
-9124: space: \x0a
-9127: name: /Size
-9132: space:
-9133: integer: 60
-9135: space: \x0a
-9138: name: /ID
-9141: space:
-9142: array_open: [
-9143: string: \x88\x04\x8e\x17\xc9a\xe0\x94\xff\xec\xe9\x8c\xb8\x8cF\xd0 (raw: <88048e17c961e094ffece98cb88c46d0>)
-9177: string: \xed\xd6\x0f\xe8\xee\x87\xf8\x871\xa8o\x81\x9f\xe6Q\x99 (raw: <edd60fe8ee87f88731a86f819fe65199>)
-9211: array_close: ]
-9212: space: \x0a
-9213: dict_close: >>
-9215: space: \x0a
-9216: word: stream
-skipping to endstream
-9464: word: endstream
-9473: space: \x0a
-9474: word: endobj
-9480: space: \x0a\x0a
-9482: word: startxref
-9491: space: \x0a
-9492: integer: 9056
-9496: space: \x0a
-9497: comment: %%EOF
-9502: space: \x0a
-9503: eof
---- END FILE ---
---- BEGIN PAGE 1 ---
-0: word: BT
-2: space: \x0a
-5: name: /F1
-8: space:
-9: integer: 24
-11: space:
-12: word: Tf
-14: space: \x0a
-17: integer: 72
-19: space:
-20: integer: 720
-23: space:
-24: word: Td
-26: space: \x0a
-29: string: Potato (raw: (Potato))
-37: space:
-38: word: Tj
-40: space: \x0a
-41: word: ET
-43: space: \x0a
-44: eof
---- END PAGE 1 ---
---- BEGIN PAGE 2 ---
-0: word: BT
-2: space: \x0a
-5: name: /F1
-8: space:
-9: integer: 24
-11: space:
-12: word: Tf
-14: space: \x0a
-17: integer: 72
-19: space:
-20: integer: 720
-23: space:
-24: word: Td
-26: space: \x0a
-29: string: Potato (raw: (Potato))
-37: space:
-38: word: Tj
-40: space: \x0a
-41: word: ET
-43: space: \x0a
-44: word: BI
-46: space: \x0a
-47: name: /CS
-50: space:
-51: name: /G
-53: name: /W
-55: space:
-56: integer: 66
-58: name: /H
-60: space:
-61: integer: 47
-63: name: /BPC
-67: space:
-68: integer: 8
-69: name: /F
-71: name: /Fl
-74: name: /DP
-77: dict_open: <<
-79: name: /Predictor
-89: space:
-90: integer: 15
-92: name: /Columns
-100: space:
-101: integer: 66
-103: dict_close: >>
-105: space: \x0a
-106: word: ID
-109: inline-image: x\x9c\xc5\xd6I\x0e\xc3 \x0c\x05P|\xffC;U\xc8`\xc0\xd37\x91Z\xa9\x0b\xa6\x17\x02\xc4\x98\xda\xe6\x8f\x1b}D\xf0\xef_\xb4\xf8\x1c\xc9W\xa9\x84\x9c\xc4-\x94\x88>\xff\x87\xc0\x8d>\x94^\x01&\xae\xa1u\xe2]\x80"!\x87\x95\x08\x96\x05*\xac&\x8fE|Sy\xae \xf0d-\x80<\x9d\x19B\x010B\x05\xfa@N\x11\xea+<\x1fhl\xe8K\xd0\xee/56L\xa0\x89\x90\xe3\x19\x1e \xa3\x96\xb9\xa6>0\x06>\x15Y\x81\xf9!c\xec\\x0eY\x0c\xd8\x0f%Y\xf0\x01\xa5\xd68?&\xa0\xd6\xeb\x88}j\x92\xfb\xe8\x1d;\xab\x8d3\x9d\xc2\xd6l\x14p\xdbsH\xf6\xfbt\xfa\x01Q\x02\xd8Tt*h\xccU\xfa\xe3w\x07\xcd\xd5\xd0%\xa8)p\x96\xb3"\x95DiRj\xb9\x96D\x18YNU\x11\xd3\xd9Av\x92F\xe0&\x0d\x90\xcd\xd4u#c\x95\xc6W\x09\xf4\xdf\x89\x03W\x93O\x0d\x0aEI
-354: space: \x0a
-355: word: BT
-357: space: \x0a
-360: name: /F1
-363: space:
-364: integer: 24
-366: space:
-367: word: Tf
-369: space: \x0a
-372: integer: 72
-374: space:
-375: integer: 720
-378: space:
-379: word: Td
-381: space: \x0a
-384: string: Potato (raw: (Potato))
-392: space:
-393: word: Tj
-395: space: \x0a
-396: word: ET
-398: space: \x0a
-399: eof
---- END PAGE 2 ---
---- BEGIN PAGE 3 ---
-0: word: BT
-2: space: \x0a
-5: name: /F1
-8: space:
-9: integer: 24
-11: space:
-12: word: Tf
-14: space: \x0a
-17: integer: 72
-19: space:
-20: integer: 720
-23: space:
-24: word: Td
-26: space: \x0a
-29: bad: (Potato\x0aET\x0a (EOF while reading token)
-40: eof
---- END PAGE 3 ---
---- BEGIN PAGE 4 ---
-0: word: BT
-2: space: \x0a
-5: name: /F1
-8: space:
-9: integer: 24
-11: space:
-12: word: Tf
-14: space: \x0a
-17: string: \xfe\xeb (raw: <feeb>)
-23: space: \x0a
-26: string: \xab\xcd (raw: <ab\x0aCD>)
-33: space: \x0a
-36: string: quack (raw: (qu\\x0d\x0aack))
-46: space: \x0a
-49: string: quack (raw: (qu\\x0aack))
-58: space: \x0a
-61: string: quack (raw: (qu\\x0dack))
-70: space: \x0a
-73: string: qu\x0aack (raw: (qu\\x0d\x0a\x0dack))
-84: space: \x0a
-87: string: qu\x0aack (raw: (qu\\x0d\x0dack))
-97: space: \x0a
-100: string: qu\x0a\x0a\x0a\x0a\x0a\x0aack (raw: (qu\\x0a\x0a\x0d\x0a\x0a\x0d\x0d\x0a\x0aack))
-117: space: \x0a
-120: string: qu\x0a\x0a\x0a\x0a\x0a\x0aack (raw: (qu\x0a\x0d\x0a\x0a\x0d\x0d\x0a\x0aack))
-135: space: \x0a
-138: integer: 72
-140: space:
-141: integer: 720
-144: space:
-145: word: Td
-147: space: \x0a
-150: real: 3.14
-154: space: \x0a
-157: real: 3.
-159: space: \x0a
-162: real: .14
-165: space: \x0a
-168: real: +3.14
-173: space: \x0a
-176: real: +3.
-179: space: \x0a
-182: real: +.14
-186: space: \x0a
-189: real: -3.14
-194: space: \x0a
-197: real: -3.
-200: space: \x0a
-203: real: -.14
-207: space: \x0a
-210: integer: +16059
-216: space: \x0a
-219: integer: -16059
-225: space: \x0a
-228: word: +.
-230: space: \x0a
-233: bad: <fade\x0aET (invalid character (T) in hexstring)
-241: space: \x0a
-242: bad: ) (unexpected ))
-243: bad: > (unexpected >)
-244: word: quack
-249: space:
-250: bad: /name#oops (invalid name token)
-260: space:
-261: name: /name (raw: /n#61me)
-268: space:
-269: word: one
-272: space:
-273: bool: true
-277: space:
-278: word: two
-281: space:
-282: bool: false
-287: space:
-288: word: three
-293: space:
-294: null: null
-298: space:
-299: word: four
-303: space: \x0a
-304: word: !@#$^&
-310: brace_open: {
-311: brace_close: }
-312: word: *-_+=
-317: space: \x0a
-318: word: abc123def3.14true
-335: space: \x0a
-336: bad: <ff\x0a (EOF while reading token)
-340: eof
---- END PAGE 4 ---
---- BEGIN PAGE 5 ---
-0: word: BT
-2: space: \x0a
-5: bad: /F#00x (null character not allowed in name token)
-11: space:
-12: integer: 24
-14: space:
-15: word: Tf
-17: space: \x0a
-20: integer: 72
-22: space:
-23: integer: 720
-26: space:
-27: word: Td
-29: space: \x0a
-32: string: P\x00tat\x00 (raw: (P\x00tat\000))
-43: space:
-44: word: Tj
-46: space: \x0a
-47: word: ET
-49: space: \x0a\x00\x0a
-52: name: /ThisMustBeLast
-67: eof
---- END PAGE 5 ---
---- BEGIN PAGE 6 ---
-0: word: ID
-EI not found; resuming normal scanning
-3: space:
-5: name: /F1
-8: space:
-9: integer: 24
-11: space:
-12: word: Tf
-14: space: \x0a
-17: integer: 72
-19: space:
-20: integer: 720
-23: space:
-24: word: Td
-26: space: \x0a
-29: string: Potato (raw: (Potato))
-37: space:
-38: word: Tj
-40: space: \x0a
-41: word: ET
-43: space: \x0a
-44: eof
---- END PAGE 6 ---
---- BEGIN PAGE 7 ---
-0: name: /potato
-7: space: \x0a
-8: word: BI
-10: space: \x0a
-11: name: /CS
-14: space:
-15: name: /G
-17: name: /W
-19: space:
-20: integer: 66
-22: name: /H
-24: space:
-25: integer: 47
-27: name: /BPC
-31: space:
-32: integer: 8
-33: name: /F
-35: name: /Fl
-38: name: /DP
-41: dict_open: <<
-43: name: /Predictor
-53: space:
-54: integer: 15
-56: name: /Columns
-64: space:
-65: integer: 66
-67: dict_close: >>
-69: space: \x0a
-70: word: ID
-73: inline-image: x\x9c\xc5\xd6I\x0e\xc3 \x0c\x05P|\xffC;U\xc8`\xc0\xd37\x91Z\xa9\x0b\xa6\x17\x02\xc4\x98\xda\xe6\x8f\x1b}D\xf0\xef_\xb4\xf8\x1c\xc9W\xa9\x84\x9c\xc4-\x94\x88>\xff\x87\xc0\x8d>\x94^\x01&\xae\xa1u\xe2]\x80"!\x87\x95\x08\x96\x05*\xac&\x8fE|Sy\xae \xf0d-\x80<\x9d\x19B\x010B\x05\xfa@N\x11\xea+<\x1fhl\xe8K\xd0\xee/56L\xa0\x89\x90\xe3\x19\x1e \xa3\x96\xb9\xa6>0\x06>\x15Y\x81\xf9!c\xec\\x0eY\x0c\xd8\x0f%Y\xf0\x01\xa5\xd68?&\xa0\xd6\xeb\x88}j\x92\xfb\xe8\x1d;\xab\x8d3\x9d\xc2\xd6l\x14p\xdbsH\xf6\xfbt\xfa\x01Q\x02\xd8Tt*h\xccU\xfa\xe3w\x07\xcd\xd5\xd0%\xa8)p\x96\xb3"\x95DiRj\xb9\x96D\x18YNU\x11\xd3\xd9Av\x92F\xe0&\x0d\x90\xcd\xd4u#c\x95\xc6W\x09\xf4\xdf\x89\x03W\x93O\x0d\x0aEI
-318: eof
---- END PAGE 7 ---
---- BEGIN PAGE 8 ---
-0: word: BT
-2: space: \x0a
-5: name: /F1
-8: space:
-9: integer: 24
-11: space:
-12: word: Tf
-14: space: \x0a
-17: integer: 72
-19: space:
-20: integer: 720
-23: space:
-24: word: Td
-26: space: \x0a
-29: string: Potato (raw: (Potato))
-37: space:
-38: word: Tj
-40: space: \x0a
-41: word: ET
-43: space: \x0a
-44: eof
---- END PAGE 8 ---
---- BEGIN PAGE 9 ---
-0: word: BT
-2: space: \x0a
-5: name: /F1
-8: space:
-9: integer: 24
-11: space:
-12: word: Tf
-14: space: \x0a
-17: integer: 72
-19: space:
-20: integer: 720
-23: space:
-24: word: Td
-26: space: \x0a
-29: string: Potato (raw: (Potato))
-37: space:
-38: word: Tj
-40: space: \x0a
-41: word: ET
-43: space: \x0a
-44: eof
---- END PAGE 9 ---
---- BEGIN PAGE 10 ---
-0: word: BT
-2: space: \x0a
-5: name: /F1
-8: space:
-9: integer: 24
-11: space:
-12: word: Tf
-14: space: \x0a
-17: integer: 72
-19: space:
-20: integer: 720
-23: space:
-24: word: Td
-26: space: \x0a
-29: string: Potato (raw: (Potato))
-37: space:
-38: word: Tj
-40: space: \x0a
-41: word: ET
-43: space: \x0a
-44: eof
---- END PAGE 10 ---
---- BEGIN PAGE 11 ---
-0: word: BT
-2: space: \x0a
-5: name: /F1
-8: space:
-9: integer: 24
-11: space:
-12: word: Tf
-14: space: \x0a
-17: integer: 72
-19: space:
-20: integer: 720
-23: space:
-24: word: Td
-26: space: \x0a
-29: string: Potato (raw: (Potato))
-37: space:
-38: word: Tj
-40: space: \x0a
-41: word: ET
-43: space: \x0a
-44: eof
---- END PAGE 11 ---
---- BEGIN OBJECT STREAM 1 ---
-0: integer: 2
-1: space:
-2: integer: 0
-3: space: \x0a
-4: integer: 3
-5: space:
-6: integer: 97
-8: space: \x0a
-9: integer: 4
-10: space:
-11: integer: 318
-14: space: \x0a
-15: integer: 5
-16: space:
-17: integer: 566
-20: space: \x0a
-21: integer: 6
-22: space:
-23: integer: 814
-26: space: \x0a
-27: integer: 7
-28: space:
-29: integer: 1062
-33: space: \x0a
-34: integer: 8
-35: space:
-36: integer: 1310
-40: space: \x0a
-41: integer: 9
-42: space:
-43: integer: 1558
-47: space: \x0a
-48: integer: 10
-50: space:
-51: integer: 1808
-55: space: \x0a
-56: integer: 11
-58: space:
-59: integer: 2058
-63: space: \x0a
-64: integer: 12
-66: space:
-67: integer: 2309
-71: space: \x0a
-72: integer: 13
-74: space:
-75: integer: 2560
-79: space: \x0a
-80: integer: 14
-82: space:
-83: integer: 2812
-87: space: \x0a
-88: integer: 15
-90: space:
-91: integer: 3064
-95: space: \x0a
-96: integer: 16
-98: space:
-99: integer: 3228
-103: space: \x0a
-104: integer: 17
-106: space:
-107: integer: 3309
-111: space: \x0a
-112: integer: 18
-114: space:
-115: integer: 3473
-119: space: \x0a
-120: integer: 19
-122: space:
-123: integer: 3554
-127: space: \x0a
-128: integer: 20
-130: space:
-131: integer: 3718
-135: space: \x0a
-136: integer: 21
-138: space:
-139: integer: 3799
-143: space: \x0a
-144: integer: 22
-146: space:
-147: integer: 3963
-151: space: \x0a
-152: integer: 23
-154: space:
-155: integer: 4044
-159: space: \x0a
-160: integer: 24
-162: space:
-163: integer: 4208
-167: space: \x0a
-168: integer: 25
-170: space:
-171: integer: 4289
-175: space: \x0a
-176: integer: 26
-178: space:
-179: integer: 4453
-183: space: \x0a
-184: integer: 27
-186: space:
-187: integer: 4534
-191: space: \x0a
-192: integer: 28
-194: space:
-195: integer: 4698
-199: space: \x0a
-200: integer: 29
-202: space:
-203: integer: 4779
-207: space: \x0a
-208: integer: 30
-210: space:
-211: integer: 4943
-215: space: \x0a
-216: integer: 31
-218: space:
-219: integer: 5024
-223: space: \x0a
-224: integer: 32
-226: space:
-227: integer: 5188
-231: space: \x0a
-232: integer: 33
-234: space:
-235: integer: 5269
-239: space: \x0a
-240: integer: 34
-242: space:
-243: integer: 5433
-247: space: \x0a
-248: integer: 35
-250: space:
-251: integer: 5514
-255: space: \x0a
-256: integer: 36
-258: space:
-259: integer: 5678
-263: space: \x0a
-264: comment: %% Object stream: object 2, index 0; original object ID: 2
-322: space: \x0a
-323: dict_open: <<
-325: space: \x0a
-328: name: /Pages
-334: space:
-335: integer: 3
-336: space:
-337: integer: 0
-338: space:
-339: word: R
-340: space: \x0a
-343: name: /Type
-348: space:
-349: name: /Catalog
-357: space: \x0a
-358: dict_close: >>
-360: space: \x0a
-361: comment: %% Object stream: object 3, index 1; original object ID: 3
-419: space: \x0a
-420: dict_open: <<
-422: space: \x0a
-425: name: /Count
-431: space:
-432: integer: 11
-434: space: \x0a
-437: name: /Kids
-442: space:
-443: array_open: [
-444: space: \x0a
-449: integer: 4
-450: space:
-451: integer: 0
-452: space:
-453: word: R
-454: space: \x0a
-459: integer: 5
-460: space:
-461: integer: 0
-462: space:
-463: word: R
-464: space: \x0a
-469: integer: 6
-470: space:
-471: integer: 0
-472: space:
-473: word: R
-474: space: \x0a
-479: integer: 7
-480: space:
-481: integer: 0
-482: space:
-483: word: R
-484: space: \x0a
-489: integer: 8
-490: space:
-491: integer: 0
-492: space:
-493: word: R
-494: space: \x0a
-499: integer: 9
-500: space:
-501: integer: 0
-502: space:
-503: word: R
-504: space: \x0a
-509: integer: 10
-511: space:
-512: integer: 0
-513: space:
-514: word: R
-515: space: \x0a
-520: integer: 11
-522: space:
-523: integer: 0
-524: space:
-525: word: R
-526: space: \x0a
-531: integer: 12
-533: space:
-534: integer: 0
-535: space:
-536: word: R
-537: space: \x0a
-542: integer: 13
-544: space:
-545: integer: 0
-546: space:
-547: word: R
-548: space: \x0a
-553: integer: 14
-555: space:
-556: integer: 0
-557: space:
-558: word: R
-559: space: \x0a
-562: array_close: ]
-563: space: \x0a
-566: name: /Type
-571: space:
-572: name: /Pages
-578: space: \x0a
-579: dict_close: >>
-581: space: \x0a
-582: comment: %% Object stream: object 4, index 2; original object ID: 4
-640: space: \x0a
-641: comment: %% Page 1
-650: space: \x0a
-651: dict_open: <<
-653: space: \x0a
-656: name: /Contents
-665: space:
-666: integer: 37
-668: space:
-669: integer: 0
-670: space:
-671: word: R
-672: space: \x0a
-675: name: /MediaBox
-684: space:
-685: array_open: [
-686: space: \x0a
-691: integer: 0
-692: space: \x0a
-697: integer: 0
-698: space: \x0a
-703: integer: 612
-706: space: \x0a
-711: integer: 792
-714: space: \x0a
-717: array_close: ]
-718: space: \x0a
-721: name: /Parent
-728: space:
-729: integer: 3
-730: space:
-731: integer: 0
-732: space:
-733: word: R
-734: space: \x0a
-737: name: /Resources
-747: space:
-748: dict_open: <<
-750: space: \x0a
-755: name: /Font
-760: space:
-761: dict_open: <<
-763: space: \x0a
-770: name: /F1
-773: space:
-774: integer: 15
-776: space:
-777: integer: 0
-778: space:
-779: word: R
-780: space: \x0a
-785: dict_close: >>
-787: space: \x0a
-792: name: /ProcSet
-800: space:
-801: integer: 16
-803: space:
-804: integer: 0
-805: space:
-806: word: R
-807: space: \x0a
-810: dict_close: >>
-812: space: \x0a
-815: name: /Type
-820: space:
-821: name: /Page
-826: space: \x0a
-827: dict_close: >>
-829: space: \x0a
-830: comment: %% Object stream: object 5, index 3; original object ID: 5
-888: space: \x0a
-889: comment: %% Page 2
-898: space: \x0a
-899: dict_open: <<
-901: space: \x0a
-904: name: /Contents
-913: space:
-914: integer: 39
-916: space:
-917: integer: 0
-918: space:
-919: word: R
-920: space: \x0a
-923: name: /MediaBox
-932: space:
-933: array_open: [
-934: space: \x0a
-939: integer: 0
-940: space: \x0a
-945: integer: 0
-946: space: \x0a
-951: integer: 612
-954: space: \x0a
-959: integer: 792
-962: space: \x0a
-965: array_close: ]
-966: space: \x0a
-969: name: /Parent
-976: space:
-977: integer: 3
-978: space:
-979: integer: 0
-980: space:
-981: word: R
-982: space: \x0a
-985: name: /Resources
-995: space:
-996: dict_open: <<
-998: space: \x0a
-1003: name: /Font
-1008: space:
-1009: dict_open: <<
-1011: space: \x0a
-1018: name: /F1
-1021: space:
-1022: integer: 17
-1024: space:
-1025: integer: 0
-1026: space:
-1027: word: R
-1028: space: \x0a
-1033: dict_close: >>
-1035: space: \x0a
-1040: name: /ProcSet
-1048: space:
-1049: integer: 18
-1051: space:
-1052: integer: 0
-1053: space:
-1054: word: R
-1055: space: \x0a
-1058: dict_close: >>
-1060: space: \x0a
-1063: name: /Type
-1068: space:
-1069: name: /Page
-1074: space: \x0a
-1075: dict_close: >>
-1077: space: \x0a
-1078: comment: %% Object stream: object 6, index 4; original object ID: 6
-1136: space: \x0a
-1137: comment: %% Page 3
-1146: space: \x0a
-1147: dict_open: <<
-1149: space: \x0a
-1152: name: /Contents
-1161: space:
-1162: integer: 41
-1164: space:
-1165: integer: 0
-1166: space:
-1167: word: R
-1168: space: \x0a
-1171: name: /MediaBox
-1180: space:
-1181: array_open: [
-1182: space: \x0a
-1187: integer: 0
-1188: space: \x0a
-1193: integer: 0
-1194: space: \x0a
-1199: integer: 612
-1202: space: \x0a
-1207: integer: 792
-1210: space: \x0a
-1213: array_close: ]
-1214: space: \x0a
-1217: name: /Parent
-1224: space:
-1225: integer: 3
-1226: space:
-1227: integer: 0
-1228: space:
-1229: word: R
-1230: space: \x0a
-1233: name: /Resources
-1243: space:
-1244: dict_open: <<
-1246: space: \x0a
-1251: name: /Font
-1256: space:
-1257: dict_open: <<
-1259: space: \x0a
-1266: name: /F1
-1269: space:
-1270: integer: 19
-1272: space:
-1273: integer: 0
-1274: space:
-1275: word: R
-1276: space: \x0a
-1281: dict_close: >>
-1283: space: \x0a
-1288: name: /ProcSet
-1296: space:
-1297: integer: 20
-1299: space:
-1300: integer: 0
-1301: space:
-1302: word: R
-1303: space: \x0a
-1306: dict_close: >>
-1308: space: \x0a
-1311: name: /Type
-1316: space:
-1317: name: /Page
-1322: space: \x0a
-1323: dict_close: >>
-1325: space: \x0a
-1326: comment: %% Object stream: object 7, index 5; original object ID: 7
-1384: space: \x0a
-1385: comment: %% Page 4
-1394: space: \x0a
-1395: dict_open: <<
-1397: space: \x0a
-1400: name: /Contents
-1409: space:
-1410: integer: 43
-1412: space:
-1413: integer: 0
-1414: space:
-1415: word: R
-1416: space: \x0a
-1419: name: /MediaBox
-1428: space:
-1429: array_open: [
-1430: space: \x0a
-1435: integer: 0
-1436: space: \x0a
-1441: integer: 0
-1442: space: \x0a
-1447: integer: 612
-1450: space: \x0a
-1455: integer: 792
-1458: space: \x0a
-1461: array_close: ]
-1462: space: \x0a
-1465: name: /Parent
-1472: space:
-1473: integer: 3
-1474: space:
-1475: integer: 0
-1476: space:
-1477: word: R
-1478: space: \x0a
-1481: name: /Resources
-1491: space:
-1492: dict_open: <<
-1494: space: \x0a
-1499: name: /Font
-1504: space:
-1505: dict_open: <<
-1507: space: \x0a
-1514: name: /F1
-1517: space:
-1518: integer: 21
-1520: space:
-1521: integer: 0
-1522: space:
-1523: word: R
-1524: space: \x0a
-1529: dict_close: >>
-1531: space: \x0a
-1536: name: /ProcSet
-1544: space:
-1545: integer: 22
-1547: space:
-1548: integer: 0
-1549: space:
-1550: word: R
-1551: space: \x0a
-1554: dict_close: >>
-1556: space: \x0a
-1559: name: /Type
-1564: space:
-1565: name: /Page
-1570: space: \x0a
-1571: dict_close: >>
-1573: space: \x0a
-1574: comment: %% Object stream: object 8, index 6; original object ID: 8
-1632: space: \x0a
-1633: comment: %% Page 5
-1642: space: \x0a
-1643: dict_open: <<
-1645: space: \x0a
-1648: name: /Contents
-1657: space:
-1658: integer: 45
-1660: space:
-1661: integer: 0
-1662: space:
-1663: word: R
-1664: space: \x0a
-1667: name: /MediaBox
-1676: space:
-1677: array_open: [
-1678: space: \x0a
-1683: integer: 0
-1684: space: \x0a
-1689: integer: 0
-1690: space: \x0a
-1695: integer: 612
-1698: space: \x0a
-1703: integer: 792
-1706: space: \x0a
-1709: array_close: ]
-1710: space: \x0a
-1713: name: /Parent
-1720: space:
-1721: integer: 3
-1722: space:
-1723: integer: 0
-1724: space:
-1725: word: R
-1726: space: \x0a
-1729: name: /Resources
-1739: space:
-1740: dict_open: <<
-1742: space: \x0a
-1747: name: /Font
-1752: space:
-1753: dict_open: <<
-1755: space: \x0a
-1762: name: /F1
-1765: space:
-1766: integer: 23
-1768: space:
-1769: integer: 0
-1770: space:
-1771: word: R
-1772: space: \x0a
-1777: dict_close: >>
-1779: space: \x0a
-1784: name: /ProcSet
-1792: space:
-1793: integer: 24
-1795: space:
-1796: integer: 0
-1797: space:
-1798: word: R
-1799: space: \x0a
-1802: dict_close: >>
-1804: space: \x0a
-1807: name: /Type
-1812: space:
-1813: name: /Page
-1818: space: \x0a
-1819: dict_close: >>
-1821: space: \x0a
-1822: comment: %% Object stream: object 9, index 7; original object ID: 9
-1880: space: \x0a
-1881: comment: %% Page 6
-1890: space: \x0a
-1891: dict_open: <<
-1893: space: \x0a
-1896: name: /Contents
-1905: space:
-1906: integer: 47
-1908: space:
-1909: integer: 0
-1910: space:
-1911: word: R
-1912: space: \x0a
-1915: name: /MediaBox
-1924: space:
-1925: array_open: [
-1926: space: \x0a
-1931: integer: 0
-1932: space: \x0a
-1937: integer: 0
-1938: space: \x0a
-1943: integer: 612
-1946: space: \x0a
-1951: integer: 792
-1954: space: \x0a
-1957: array_close: ]
-1958: space: \x0a
-1961: name: /Parent
-1968: space:
-1969: integer: 3
-1970: space:
-1971: integer: 0
-1972: space:
-1973: word: R
-1974: space: \x0a
-1977: name: /Resources
-1987: space:
-1988: dict_open: <<
-1990: space: \x0a
-1995: name: /Font
-2000: space:
-2001: dict_open: <<
-2003: space: \x0a
-2010: name: /F1
-2013: space:
-2014: integer: 25
-2016: space:
-2017: integer: 0
-2018: space:
-2019: word: R
-2020: space: \x0a
-2025: dict_close: >>
-2027: space: \x0a
-2032: name: /ProcSet
-2040: space:
-2041: integer: 26
-2043: space:
-2044: integer: 0
-2045: space:
-2046: word: R
-2047: space: \x0a
-2050: dict_close: >>
-2052: space: \x0a
-2055: name: /Type
-2060: space:
-2061: name: /Page
-2066: space: \x0a
-2067: dict_close: >>
-2069: space: \x0a
-2070: comment: %% Object stream: object 10, index 8; original object ID: 10
-2130: space: \x0a
-2131: comment: %% Page 7
-2140: space: \x0a
-2141: dict_open: <<
-2143: space: \x0a
-2146: name: /Contents
-2155: space:
-2156: integer: 49
-2158: space:
-2159: integer: 0
-2160: space:
-2161: word: R
-2162: space: \x0a
-2165: name: /MediaBox
-2174: space:
-2175: array_open: [
-2176: space: \x0a
-2181: integer: 0
-2182: space: \x0a
-2187: integer: 0
-2188: space: \x0a
-2193: integer: 612
-2196: space: \x0a
-2201: integer: 792
-2204: space: \x0a
-2207: array_close: ]
-2208: space: \x0a
-2211: name: /Parent
-2218: space:
-2219: integer: 3
-2220: space:
-2221: integer: 0
-2222: space:
-2223: word: R
-2224: space: \x0a
-2227: name: /Resources
-2237: space:
-2238: dict_open: <<
-2240: space: \x0a
-2245: name: /Font
-2250: space:
-2251: dict_open: <<
-2253: space: \x0a
-2260: name: /F1
-2263: space:
-2264: integer: 27
-2266: space:
-2267: integer: 0
-2268: space:
-2269: word: R
-2270: space: \x0a
-2275: dict_close: >>
-2277: space: \x0a
-2282: name: /ProcSet
-2290: space:
-2291: integer: 28
-2293: space:
-2294: integer: 0
-2295: space:
-2296: word: R
-2297: space: \x0a
-2300: dict_close: >>
-2302: space: \x0a
-2305: name: /Type
-2310: space:
-2311: name: /Page
-2316: space: \x0a
-2317: dict_close: >>
-2319: space: \x0a
-2320: comment: %% Object stream: object 11, index 9; original object ID: 11
-2380: space: \x0a
-2381: comment: %% Page 8
-2390: space: \x0a
-2391: dict_open: <<
-2393: space: \x0a
-2396: name: /Contents
-2405: space:
-2406: integer: 51
-2408: space:
-2409: integer: 0
-2410: space:
-2411: word: R
-2412: space: \x0a
-2415: name: /MediaBox
-2424: space:
-2425: array_open: [
-2426: space: \x0a
-2431: integer: 0
-2432: space: \x0a
-2437: integer: 0
-2438: space: \x0a
-2443: integer: 612
-2446: space: \x0a
-2451: integer: 792
-2454: space: \x0a
-2457: array_close: ]
-2458: space: \x0a
-2461: name: /Parent
-2468: space:
-2469: integer: 3
-2470: space:
-2471: integer: 0
-2472: space:
-2473: word: R
-2474: space: \x0a
-2477: name: /Resources
-2487: space:
-2488: dict_open: <<
-2490: space: \x0a
-2495: name: /Font
-2500: space:
-2501: dict_open: <<
-2503: space: \x0a
-2510: name: /F1
-2513: space:
-2514: integer: 29
-2516: space:
-2517: integer: 0
-2518: space:
-2519: word: R
-2520: space: \x0a
-2525: dict_close: >>
-2527: space: \x0a
-2532: name: /ProcSet
-2540: space:
-2541: integer: 30
-2543: space:
-2544: integer: 0
-2545: space:
-2546: word: R
-2547: space: \x0a
-2550: dict_close: >>
-2552: space: \x0a
-2555: name: /Type
-2560: space:
-2561: name: /Page
-2566: space: \x0a
-2567: dict_close: >>
-2569: space: \x0a
-2570: comment: %% Object stream: object 12, index 10; original object ID: 12
-2631: space: \x0a
-2632: comment: %% Page 9
-2641: space: \x0a
-2642: dict_open: <<
-2644: space: \x0a
-2647: name: /Contents
-2656: space:
-2657: integer: 53
-2659: space:
-2660: integer: 0
-2661: space:
-2662: word: R
-2663: space: \x0a
-2666: name: /MediaBox
-2675: space:
-2676: array_open: [
-2677: space: \x0a
-2682: integer: 0
-2683: space: \x0a
-2688: integer: 0
-2689: space: \x0a
-2694: integer: 612
-2697: space: \x0a
-2702: integer: 792
-2705: space: \x0a
-2708: array_close: ]
-2709: space: \x0a
-2712: name: /Parent
-2719: space:
-2720: integer: 3
-2721: space:
-2722: integer: 0
-2723: space:
-2724: word: R
-2725: space: \x0a
-2728: name: /Resources
-2738: space:
-2739: dict_open: <<
-2741: space: \x0a
-2746: name: /Font
-2751: space:
-2752: dict_open: <<
-2754: space: \x0a
-2761: name: /F1
-2764: space:
-2765: integer: 31
-2767: space:
-2768: integer: 0
-2769: space:
-2770: word: R
-2771: space: \x0a
-2776: dict_close: >>
-2778: space: \x0a
-2783: name: /ProcSet
-2791: space:
-2792: integer: 32
-2794: space:
-2795: integer: 0
-2796: space:
-2797: word: R
-2798: space: \x0a
-2801: dict_close: >>
-2803: space: \x0a
-2806: name: /Type
-2811: space:
-2812: name: /Page
-2817: space: \x0a
-2818: dict_close: >>
-2820: space: \x0a
-2821: comment: %% Object stream: object 13, index 11; original object ID: 13
-2882: space: \x0a
-2883: comment: %% Page 10
-2893: space: \x0a
-2894: dict_open: <<
-2896: space: \x0a
-2899: name: /Contents
-2908: space:
-2909: integer: 55
-2911: space:
-2912: integer: 0
-2913: space:
-2914: word: R
-2915: space: \x0a
-2918: name: /MediaBox
-2927: space:
-2928: array_open: [
-2929: space: \x0a
-2934: integer: 0
-2935: space: \x0a
-2940: integer: 0
-2941: space: \x0a
-2946: integer: 612
-2949: space: \x0a
-2954: integer: 792
-2957: space: \x0a
-2960: array_close: ]
-2961: space: \x0a
-2964: name: /Parent
-2971: space:
-2972: integer: 3
-2973: space:
-2974: integer: 0
-2975: space:
-2976: word: R
-2977: space: \x0a
-2980: name: /Resources
-2990: space:
-2991: dict_open: <<
-2993: space: \x0a
-2998: name: /Font
-3003: space:
-3004: dict_open: <<
-3006: space: \x0a
-3013: name: /F1
-3016: space:
-3017: integer: 33
-3019: space:
-3020: integer: 0
-3021: space:
-3022: word: R
-3023: space: \x0a
-3028: dict_close: >>
-3030: space: \x0a
-3035: name: /ProcSet
-3043: space:
-3044: integer: 34
-3046: space:
-3047: integer: 0
-3048: space:
-3049: word: R
-3050: space: \x0a
-3053: dict_close: >>
-3055: space: \x0a
-3058: name: /Type
-3063: space:
-3064: name: /Page
-3069: space: \x0a
-3070: dict_close: >>
-3072: space: \x0a
-3073: comment: %% Object stream: object 14, index 12; original object ID: 14
-3134: space: \x0a
-3135: comment: %% Page 11
-3145: space: \x0a
-3146: dict_open: <<
-3148: space: \x0a
-3151: name: /Contents
-3160: space:
-3161: integer: 57
-3163: space:
-3164: integer: 0
-3165: space:
-3166: word: R
-3167: space: \x0a
-3170: name: /MediaBox
-3179: space:
-3180: array_open: [
-3181: space: \x0a
-3186: integer: 0
-3187: space: \x0a
-3192: integer: 0
-3193: space: \x0a
-3198: integer: 612
-3201: space: \x0a
-3206: integer: 792
-3209: space: \x0a
-3212: array_close: ]
-3213: space: \x0a
-3216: name: /Parent
-3223: space:
-3224: integer: 3
-3225: space:
-3226: integer: 0
-3227: space:
-3228: word: R
-3229: space: \x0a
-3232: name: /Resources
-3242: space:
-3243: dict_open: <<
-3245: space: \x0a
-3250: name: /Font
-3255: space:
-3256: dict_open: <<
-3258: space: \x0a
-3265: name: /F1
-3268: space:
-3269: integer: 35
-3271: space:
-3272: integer: 0
-3273: space:
-3274: word: R
-3275: space: \x0a
-3280: dict_close: >>
-3282: space: \x0a
-3287: name: /ProcSet
-3295: space:
-3296: integer: 36
-3298: space:
-3299: integer: 0
-3300: space:
-3301: word: R
-3302: space: \x0a
-3305: dict_close: >>
-3307: space: \x0a
-3310: name: /Type
-3315: space:
-3316: name: /Page
-3321: space: \x0a
-3322: dict_close: >>
-3324: space: \x0a
-3325: comment: %% Object stream: object 15, index 13; original object ID: 15
-3386: space: \x0a
-3387: dict_open: <<
-3389: space: \x0a
-3392: name: /BaseFont
-3401: space:
-3402: name: /Helvetica
-3412: space: \x0a
-3415: name: /Encoding
-3424: space:
-3425: name: /WinAnsiEncoding
-3441: space: \x0a
-3444: name: /Name
-3449: space:
-3450: name: /F1
-3453: space: \x0a
-3456: name: /Subtype
-3464: space:
-3465: name: /Type1
-3471: space: \x0a
-3474: name: /Type
-3479: space:
-3480: name: /Font
-3485: space: \x0a
-3486: dict_close: >>
-3488: space: \x0a
-3489: comment: %% Object stream: object 16, index 14; original object ID: 16
-3550: space: \x0a
-3551: array_open: [
-3552: space: \x0a
-3555: name: /PDF
-3559: space: \x0a
-3562: name: /Text
-3567: space: \x0a
-3568: array_close: ]
-3569: space: \x0a
-3570: comment: %% Object stream: object 17, index 15; original object ID: 17
-3631: space: \x0a
-3632: dict_open: <<
-3634: space: \x0a
-3637: name: /BaseFont
-3646: space:
-3647: name: /Helvetica
-3657: space: \x0a
-3660: name: /Encoding
-3669: space:
-3670: name: /WinAnsiEncoding
-3686: space: \x0a
-3689: name: /Name
-3694: space:
-3695: name: /F1
-3698: space: \x0a
-3701: name: /Subtype
-3709: space:
-3710: name: /Type1
-3716: space: \x0a
-3719: name: /Type
-3724: space:
-3725: name: /Font
-3730: space: \x0a
-3731: dict_close: >>
-3733: space: \x0a
-3734: comment: %% Object stream: object 18, index 16; original object ID: 18
-3795: space: \x0a
-3796: array_open: [
-3797: space: \x0a
-3800: name: /PDF
-3804: space: \x0a
-3807: name: /Text
-3812: space: \x0a
-3813: array_close: ]
-3814: space: \x0a
-3815: comment: %% Object stream: object 19, index 17; original object ID: 19
-3876: space: \x0a
-3877: dict_open: <<
-3879: space: \x0a
-3882: name: /BaseFont
-3891: space:
-3892: name: /Helvetica
-3902: space: \x0a
-3905: name: /Encoding
-3914: space:
-3915: name: /WinAnsiEncoding
-3931: space: \x0a
-3934: name: /Name
-3939: space:
-3940: name: /F1
-3943: space: \x0a
-3946: name: /Subtype
-3954: space:
-3955: name: /Type1
-3961: space: \x0a
-3964: name: /Type
-3969: space:
-3970: name: /Font
-3975: space: \x0a
-3976: dict_close: >>
-3978: space: \x0a
-3979: comment: %% Object stream: object 20, index 18; original object ID: 20
-4040: space: \x0a
-4041: array_open: [
-4042: space: \x0a
-4045: name: /PDF
-4049: space: \x0a
-4052: name: /Text
-4057: space: \x0a
-4058: array_close: ]
-4059: space: \x0a
-4060: comment: %% Object stream: object 21, index 19; original object ID: 21
-4121: space: \x0a
-4122: dict_open: <<
-4124: space: \x0a
-4127: name: /BaseFont
-4136: space:
-4137: name: /Helvetica
-4147: space: \x0a
-4150: name: /Encoding
-4159: space:
-4160: name: /WinAnsiEncoding
-4176: space: \x0a
-4179: name: /Name
-4184: space:
-4185: name: /F1
-4188: space: \x0a
-4191: name: /Subtype
-4199: space:
-4200: name: /Type1
-4206: space: \x0a
-4209: name: /Type
-4214: space:
-4215: name: /Font
-4220: space: \x0a
-4221: dict_close: >>
-4223: space: \x0a
-4224: comment: %% Object stream: object 22, index 20; original object ID: 22
-4285: space: \x0a
-4286: array_open: [
-4287: space: \x0a
-4290: name: /PDF
-4294: space: \x0a
-4297: name: /Text
-4302: space: \x0a
-4303: array_close: ]
-4304: space: \x0a
-4305: comment: %% Object stream: object 23, index 21; original object ID: 23
-4366: space: \x0a
-4367: dict_open: <<
-4369: space: \x0a
-4372: name: /BaseFont
-4381: space:
-4382: name: /Helvetica
-4392: space: \x0a
-4395: name: /Encoding
-4404: space:
-4405: name: /WinAnsiEncoding
-4421: space: \x0a
-4424: name: /Name
-4429: space:
-4430: name: /F1
-4433: space: \x0a
-4436: name: /Subtype
-4444: space:
-4445: name: /Type1
-4451: space: \x0a
-4454: name: /Type
-4459: space:
-4460: name: /Font
-4465: space: \x0a
-4466: dict_close: >>
-4468: space: \x0a
-4469: comment: %% Object stream: object 24, index 22; original object ID: 24
-4530: space: \x0a
-4531: array_open: [
-4532: space: \x0a
-4535: name: /PDF
-4539: space: \x0a
-4542: name: /Text
-4547: space: \x0a
-4548: array_close: ]
-4549: space: \x0a
-4550: comment: %% Object stream: object 25, index 23; original object ID: 25
-4611: space: \x0a
-4612: dict_open: <<
-4614: space: \x0a
-4617: name: /BaseFont
-4626: space:
-4627: name: /Helvetica
-4637: space: \x0a
-4640: name: /Encoding
-4649: space:
-4650: name: /WinAnsiEncoding
-4666: space: \x0a
-4669: name: /Name
-4674: space:
-4675: name: /F1
-4678: space: \x0a
-4681: name: /Subtype
-4689: space:
-4690: name: /Type1
-4696: space: \x0a
-4699: name: /Type
-4704: space:
-4705: name: /Font
-4710: space: \x0a
-4711: dict_close: >>
-4713: space: \x0a
-4714: comment: %% Object stream: object 26, index 24; original object ID: 26
-4775: space: \x0a
-4776: array_open: [
-4777: space: \x0a
-4780: name: /PDF
-4784: space: \x0a
-4787: name: /Text
-4792: space: \x0a
-4793: array_close: ]
-4794: space: \x0a
-4795: comment: %% Object stream: object 27, index 25; original object ID: 27
-4856: space: \x0a
-4857: dict_open: <<
-4859: space: \x0a
-4862: name: /BaseFont
-4871: space:
-4872: name: /Helvetica
-4882: space: \x0a
-4885: name: /Encoding
-4894: space:
-4895: name: /WinAnsiEncoding
-4911: space: \x0a
-4914: name: /Name
-4919: space:
-4920: name: /F1
-4923: space: \x0a
-4926: name: /Subtype
-4934: space:
-4935: name: /Type1
-4941: space: \x0a
-4944: name: /Type
-4949: space:
-4950: name: /Font
-4955: space: \x0a
-4956: dict_close: >>
-4958: space: \x0a
-4959: comment: %% Object stream: object 28, index 26; original object ID: 28
-5020: space: \x0a
-5021: array_open: [
-5022: space: \x0a
-5025: name: /PDF
-5029: space: \x0a
-5032: name: /Text
-5037: space: \x0a
-5038: array_close: ]
-5039: space: \x0a
-5040: comment: %% Object stream: object 29, index 27; original object ID: 29
-5101: space: \x0a
-5102: dict_open: <<
-5104: space: \x0a
-5107: name: /BaseFont
-5116: space:
-5117: name: /Helvetica
-5127: space: \x0a
-5130: name: /Encoding
-5139: space:
-5140: name: /WinAnsiEncoding
-5156: space: \x0a
-5159: name: /Name
-5164: space:
-5165: name: /F1
-5168: space: \x0a
-5171: name: /Subtype
-5179: space:
-5180: name: /Type1
-5186: space: \x0a
-5189: name: /Type
-5194: space:
-5195: name: /Font
-5200: space: \x0a
-5201: dict_close: >>
-5203: space: \x0a
-5204: comment: %% Object stream: object 30, index 28; original object ID: 30
-5265: space: \x0a
-5266: array_open: [
-5267: space: \x0a
-5270: name: /PDF
-5274: space: \x0a
-5277: name: /Text
-5282: space: \x0a
-5283: array_close: ]
-5284: space: \x0a
-5285: comment: %% Object stream: object 31, index 29; original object ID: 31
-5346: space: \x0a
-5347: dict_open: <<
-5349: space: \x0a
-5352: name: /BaseFont
-5361: space:
-5362: name: /Helvetica
-5372: space: \x0a
-5375: name: /Encoding
-5384: space:
-5385: name: /WinAnsiEncoding
-5401: space: \x0a
-5404: name: /Name
-5409: space:
-5410: name: /F1
-5413: space: \x0a
-5416: name: /Subtype
-5424: space:
-5425: name: /Type1
-5431: space: \x0a
-5434: name: /Type
-5439: space:
-5440: name: /Font
-5445: space: \x0a
-5446: dict_close: >>
-5448: space: \x0a
-5449: comment: %% Object stream: object 32, index 30; original object ID: 32
-5510: space: \x0a
-5511: array_open: [
-5512: space: \x0a
-5515: name: /PDF
-5519: space: \x0a
-5522: name: /Text
-5527: space: \x0a
-5528: array_close: ]
-5529: space: \x0a
-5530: comment: %% Object stream: object 33, index 31; original object ID: 33
-5591: space: \x0a
-5592: dict_open: <<
-5594: space: \x0a
-5597: name: /BaseFont
-5606: space:
-5607: name: /Helvetica
-5617: space: \x0a
-5620: name: /Encoding
-5629: space:
-5630: name: /WinAnsiEncoding
-5646: space: \x0a
-5649: name: /Name
-5654: space:
-5655: name: /F1
-5658: space: \x0a
-5661: name: /Subtype
-5669: space:
-5670: name: /Type1
-5676: space: \x0a
-5679: name: /Type
-5684: space:
-5685: name: /Font
-5690: space: \x0a
-5691: dict_close: >>
-5693: space: \x0a
-5694: comment: %% Object stream: object 34, index 32; original object ID: 34
-5755: space: \x0a
-5756: array_open: [
-5757: space: \x0a
-5760: name: /PDF
-5764: space: \x0a
-5767: name: /Text
-5772: space: \x0a
-5773: array_close: ]
-5774: space: \x0a
-5775: comment: %% Object stream: object 35, index 33; original object ID: 35
-5836: space: \x0a
-5837: dict_open: <<
-5839: space: \x0a
-5842: name: /BaseFont
-5851: space:
-5852: name: /Helvetica
-5862: space: \x0a
-5865: name: /Encoding
-5874: space:
-5875: name: /WinAnsiEncoding
-5891: space: \x0a
-5894: name: /Name
-5899: space:
-5900: name: /F1
-5903: space: \x0a
-5906: name: /Subtype
-5914: space:
-5915: name: /Type1
-5921: space: \x0a
-5924: name: /Type
-5929: space:
-5930: name: /Font
-5935: space: \x0a
-5936: dict_close: >>
-5938: space: \x0a
-5939: comment: %% Object stream: object 36, index 34; original object ID: 36
-6000: space: \x0a
-6001: array_open: [
-6002: space: \x0a
-6005: name: /PDF
-6009: space: \x0a
-6012: name: /Text
-6017: space: \x0a
-6018: array_close: ]
-6019: space: \x0a
-6020: eof
---- END OBJECT STREAM 1 ---
diff --git a/qpdf/test_tokenizer.cc b/qpdf/test_tokenizer.cc
index d0ddf8a1..5e68eb88 100644
--- a/qpdf/test_tokenizer.cc
+++ b/qpdf/test_tokenizer.cc
@@ -17,7 +17,7 @@ static char const* whoami = 0;
void usage()
{
std::cerr << "Usage: " << whoami
- << " [-maxlen len | -no-ignorable | -old-ei] filename"
+ << " [-maxlen len | -no-ignorable] filename"
<< std::endl;
exit(2);
}
@@ -133,7 +133,7 @@ try_skipping(QPDFTokenizer& tokenizer, PointerHolder<InputSource> is,
static void
dump_tokens(PointerHolder<InputSource> is, std::string const& label,
size_t max_len, bool include_ignorable,
- bool skip_streams, bool skip_inline_images, bool old_ei)
+ bool skip_streams, bool skip_inline_images)
{
Finder f1(is, "endstream");
std::cout << "--- BEGIN " << label << " ---" << std::endl;
@@ -186,14 +186,7 @@ dump_tokens(PointerHolder<InputSource> is, std::string const& label,
{
char ch;
is->read(&ch, 1);
- if (old_ei)
- {
- tokenizer.expectInlineImage();
- }
- else
- {
- tokenizer.expectInlineImage(is);
- }
+ tokenizer.expectInlineImage(is);
inline_image_offset = is->tell();
}
else if (token.getType() == QPDFTokenizer::tt_eof)
@@ -205,7 +198,7 @@ dump_tokens(PointerHolder<InputSource> is, std::string const& label,
}
static void process(char const* filename, bool include_ignorable,
- size_t max_len, bool old_ei)
+ size_t max_len)
{
PointerHolder<InputSource> is;
@@ -213,7 +206,7 @@ static void process(char const* filename, bool include_ignorable,
FileInputSource* fis = new FileInputSource();
fis->setFilename(filename);
is = fis;
- dump_tokens(is, "FILE", max_len, include_ignorable, true, false, false);
+ dump_tokens(is, "FILE", max_len, include_ignorable, true, false);
// Tokenize content streams, skipping inline images
QPDF qpdf;
@@ -232,7 +225,7 @@ static void process(char const* filename, bool include_ignorable,
"content data", content_data.getPointer());
is = bis;
dump_tokens(is, "PAGE " + QUtil::int_to_string(pageno),
- max_len, include_ignorable, false, true, old_ei);
+ max_len, include_ignorable, false, true);
}
// Tokenize object streams
@@ -251,7 +244,7 @@ static void process(char const* filename, bool include_ignorable,
is = bis;
dump_tokens(is, "OBJECT STREAM " +
QUtil::int_to_string((*iter).getObjectID()),
- max_len, include_ignorable, false, false, false);
+ max_len, include_ignorable, false, false);
}
}
}
@@ -276,7 +269,6 @@ int main(int argc, char* argv[])
char const* filename = 0;
size_t max_len = 0;
bool include_ignorable = true;
- bool old_ei = false;
for (int i = 1; i < argc; ++i)
{
if (argv[i][0] == '-')
@@ -293,10 +285,6 @@ int main(int argc, char* argv[])
{
include_ignorable = false;
}
- else if (strcmp(argv[i], "-old-ei") == 0)
- {
- old_ei = true;
- }
else
{
usage();
@@ -318,7 +306,7 @@ int main(int argc, char* argv[])
try
{
- process(filename, include_ignorable, max_len, old_ei);
+ process(filename, include_ignorable, max_len);
}
catch (std::exception& e)
{