From 49c3007eeac327ac55d5da94fed1f2bb1a5b1d8f Mon Sep 17 00:00:00 2001 From: jakubvrana Date: Tue, 17 Jul 2007 10:59:44 +0000 Subject: [PATCH] Parse commentsd git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@212 7c3ca157-0c34-0410-bff1-cbf682f78f5c --- sql.inc.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sql.inc.php b/sql.inc.php index 2d5c8e5f..52f65c2f 100644 --- a/sql.inc.php +++ b/sql.inc.php @@ -16,9 +16,10 @@ if ($_POST && $error) { if (!$offset && preg_match('~^\\s*DELIMITER\\s+(.+)~i', $query, $match)) { $delimiter = preg_quote($match[1], '~'); $query = substr($query, strlen($match[0])); - } elseif (preg_match("~$delimiter|['`\"]|\$~", $query, $match, PREG_OFFSET_CAPTURE, $offset)) { + } elseif (preg_match("~$delimiter|['`\"]|/\\*|-- |\$~", $query, $match, PREG_OFFSET_CAPTURE, $offset)) { if ($match[0][0] && $match[0][0] != $delimiter) { - preg_match('~\\G([^\\\\' . $match[0][0] . ']+|\\\\.)*(' . $match[0][0] . '|$)~s', $query, $match, PREG_OFFSET_CAPTURE, $match[0][1] + 1); + $pattern = ($match[0][0] == "-- " ? '~.*~' : ($match[0][0] == "/*" ? '~.*\\*/~sU' : '~\\G([^\\\\' . $match[0][0] . ']+|\\\\.)*(' . $match[0][0] . '|$)~s')); + preg_match($pattern, $query, $match, PREG_OFFSET_CAPTURE, $match[0][1] + 1); $offset = $match[0][1] + strlen($match[0][0]); } else { $empty = false;