From 1577c890f48bdc4bba3e9925c7cabb88b27fd931 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Thu, 24 Jun 2004 11:08:42 +0000 Subject: [PATCH] simpler comment skipping, handles comments at end of query --- libraries/read_dump.lib.php | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/libraries/read_dump.lib.php b/libraries/read_dump.lib.php index 5f43342f5..013dc5f9c 100644 --- a/libraries/read_dump.lib.php +++ b/libraries/read_dump.lib.php @@ -70,14 +70,13 @@ function PMA_splitSqlFile(&$ret, $sql, $release) } // end for } // end if (in string) - // let's skip c style comments - else if ($char == '/' && $sql[$i + 1] == '*') { - $i = strpos($sql, '*/', $i) + 1; - } - - // lets skip ANSI comments - else if ($char == '-' && $sql[$i + 1] == '-' && $sql[$i + 2] <= ' ') { - $i = strpos($sql, "\n", $i); + // lets skip comments (/*, -- and #) + else if (($char == '-' && $sql[$i + 1] == '-' && $sql[$i + 2] <= ' ') || $char == '#' || ($char == '/' && $sql[$i + 1] == '*')) { + $i = strpos($sql, $char == '/' ? '*/' : "\n", $i) + ($char == '/' ? 1 : 0); + // didn't we hit end of string? + if ($i === FALSE) { + break; + } } // We are not in a string, first check for delimiter...