From 875407d0bd27baaa89a14c0e8066b188cdabaa8d Mon Sep 17 00:00:00 2001 From: rosenfield Date: Fri, 9 Nov 2007 07:54:10 +0000 Subject: [PATCH] Bugfix: Zeos threw away conditional SQL. Fixes issue #1828300. --- components/zeosdbo/src/parsesql/ZMySqlToken.pas | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/components/zeosdbo/src/parsesql/ZMySqlToken.pas b/components/zeosdbo/src/parsesql/ZMySqlToken.pas index 3ccb2ca1..cf1292e1 100644 --- a/components/zeosdbo/src/parsesql/ZMySqlToken.pas +++ b/components/zeosdbo/src/parsesql/ZMySqlToken.pas @@ -338,14 +338,19 @@ begin ReadNum := Stream.Read(ReadChar, 1); if (ReadNum > 0) and (ReadChar = '*') then begin - Result.TokenType := ttComment; - Result.Value := '/*' + GetMultiLineComment(Stream); - end - else - begin + ReadNum := Stream.Read(ReadChar, 1); if ReadNum > 0 then Stream.Seek(-1, soFromCurrent); + if (ReadNum > 0) and (ReadChar <> '!') then + begin + ReadNum := 0; + Result.TokenType := ttComment; + Result.Value := '/*' + GetMultiLineComment(Stream); + end else + ReadNum := 1; end; + if ReadNum > 0 then + Stream.Seek(-1, soFromCurrent); end; if (Result.TokenType = ttUnknown) and (Tokenizer.SymbolState <> nil) then