From 90129544e0df6aed01addb2a8e75da1ff24b2d77 Mon Sep 17 00:00:00 2001 From: Emanuele Aliberti Date: Fri, 20 Aug 1999 05:53:04 +0000 Subject: [PATCH] Fixed a bug in the parser. svn path=/trunk/; revision=617 --- reactos/iface/dll/defedf.c | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/reactos/iface/dll/defedf.c b/reactos/iface/dll/defedf.c index 3621a8c1d91..53e8912a1a4 100644 --- a/reactos/iface/dll/defedf.c +++ b/reactos/iface/dll/defedf.c @@ -1,4 +1,4 @@ -/* $Id: defedf.c,v 1.2 1999/07/12 21:02:06 ea Exp $ +/* $Id: defedf.c,v 1.3 1999/08/20 05:53:04 ea Exp $ * * reactos/iface/dll/defedf.c * @@ -19,6 +19,8 @@ #define INPUT_BUFFER_SIZE 1024 +//#define DEBUG + static const char * SUFFIX_DEF = ".def"; static const char * SUFFIX_EDF = ".edf"; @@ -88,6 +90,10 @@ enum LineExports, LineImports, LineSymbol, +// LineSymbolCdecl, +// LineSymbolStdcall, +// LineSymbolFastcall, +// LineSymbolData, LineComment, LineEmpty @@ -100,9 +106,7 @@ ParseInput ( char * CleanName ) { - char Buffer [MAX_PATH]; char * r; - char * w; r = strrchr( InputBuffer, '\n' ); if (r) *r = '\0'; @@ -116,11 +120,21 @@ printf("LineEmpty\n"); #endif return LineEmpty; } - - for ( r = InputBuffer, w = Buffer; - *r && (*r != ' ') && (*r != '\t'); - ++r + /* + * Skip blanks and tabs. + */ + for ( InputBuffer; + ( + (*InputBuffer) + && (*InputBuffer == ' ') + && (*InputBuffer == '\t') + ); + InputBuffer++ ); +#ifdef DEBUG +printf("1st=\"%c\" (%d)\n", *InputBuffer, (int) *InputBuffer ); +#endif + r = InputBuffer; if (*r == ';') { strcpy( InputBuffer, r );