X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/08942a0c0d68756cf12f98b48387d9a8b323d11c..4004f41e3ce1655f9fa05c55a697ac0f8677c23a:/src/common/filefn.cpp diff --git a/src/common/filefn.cpp b/src/common/filefn.cpp index dc4910db9a..9a0a061a8f 100644 --- a/src/common/filefn.cpp +++ b/src/common/filefn.cpp @@ -122,9 +122,7 @@ extern wxChar *wxBuffer; #include "fspcompa.h" #endif -#if !USE_SHARED_LIBRARIES IMPLEMENT_DYNAMIC_CLASS(wxPathList, wxStringList) -#endif // ---------------------------------------------------------------------------- // private globals @@ -132,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 // ============================================================================ @@ -612,7 +618,6 @@ wxChar *wxExpandPath(wxChar *buf, const wxChar *name) return wxRealPath(buf); } - /* Contract Paths to be build upon an environment variable component: @@ -946,9 +951,9 @@ wxDos2UnixFilename (char *s) void #if defined(__WXMSW__) || defined(__WXPM__) -wxUnix2DosFilename (char *s) +wxUnix2DosFilename (wxChar *s) #else -wxUnix2DosFilename (char *WXUNUSED(s) ) +wxUnix2DosFilename (wxChar *WXUNUSED(s) ) #endif { // Yes, I really mean this to happen under DOS only! JACS @@ -1078,9 +1083,9 @@ bool wxMkdir(const wxString& dir, int perm) // assume mkdir() has 2 args on non Windows-OS/2 platforms and on Windows too // for the GNU compiler -#if (!(defined(__WXMSW__) || defined(__WXPM__))) || (defined(__GNUWIN32__) && !defined(__MINGW32__)) || defined(__WXWINE__) +#if (!(defined(__WXMSW__) || defined(__OS2__))) || (defined(__GNUWIN32__) && !defined(__MINGW32__)) || defined(__WXWINE__) if ( mkdir(wxFNCONV(dirname), perm) != 0 ) -#else // MSW and OS/2 +#else // !MSW and !OS/2 VAC++ if ( mkdir(wxFNSTRINGCAST wxFNCONV(dirname)) != 0 ) #endif // !MSW/MSW { @@ -1220,6 +1225,18 @@ wxChar *wxGetTempFileName(const wxString& prefix, wxChar *buf) #endif } +bool wxGetTempFileName(const wxString& prefix, wxString& buf) +{ + wxChar buf2[512]; + if (wxGetTempFileName(prefix, buf2) != (wxChar*) NULL) + { + buf = buf2; + return TRUE; + } + else + return FALSE; +} + // Get first file name matching given wild card. #ifdef __UNIX__ @@ -1293,7 +1310,9 @@ wxString wxFindNextFile() nextDir != NULL; nextDir = readdir(gs_dirStream) ) { - if (wxMatchWild(name, nextDir->d_name)) + if (wxMatchWild(name, nextDir->d_name, FALSE) && // RR: added FALSE to find hidden files + strcmp(nextDir->d_name, ".") && + strcmp(nextDir->d_name, "..") ) { result.Empty(); if ( !path.IsEmpty() ) @@ -1800,6 +1819,17 @@ void WXDLLEXPORT wxSplitPath(const wxChar *pszFileName, } } + + +time_t WXDLLEXPORT wxFileModificationTime(const wxString& filename) +{ + struct stat buf; + + stat(filename.fn_str(), &buf); + return buf.st_mtime; +} + + //------------------------------------------------------------------------ // wild character routines //------------------------------------------------------------------------