From 2ad6651228ee62af3bc23d7e4b302321918c7eb3 Mon Sep 17 00:00:00 2001 From: "kvisco%ziplink.net" Date: Tue, 16 May 2000 09:34:01 +0000 Subject: [PATCH] Fixed a seg fault when '/' is used as a div operator, which is an error so I also added an error message for this case git-svn-id: svn://10.0.0.236/trunk@70023 18797224-902f-48f8-a5cc-f745e15eee43 --- .../transformiix/source/xpath/ExprLexer.cpp | 9 ++++- .../transformiix/source/xpath/Parser.cpp | 10 +++-- .../transformiix/source/xpath/parser.mk | 40 +++++++++++-------- 3 files changed, 37 insertions(+), 22 deletions(-) diff --git a/mozilla/extensions/transformiix/source/xpath/ExprLexer.cpp b/mozilla/extensions/transformiix/source/xpath/ExprLexer.cpp index 734aff2e842..4a78c9057cf 100644 --- a/mozilla/extensions/transformiix/source/xpath/ExprLexer.cpp +++ b/mozilla/extensions/transformiix/source/xpath/ExprLexer.cpp @@ -29,13 +29,13 @@ * -- Fixed bug in parse method so that we make sure we check for * axis identifier wild cards, such as ancestor::* * - * $Id: ExprLexer.cpp,v 1.3 2000-04-13 18:29:56 nisheeth%netscape.com Exp $ + * $Id: ExprLexer.cpp,v 1.4 2000-05-16 09:34:00 kvisco%ziplink.net Exp $ */ /** * Lexical analyzer for XPath expressions * @author Keith Visco - * @version $Revision: 1.3 $ $Date: 2000-04-13 18:29:56 $ + * @version $Revision: 1.4 $ $Date: 2000-05-16 09:34:00 $ **/ #include @@ -592,6 +592,11 @@ void ExprLexer::parse(const String& pattern) { prevToken->type = Token::ANCESTOR_OP; prevToken->value.append(ch); } + //-- handle possible error in using / + else if ( prevToken->type == Token::NUMBER ) { + prevToken->type = Token::ERROR; + prevToken->value = "Error in expression, misuse of '/', try 'div' instead."; + } else matchDelimiter(ch); break; case BANG : //-- used as previous...see EQUAL diff --git a/mozilla/extensions/transformiix/source/xpath/Parser.cpp b/mozilla/extensions/transformiix/source/xpath/Parser.cpp index 3bde3be8ad2..da2e800bcc0 100644 --- a/mozilla/extensions/transformiix/source/xpath/Parser.cpp +++ b/mozilla/extensions/transformiix/source/xpath/Parser.cpp @@ -21,13 +21,12 @@ * Keith Visco, kvisco@ziplink.net * -- original author. * - * $Id: Parser.cpp,v 1.2 2000-04-12 22:33:30 nisheeth%netscape.com Exp $ + * $Id: Parser.cpp,v 1.3 2000-05-16 09:34:01 kvisco%ziplink.net Exp $ */ /** * Test App for Expressions - * @author Keith Visco - * @version $Revision: 1.2 $ $Date: 2000-04-12 22:33:30 $ + * @version $Revision: 1.3 $ $Date: 2000-05-16 09:34:01 $ **/ #include @@ -42,11 +41,14 @@ void main(int argc, char** argv) { cout <