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
// ============================================================================
#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;