]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/filefn.cpp
Module definitions files for build VisualAge C++ V3.0 dlls.
[wxWidgets.git] / src / common / filefn.cpp
index cc53efde61a5d0f6d4513802ce694716cfe1d70b..9cea28b83a58b488b6a00be4fdd44084cc943cd2 100644 (file)
@@ -130,6 +130,14 @@ extern wxChar *wxBuffer;
 
 static wxChar wxFileFunctionsBuffer[4*_MAXPATHLEN];
 
+#if defined(__VISAGECPP__) && __IBMCPP__ >= 400
+//
+// VisualAge C++ V4.0 cannot have any external linkage const decs 
+// in headers included by more than one primary source
+//
+const off_t wxInvalidOffset = (off_t)-1;
+#endif
+
 // ============================================================================
 // implementation
 // ============================================================================
@@ -1773,14 +1781,18 @@ void WXDLLEXPORT wxSplitPath(const wxChar *pszFileName,
 #else // assume Unix
     const wxChar *pLastSeparator = wxStrrchr(pszFileName, wxFILE_SEP_PATH_UNIX);
 
-    if ( pDot == pszFileName )
+    if ( pDot )
     {
-        // under Unix files like .profile are treated in a special way
-        pDot = NULL;
+        if ( (pDot == pszFileName) || (*(pDot - 1) == wxFILE_SEP_PATH_UNIX) )
+        {
+            // under Unix, dot may be (and commonly is) the first character of the
+            // filename, don't treat the entire filename as extension in this case
+            pDot = NULL;
+        }
     }
 #endif // MSW/Unix
 
-    if ( pDot < pLastSeparator )
+    if ( pDot && (pDot < pLastSeparator) )
     {
         // the dot is part of the path, not the start of the extension
         pDot = NULL;