X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=pdf2swf%2Fxpdf%2FLexer.cc;h=1fa166f1951e543ba3b167f41b566e38ba645114;hb=07801fe922a2fee0a7f12cedf3941cdb22a7a798;hp=4ca8cfe9f51e323d3fa41fd16bf6a7fddbcb0f8f;hpb=fc554a43712b76d16b41ec77dd311b4a78b1ef6b;p=swftools.git diff --git a/pdf2swf/xpdf/Lexer.cc b/pdf2swf/xpdf/Lexer.cc index 4ca8cfe..1fa166f 100644 --- a/pdf2swf/xpdf/Lexer.cc +++ b/pdf2swf/xpdf/Lexer.cc @@ -2,11 +2,13 @@ // // Lexer.cc // -// Copyright 1996 Derek B. Noonburg +// Copyright 1996-2003 Glyph & Cog, LLC // //======================================================================== -#ifdef __GNUC__ +#include + +#ifdef USE_GCC_PRAGMAS #pragma implementation #endif @@ -44,22 +46,22 @@ static char specialChars[256] = { // Lexer //------------------------------------------------------------------------ -Lexer::Lexer(Stream *str) { +Lexer::Lexer(XRef *xref, Stream *str) { Object obj; curStr.initStream(str); - streams = new Array(); + streams = new Array(xref); streams->add(curStr.copy(&obj)); strPtr = 0; freeArray = gTrue; curStr.streamReset(); } -Lexer::Lexer(Object *obj) { +Lexer::Lexer(XRef *xref, Object *obj) { Object obj2; if (obj->isStream()) { - streams = new Array(); + streams = new Array(xref); freeArray = gTrue; streams->add(obj->copy(&obj2)); } else { @@ -204,11 +206,15 @@ Object *Lexer::getObj(Object *obj) { case '(': ++numParen; + c2 = c; break; case ')': - if (--numParen == 0) + if (--numParen == 0) { done = gTrue; + } else { + c2 = c; + } break; case '\\':