Matteo Bruni : wpp: get_string() now can return NULL, handle it.
Alexandre Julliard
julliard at winehq.org
Tue Oct 6 10:35:51 CDT 2009
Module: wine
Branch: master
Commit: 28fb6a24b143bbbe70b497dedcbcb5688aac9f8e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=28fb6a24b143bbbe70b497dedcbcb5688aac9f8e
Author: Matteo Bruni <matteo.mystral at gmail.com>
Date: Tue Sep 29 12:06:24 2009 +0200
wpp: get_string() now can return NULL, handle it.
---
libs/wpp/ppl.l | 3 +++
libs/wpp/ppy.y | 12 ++++++------
2 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/libs/wpp/ppl.l b/libs/wpp/ppl.l
index 062ac22..48a6959 100644
--- a/libs/wpp/ppl.l
+++ b/libs/wpp/ppl.l
@@ -1514,6 +1514,9 @@ void pp_do_include(char *fname, int type)
int n;
includelogicentry_t *iep;
+ if(!fname)
+ return;
+
for(iep = pp_includelogiclist; iep; iep = iep->next)
{
if(!strcmp(iep->filename, fname))
diff --git a/libs/wpp/ppy.y b/libs/wpp/ppy.y
index ba88320..b525e2f 100644
--- a/libs/wpp/ppy.y
+++ b/libs/wpp/ppy.y
@@ -279,16 +279,16 @@ preprocessor
| tMACRO res_arg allmargs tMACROEND opt_mtexts tNL {
pp_add_macro($1, macro_args, nmacro_args, $5);
}
- | tLINE tSINT tDQSTRING tNL { fprintf(ppy_out, "# %d %s\n", $2 , $3); free($3); }
- | tGCCLINE tSINT tDQSTRING tNL { fprintf(ppy_out, "# %d %s\n", $2 , $3); free($3); }
+ | tLINE tSINT tDQSTRING tNL { if($3) fprintf(ppy_out, "# %d %s\n", $2 , $3); free($3); }
+ | tGCCLINE tSINT tDQSTRING tNL { if($3) fprintf(ppy_out, "# %d %s\n", $2 , $3); free($3); }
| tGCCLINE tSINT tDQSTRING tSINT tNL
- { fprintf(ppy_out, "# %d %s %d\n", $2, $3, $4); free($3); }
+ { if($3) fprintf(ppy_out, "# %d %s %d\n", $2, $3, $4); free($3); }
| tGCCLINE tSINT tDQSTRING tSINT tSINT tNL
- { fprintf(ppy_out, "# %d %s %d %d\n", $2 ,$3, $4, $5); free($3); }
+ { if($3) fprintf(ppy_out, "# %d %s %d %d\n", $2 ,$3, $4, $5); free($3); }
| tGCCLINE tSINT tDQSTRING tSINT tSINT tSINT tNL
- { fprintf(ppy_out, "# %d %s %d %d %d\n", $2 ,$3 ,$4 ,$5, $6); free($3); }
+ { if($3) fprintf(ppy_out, "# %d %s %d %d %d\n", $2 ,$3 ,$4 ,$5, $6); free($3); }
| tGCCLINE tSINT tDQSTRING tSINT tSINT tSINT tSINT tNL
- { fprintf(ppy_out, "# %d %s %d %d %d %d\n", $2 ,$3 ,$4 ,$5, $6, $7); free($3); }
+ { if($3) fprintf(ppy_out, "# %d %s %d %d %d %d\n", $2 ,$3 ,$4 ,$5, $6, $7); free($3); }
| tGCCLINE tNL /* The null-token */
| tERROR opt_text tNL { ppy_error("#error directive: '%s'", $2); free($2); }
| tWARNING opt_text tNL { ppy_warning("#warning directive: '%s'", $2); free($2); }
More information about the wine-cvs
mailing list