X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/223d09f6b523aac674ef9b72a883dfa8d37c5d4e..00c813596e3eefdd028365acf9542355937e5531:/src/common/wxexpr.cpp diff --git a/src/common/wxexpr.cpp b/src/common/wxexpr.cpp index 9db80bb028..6f67df37a2 100644 --- a/src/common/wxexpr.cpp +++ b/src/common/wxexpr.cpp @@ -33,6 +33,77 @@ extern "C" void LexFromFile(FILE *fd); extern "C" void LexFromString(char *buf); + +/* Rename all YACC/LEX stuff or we'll conflict with other + * applications + */ + +#define yyback PROIO_yyback +#define yylook PROIO_yylook +#define yywrap PROIO_yywrap +#define yyoutput PROIO_yyoutput +#define yylex PROIO_yylex +#define yyerror PROIO_yyerror +#define yyleng PROIO_yyleng +#define yytext PROIO_yytext +#define yymorfg PROIO_yymorfg +#define yylineno PROIO_yylineno +#define yytchar PROIO_yytchar +#define yyin PROIO_yyin +#define yyout PROIO_yyout +#define yysvf PROIO_yysvf +#define yyestate PROIO_yyestate +#define yysvec PROIO_yysvec +#define yybgin PROIO_yybgin +#define yyprevious PROIO_yyprevious +#define yylhs PROIO_yylhs +#define yylen PROIO_yylen +#define yydefred PROIO_yydefred +#define yydgoto PROIO_yydgoto +#define yysindex PROIO_yysindex +#define yyrindex PROIO_yyrindex +#define yygindex PROIO_yygindex +#define yytable PROIO_yytable +#define yycheck PROIO_yycheck +#define yyname PROIO_yyname +#define yyrule PROIO_yyrule +#define yydebug PROIO_yydebug +#define yynerrs PROIO_yynerrs +#define yyerrflag PROIO_yyerrflag +#define yychar PROIO_yychar +#define yyvsp PROIO_yyvsp +#define yyssp PROIO_yyssp +#define yyval PROIO_yyval +#define yylval PROIO_yylval +#define yyss PROIO_yyss +#define yyvs PROIO_yyvs +#define yyparse PROIO_yyparse + +/* +++steve162e: more defines necessary */ +#define yy_init_buffer PROIO_yy_init_buffer +#define yy_create_buffer PROIO_yy_create_buffer +#define yy_load_buffer_state PROIO_yy_load_buffer_state +#define yyrestart PROIO_yyrestart +#define yy_switch_to_buffer PROIO_yy_switch_to_buffer +#define yy_delete_buffer PROIO_yy_delete_buffer +/* ---steve162e */ + +/* WG 1/96: still more for flex 2.5 */ +#define yy_scan_buffer PROIO_scan_buffer +#define yy_scan_string PROIO_scan_string +#define yy_scan_bytes PROIO_scan_bytes +#define yy_flex_debug PROIO_flex_debug +#define yy_flush_buffer PROIO_flush_buffer +#if !defined(__VISAGECPP__) +/* multiply defined??? */ +#define yyleng PROIO_yyleng +#define yytext PROIO_yytext +#endif + +extern "C" WXDLLEXPORT_DATA(FILE*) yyin; +extern "C" WXDLLEXPORT int yyparse(void); + + wxExprDatabase *thewxExprDatabase = NULL; wxExprErrorHandler currentwxExprErrorHandler; @@ -719,17 +790,17 @@ void wxExpr::WriteExpr(FILE* stream) // Write as any other subexpression case wxExprString: { fprintf( stream, "\"" ); - int i; + size_t i; const wxWX2MBbuf val = wxConvLibc.cWX2MB(value.string); - int len = strlen(val); + size_t len = strlen(val); for (i = 0; i < len; i++) { char ch = val[i]; if (ch == '"' || ch == '\\') - fprintf( stream, "\\" ); - char tmp[2]; - tmp[0] = ch; - tmp[1] = 0; + fprintf( stream, "\\" ); + char tmp[2]; + tmp[0] = ch; + tmp[1] = 0; fprintf( stream, tmp ); } fprintf( stream, "\"" ); @@ -739,12 +810,12 @@ void wxExpr::WriteExpr(FILE* stream) // Write as any other subexpression { bool quote_it = FALSE; const wxWX2MBbuf val = wxConvLibc.cWX2MB(value.word); - int len = strlen(val); - if ((len == 0) || (len > 0 && (val[0] > 64 && val[0] < 91))) + size_t len = strlen(val); + if ((len == 0) || (len > 0 && (val[(size_t) 0] > 64 && val[(size_t) 0] < 91))) quote_it = TRUE; else { - int i; + size_t i; for (i = 0; i < len; i++) if ((!isalpha(val[i])) && (!isdigit(val[i])) && (val[i] != '_')) @@ -754,7 +825,7 @@ void wxExpr::WriteExpr(FILE* stream) // Write as any other subexpression if (quote_it) fprintf( stream ,"'" ); - fprintf( stream, (const char*) val ); + fprintf( stream, val ); if (quote_it) fprintf( stream, "'" ); @@ -785,7 +856,7 @@ void wxExpr::WriteExpr(FILE* stream) // Write as any other subexpression expr->WriteExpr(stream); expr = expr->next; if (expr) - fprintf( stream, ", " ); + fprintf( stream, ", " ); } fprintf( stream, "]" ); } @@ -800,9 +871,7 @@ void wxExpr::WriteExpr(FILE* stream) // Write as any other subexpression * wxExpr 'database' (list of expressions) */ -#if !USE_SHARED_LIBRARIES IMPLEMENT_DYNAMIC_CLASS(wxExprDatabase, wxList) -#endif wxExprDatabase::wxExprDatabase(wxExprErrorHandler handler) { @@ -994,7 +1063,7 @@ bool wxExprDatabase::Read(const wxString& filename) { noErrors = 0; - FILE *f = fopen(filename.fn_str(), "r"); + FILE *f = wxFopen(filename, _T("r")); if (f) { thewxExprDatabase = this; @@ -1026,7 +1095,7 @@ bool wxExprDatabase::ReadFromString(const wxString& buffer) bool wxExprDatabase::Write(const wxString& fileName) { - FILE *stream = fopen( fileName.fn_str(), "w+" ); + FILE *stream = wxFopen( fileName, _T("w+")); if (!stream) return FALSE; @@ -1132,7 +1201,7 @@ char *wxmake_word(char *str) char *wxmake_string(char *str) { wxChar *s, *t; - int len, i; + size_t len, i; const wxMB2WXbuf sbuf = wxConvLibc.cMB2WX(str); // str++; /* skip leading quote */