--- commentscan_original.l	2009-08-24 16:04:11.000000000 +0800
+++ commentscan.l	2009-11-04 10:16:40.000000000 +0800
@@ -396,6 +396,15 @@
 static bool             insidePre;
 static bool             parseMore;
 
+//modified by zhangyan04@baidu.com
+//because here is a bug,when we doxygen the package of phpMyAdmin/libraries/tcpdf/tcpdf.php
+//the comment in a if stament will make the doxygen hang
+//so here we make a thresHold and a counter..
+//when the counter exced thresHold,we doesn' set the parseMore=TRUE
+//it's ugly,but it works...
+static int parseMoreThres=100;//pretty large,huh???
+static int parseMoreCnt=0;
+
 static int              g_commentCount;
 
 //-----------------------------------------------------------------------------
@@ -946,6 +955,13 @@
 					      // entries. Restart the next block at the start
 					      // of this command.
 					      parseMore=TRUE;
+                                              
+                                              //modified by zhangyan04@baidu.com
+                                              parseMoreCnt++;
+                                              if(parseMoreCnt>parseMoreThres){
+                                                  parseMore=FALSE;
+                                                  parseMoreCnt=0;
+                                              }
 
 					      // yuk, this is probably not very portable across lex implementations, 
 					      // but we need to know the position in the input buffer where this 
