From daf8f033faddef3e8681f01c4ac5bfa49a65ae14 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 29 Mar 2006 19:46:05 +0000 Subject: [PATCH] Use new xxStrdup() functions. Cleanup compiler warnings due to our using 8-bit lexers. --- src/as/asLib_lex.l | 12 +++++------- src/dbStatic/dbLex.l | 22 ++++++++-------------- src/dbtools/dbLoadTemplate_lex.l | 6 ++---- 3 files changed, 15 insertions(+), 25 deletions(-) diff --git a/src/as/asLib_lex.l b/src/as/asLib_lex.l index 5a0d4f84b..c73287c54 100644 --- a/src/as/asLib_lex.l +++ b/src/as/asLib_lex.l @@ -16,7 +16,7 @@ string {notquote}|{escapequote} %{ static ASINPUTFUNCPTR *my_yyinput; #undef YY_INPUT -#define YY_INPUT(b,r,ms) (r=(*my_yyinput)(b,ms)) +#define YY_INPUT(b,r,ms) (r=(*my_yyinput)((char *)b,ms)) static int yyreset() { @@ -41,20 +41,18 @@ INP[A-L] {/* If A-L is changed then ASMAXINP must also be changed*/ } {integer}+ { - sscanf(yytext,"%d",&yylval.Int); + yylval.Int = atoi((char *)yytext); return(tokenINTEGER); } {name}+ { /*unquoted string*/ - yylval.Str=(char *)asCalloc(1,strlen(yytext)+1); - strcpy(yylval.Str,yytext); + yylval.Str=asStrdup(yytext); return(tokenSTRING); } \"{string}*\" { /*quoted string*/ - yylval.Str=(char *)asCalloc(1,strlen(yytext)+1); /* making sure that neither double quote gets passed back */ - strcpy(yylval.Str,yytext+1); + yylval.Str=asStrdup(yytext+1); yylval.Str[strlen(yylval.Str)-1] = '\0'; return(tokenSTRING); @@ -75,7 +73,7 @@ INP[A-L] {/* If A-L is changed then ASMAXINP must also be changed*/ sprintf(message,"invalid character '%c'",yytext[0]); yyerror(message); /*The following suppresses compiler warning messages*/ - if(FALSE) yyunput('c',message); + if(FALSE) yyunput('c',(unsigned char *) message); if(FALSE) yy_switch_to_buffer(*dummy); } diff --git a/src/dbStatic/dbLex.l b/src/dbStatic/dbLex.l index cb2e353e3..d7e530dd0 100644 --- a/src/dbStatic/dbLex.l +++ b/src/dbStatic/dbLex.l @@ -13,7 +13,7 @@ escapequote \\\" string {notquote}|{escapequote} %{ #undef YY_INPUT -#define YY_INPUT(b,r,ms) (r=(*db_yyinput)(b,ms)) +#define YY_INPUT(b,r,ms) (r=(*db_yyinput)((char *)b,ms)) static int yyreset(void) { @@ -43,35 +43,29 @@ static int yyreset(void) "variable" return(tokenVARIABLE); [0-9]+ { /*integer number*/ - yylval.Str = (char *)dbmfMalloc(strlen(yytext)+1); - strcpy(yylval.Str,yytext); + yylval.Str = dbmfStrdup(yytext); return(tokenSTRING); } -?(([0-9]+)|([0-9]*\.[0-9]+)([eE][-+]?[0-9]+)?) { /*real number*/ - yylval.Str = (char *)dbmfMalloc(strlen(yytext)+1); - strcpy(yylval.Str,yytext); + yylval.Str = dbmfStrdup(yytext); return(tokenSTRING); } {name}+ { /*unquoted string*/ - yylval.Str = (char *)dbmfMalloc(strlen(yytext)+1); - strcpy(yylval.Str,yytext); + yylval.Str = dbmfStrdup(yytext); return(tokenSTRING); } \"{string}*\" { /*quoted string*/ - int nchars=strlen(yytext); - yylval.Str = (char *)dbmfMalloc(nchars-1); - strncpy(yylval.Str, yytext+1, nchars-2); - yylval.Str[nchars-2] = '\0'; + yylval.Str = dbmfStrdup(yytext+1); + yylval.Str[strlen(yylval.Str)-1] = '\0'; return(tokenSTRING); } %.* { /*C definition in recordtype*/ - yylval.Str = (char *)dbmfMalloc(strlen(yytext)); - strcpy(yylval.Str,yytext+1); + yylval.Str = dbmfStrdup(yytext+1); return(tokenCDEFS); } @@ -91,7 +85,7 @@ static int yyreset(void) sprintf(message,"invalid character '%c'",yytext[0]); yyerror(message); /*The following suppresses compiler warning messages*/ - if(FALSE) yyunput('c',message); + if(FALSE) yyunput('c',(unsigned char *) message); if(FALSE) yy_switch_to_buffer(*dummy); } diff --git a/src/dbtools/dbLoadTemplate_lex.l b/src/dbtools/dbLoadTemplate_lex.l index ef17947bb..063df2453 100644 --- a/src/dbtools/dbLoadTemplate_lex.l +++ b/src/dbtools/dbLoadTemplate_lex.l @@ -17,14 +17,12 @@ value {notquote}|{escapequote} "file" { return(DBFILE); } "=" { return(EQUALS); } -{par}{value}*{par} { yylval.Str=(char*)dbmfMalloc(strlen(yytext)+1); - strcpy(yylval.Str,yytext+1); +{par}{value}*{par} { yylval.Str = dbmfStrdup(yytext); yylval.Str[strlen(yylval.Str)-1] = '\0'; return(QUOTE); } -{word}+ { yylval.Str=(char*)dbmfMalloc(strlen(yytext)+1); - strcpy(yylval.Str,yytext); +{word}+ { yylval.Str = dbmfStrdup(yytext); return(WORD); }