Minahito
minah****@users*****
2006年 8月 29日 (火) 19:22:46 JST
Index: xoops2jp/html/modules/base/admin/class/EasyLex_SQLScanner.class.php diff -u xoops2jp/html/modules/base/admin/class/EasyLex_SQLScanner.class.php:1.1.2.4 xoops2jp/html/modules/base/admin/class/EasyLex_SQLScanner.class.php:1.1.2.5 --- xoops2jp/html/modules/base/admin/class/EasyLex_SQLScanner.class.php:1.1.2.4 Tue Aug 29 19:16:36 2006 +++ xoops2jp/html/modules/base/admin/class/EasyLex_SQLScanner.class.php Tue Aug 29 19:22:46 2006 @@ -1,7 +1,7 @@ <?php /** * @package EasyLexSQL - * @varsion $Id: EasyLex_SQLScanner.class.php,v 1.1.2.4 2006/08/29 10:16:36 minahito Exp $ + * @varsion $Id: EasyLex_SQLScanner.class.php,v 1.1.2.5 2006/08/29 10:22:46 minahito Exp $ * * In the original BSD license, both occurrences of the phrase "COPYRIGHT * HOLDERS AND CONTRIBUTORS" in the disclaimer read "REGENTS AND CONTRIBUTORS". @@ -103,10 +103,13 @@ break; case EASYLEX_SQL_STRING_LITERAL: - case EASYLEX_SQL_STRING_LITERAL_ESCAPE: $this->_parseStringLiteral($ch, $type); break; + case EASYLEX_SQL_STRING_LITERAL_ESCAPE: + $this->_parseStringLiteralEscape($ch, $type); + break; + case EASYLEX_SQL_OPEN_PARENTHESIS: $this->_parseOpenParenthesis($ch, $type); break; @@ -245,17 +248,19 @@ $this->mActiveToken .= $ch; $this->mIndex++; - if ($ch == "\\" && $this->mStatus == EASYLEX_SQL_STRING_LITERAL) { + if ($ch == "\\") { $this->mStatus = EASYLEX_SQL_STRING_LITERAL_ESCAPE; } - elseif ($this->mStatus == EASYLEX_SQL_STRING_LITERAL_ESCAPE) { - $this->mStatus = EASYLEX_SQL_STRING_LITERAL; - } elseif ($ch == $this->mActiveQuoteMark) { $this->_createToken(); } } + function _parseStringLiteralEscape($ch, $type) + { + $this->mStatus = EASYLEX_SQL_STRING_LITERAL; + } + function _parseOpenParenthesis($ch, $type) { $this->_createToken();