]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/wxexpr.cpp
use type safe list instead of wxList for m_columns
[wxWidgets.git] / src / common / wxexpr.cpp
index 9db80bb02826b8df2945548dc283a1218eba7636..6f67df37a2286570e2a54615f1e34c10dce00330 100644 (file)
@@ -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 */