]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/filefn.cpp
BC++/16-bit support now working, but without resource system
[wxWidgets.git] / src / common / filefn.cpp
index 84c0a65c36523760df4309d22dda2e8662a0fdcd..e8d93b2cf5ed21c313586268907c82b500feab1c 100644 (file)
 #include "wx/utils.h"
 #include <wx/intl.h>
 
+// there are just too many of those...
+#ifdef _MSC_VER
+    #pragma warning(disable:4706)   // assignment within conditional expression
+#endif // VC++
+
 #include <ctype.h>
 #include <stdio.h>
 #include <stdlib.h>
 #endif
 #endif
 #include <time.h>
+#ifndef __MWERKS__
 #include <sys/types.h>
 #include <sys/stat.h>
+#else
+#include <stat.h>
+#include <unistd.h>
+#endif
 
 #ifdef __UNIX__
 #include <unistd.h>
@@ -47,7 +57,7 @@
 #endif
 
 #ifdef __WINDOWS__
-#ifndef __GNUWIN32__
+#if !defined( __GNUWIN32__ ) && !defined( __MWERKS__ )
 #include <direct.h>
 #include <dos.h>
 #endif
@@ -65,7 +75,9 @@
 #endif
 
 #include "wx/setup.h"
-#ifdef HAVE_FNMATCH_H
+
+// No, Cygwin doesn't appear to have fnmatch.h after all.
+#if defined(HAVE_FNMATCH_H)
 #include   "fnmatch.h"
 #endif
 
 
 #define _MAXPATHLEN 500
 
-#if !USE_SHARED_LIBRARY
+extern char *wxBuffer;
+
+#if !USE_SHARED_LIBRARIES
 IMPLEMENT_DYNAMIC_CLASS(wxPathList, wxStringList)
 #endif
 
-extern char *wxBuffer;
-
 void wxPathList::Add (const wxString& path)
 {
   wxStringList::Add ((char *)(const char *)path);
@@ -840,7 +852,7 @@ wxRenameFile (const wxString& file1, const wxString& file2)
 
 bool wxRemoveFile(const wxString& file)
 {
-#if defined(_MSC_VER) || defined(__BORLANDC__)
+#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__WATCOMC__)
   int flag = remove(WXSTRINGCAST file);
 #else
   int flag = unlink(WXSTRINGCAST file);
@@ -950,7 +962,7 @@ char *wxGetTempFileName(const wxString& prefix, char *buf)
 #else
   static short last_temp = 0;  // cache last to speed things a bit
   // At most 1000 temp files to a process! We use a ring count.
-  char tmp[100];
+  char tmp[100]; // FIXME static buffer
 
   for (short suffix = last_temp + 1; suffix != last_temp; ++suffix %= 1000)
     {
@@ -1024,7 +1036,7 @@ char *wxFindFirstFile(const char *spec, int flags)
 char *wxFindNextFile(void)
 {
 #ifndef __VMS__
-  static char buf[400];
+  static char buf[400]; // FIXME static buffer
 
   /* MATTHEW: [2] Don't crash if we read too many times */
   if (!wxDirStream)
@@ -1253,7 +1265,7 @@ char *wxGetWorkingDirectory(char *buf, int sz)
 {
   if (!buf)
     buf = new char[sz+1];
-#ifdef _MSC_VER
+#ifdef _MSC_VER 
   if (_getcwd(buf, sz) == NULL) {
 #else
   if (getcwd(buf, sz) == NULL) {
@@ -1399,7 +1411,8 @@ bool wxIsWild( const wxString& pattern )
 };
 
 bool wxMatchWild( const wxString& pat, const wxString& text, bool dot_special )
-#ifdef HAVE_FNMATCH_H
+
+#if defined(HAVE_FNMATCH_H)
 {
    if(dot_special)
       return fnmatch(pat.c_str(), text.c_str(), FNM_PERIOD) == 0;
@@ -1408,7 +1421,8 @@ bool wxMatchWild( const wxString& pat, const wxString& text, bool dot_special )
 }
 #else
 
-#pragma error Broken implementation of wxMatchWild() -- needs fixing!
+// #pragma error Broken implementation of wxMatchWild() -- needs fixing!
+
    /*
     * WARNING: this code is broken!
     */
@@ -1545,5 +1559,9 @@ bool wxMatchWild( const wxString& pat, const wxString& text, bool dot_special )
        pattern++;
     return ((*str == '\0') && (*pattern == '\0'));
 };
+
 #endif
 
+#ifdef _MSC_VER
+    #pragma warning(default:4706)   // assignment within conditional expression
+#endif // VC++