]> git.saurik.com Git - wxWidgets.git/commitdiff
better fix for scope resolution operator and Borland (bug 1592939): don't use it...
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 27 Nov 2006 22:04:41 +0000 (22:04 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 27 Nov 2006 22:04:41 +0000 (22:04 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43699 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/filefn.h

index 3c6a3feb339722be3c5e64419a47dc4ab84d4f9c..84a6429b4b262c171139a4c4ffb6776e300ccaaf 100644 (file)
@@ -197,17 +197,20 @@ enum wxFileKind
     // to avoid using them as they're not present in earlier versions and
     // always using the native functions spelling is easier than testing for
     // the versions
-    #if defined(__BORLANDC__)
-        // Borland doesn't like "struct ::stat" so don't use the scope
-        // resolution operator with it
-        #define wxPOSIX_IDENT(func)    func
-    #elif defined(__DMC__) || defined(__WATCOMC__)
+    #if defined(__BORLANDC__) || defined(__DMC__) || defined(__WATCOMC__)
         #define wxPOSIX_IDENT(func)    ::func
     #else // by default assume MSVC-compatible names
         #define wxPOSIX_IDENT(func)    _ ## func
         #define wxHAS_UNDERSCORES_IN_POSIX_IDENTS
     #endif
 
+    // at least Borland 5.5 doesn't like "struct ::stat" so don't use the scope
+    // resolution operator present in wxPOSIX_IDENT for it
+    #ifdef __BORLANDC__
+        #define wxPOSIX_STRUCT(s)    struct s
+    #else
+        #define wxPOSIX_STRUCT(s)    struct wxPOSIX_IDENT(s)
+    #endif
 
     // first functions not working with strings, i.e. without ANSI/Unicode
     // complications
@@ -267,11 +270,10 @@ enum wxFileKind
                 WXDLLIMPEXP_BASE int wxMSLU__wrmdir(const wxChar *name);
 
                 WXDLLIMPEXP_BASE int
-                wxMSLU__wstat(const wxChar *name,
-                              struct wxPOSIX_IDENT(stat) *buffer);
+                wxMSLU__wstat(const wxChar *name, wxPOSIX_STRUCT(stat) *buffer);
                 WXDLLIMPEXP_BASE int
                 wxMSLU__wstati64(const wxChar *name,
-                                 struct wxPOSIX_IDENT(stati64) *buffer);
+                                 wxPOSIX_STRUCT(stati64) *buffer);
             #endif // Windows compilers with MSLU support
 
             #define   wxOpen       wxMSLU__wopen