// Created: 29/01/98
// RCS-ID: $Id$
// Copyright: (c) 1998 Julian Smart
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
#include <process.h>
#include "wx/os2/private.h"
#endif
-#if defined(__WINDOWS__) && !defined(__WXMICROWIN__) && !defined(__WXWINE__)
+#if defined(__WINDOWS__) && !defined(__WXMICROWIN__)
#if !defined( __GNUWIN32__ ) && !defined( __MWERKS__ ) && !defined(__SALFORDC__)
#include <direct.h>
#include <dos.h>
#endif
#ifdef __WXMAC__
+# ifdef __DARWIN__
+# include "MoreFilesX.h"
+# else
# include "MoreFiles.h"
# include "MoreFilesExtras.h"
# include "FullPath.h"
# include "FSpCompat.h"
+# endif
#endif
// ----------------------------------------------------------------------------
// Add paths e.g. from the PATH environment variable
void wxPathList::AddEnvList (const wxString& envVariable)
{
- static const wxChar PATH_TOKS[] =
+ static const wxChar PATH_TOKS[] =
#ifdef __WINDOWS__
- wxT(" ;"); // Don't seperate with colon in DOS (used for drive)
+ /*
+ The space has been removed from the tokenizers, otherwise a
+ path such as "C:\Program Files" would be split into 2 paths:
+ "C:\Program" and "Files"
+ */
+// wxT(" ;"); // Don't seperate with colon in DOS (used for drive)
+ wxT(";"); // Don't seperate with colon in DOS (used for drive)
#else
wxT(" :;");
#endif
- wxChar *val = wxGetenv (WXSTRINGCAST envVariable);
- if (val && *val)
+ wxChar *val = wxGetenv (WXSTRINGCAST envVariable);
+ if (val && *val)
{
- wxChar *s = copystring (val);
- wxChar *save_ptr, *token = wxStrtok (s, PATH_TOKS, &save_ptr);
+ wxChar *s = copystring (val);
+ wxChar *save_ptr, *token = wxStrtok (s, PATH_TOKS, &save_ptr);
- if (token)
- {
- Add (copystring (token));
- while (token)
- {
- if ((token = wxStrtok ((wxChar *) NULL, PATH_TOKS, &save_ptr)) != NULL)
- Add (wxString(token));
- }
- }
+ if (token)
+ {
+ Add(token);
+ while (token)
+ {
+ if ( (token = wxStrtok ((wxChar *) NULL, PATH_TOKS, &save_ptr))
+ != NULL )
+ {
+ Add(token);
+ }
+ }
+ }
- // suppress warning about unused variable save_ptr when wxStrtok() is a
- // macro which throws away its third argument
- save_ptr = token;
+ // suppress warning about unused variable save_ptr when wxStrtok() is a
+ // macro which throws away its third argument
+ save_ptr = token;
- delete [] s;
+ delete [] s;
}
}
bool wxPathList::Member (const wxString& path)
{
- for (wxNode * node = First (); node != NULL; node = node->Next ())
+ for (wxStringList::Node *node = GetFirst(); node; node = node->GetNext())
{
- wxString path2((wxChar *) node->Data ());
+ wxString path2( node->GetData() );
if (
#if defined(__WINDOWS__) || defined(__VMS__) || defined (__WXMAC__)
// Case INDEPENDENT
wxChar *filename = (wxChar*) NULL; /* shut up buggy egcs warning */
filename = wxIsAbsolutePath (buf) ? wxFileNameFromPath (buf) : (wxChar *)buf;
- for (wxNode * node = First (); node; node = node->Next ())
+ for (wxStringList::Node *node = GetFirst(); node; node = node->GetNext())
{
- wxChar *path = (wxChar *) node->Data ();
+ wxChar *path = node->GetData();
wxStrcpy (wxFileFunctionsBuffer, path);
wxChar ch = wxFileFunctionsBuffer[wxStrlen(wxFileFunctionsBuffer)-1];
if (ch != wxT('\\') && ch != wxT('/'))
}
} // for()
- return wxString(wxT("")); // Not found
+ return wxEmptyString; // Not found
}
wxString wxPathList::FindAbsoluteValidPath (const wxString& file)
int j;
OSErr theErr;
OSStatus theStatus;
- Boolean isDirectory = false;
- Str255 theParentPath = "\p";
+ Boolean isDirectory = FALSE;
+ Str255 theParentPath = "\p";
FSSpec theParentSpec;
FSRef theParentRef;
char theFileName[FILENAME_MAX];
#endif
void wxMacFilename2FSSpec( const char *path , FSSpec *spec )
{
- OSStatus err = noErr ;
+ OSStatus err = noErr ;
#ifdef __DARWIN__
FSRef theRef;
// convert the FSRef to an FSSpec
err = FSGetCatalogInfo(&theRef, kFSCatInfoNone, NULL, NULL, spec, NULL);
#else
- if ( strchr( path , ':' ) == NULL )
+ if ( strchr( path , ':' ) == NULL )
{
- // try whether it is a volume / or a mounted volume
+ // try whether it is a volume / or a mounted volume
strncpy( sMacFileNameConversion , path , 1000 ) ;
sMacFileNameConversion[998] = 0 ;
strcat( sMacFileNameConversion , ":" ) ;
}
else
{
- err = FSpLocationFromFullPath( strlen(path) , path , spec ) ;
+ err = FSpLocationFromFullPath( strlen(path) , path , spec ) ;
}
#endif
}
// create file2 with the same permissions than file1 and open it for
// writing
-
+
wxFile fileOut;
if ( !fileOut.Create(file2, overwrite, fbuf.st_mode & 0777) )
return FALSE;
// 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(__DOS__))) || (defined(__GNUWIN32__) && !defined(__MINGW32__)) || defined(__WXWINE__) || defined(__WXMICROWIN__)
+#if (!(defined(__WXMSW__) || defined(__WXPM__) || defined(__DOS__))) || (defined(__GNUWIN32__) && !defined(__MINGW32__)) || defined(__WINE__) || defined(__WXMICROWIN__)
+ #ifndef MSVCRT
if ( mkdir(wxFNCONV(dirname), perm) != 0 )
+ #else
+ if ( mkdir(wxFNCONV(dirname)) != 0 )
+ #endif
#elif defined(__WXPM__)
if (::DosCreateDir((PSZ)dirname, NULL) != 0) // enhance for EAB's??
#elif defined(__DOS__)
bool needsANSI = TRUE;
#if !defined(HAVE_WGETCWD) || wxUSE_UNICODE_MSLU
- // This is not legal code as the compiler
+ // This is not legal code as the compiler
// is allowed destroy the wxCharBuffer.
// wxCharBuffer c_buffer(sz);
// char *cbuf = (char*)(const char*)c_buffer;
wxGetWorkingDirectory(buffer, _MAXPATHLEN);
wxString str( buffer );
delete [] buffer;
-
+
return str;
}
return len && wxIsPathSeparator(pszFileName[len - 1]);
}
-// find a file in a list of directories, returns false if not found
+// find a file in a list of directories, returns FALSE if not found
bool wxFindFileInPath(wxString *pStr, const wxChar *pszPath, const wxChar *pszFile)
{
// we assume that it's not empty
delete [] szPath;
- return pc != NULL; // if true => we breaked from the loop
+ return pc != NULL; // if TRUE => we breaked from the loop
}
void WXDLLEXPORT wxSplitPath(const wxChar *pszFileName,
{
wxStructStat buf;
wxStat( filename, &buf);
-
+
return buf.st_mtime;
}
{
wxString tmp = pattern;
wxChar *pat = WXSTRINGCAST(tmp);
- while (*pat)
+ while (*pat)
{
- switch (*pat++)
+ switch (*pat++)
{
case wxT('?'): case wxT('*'): case wxT('['): case wxT('{'):
return TRUE;
/* Match if both are empty. */
return pat.empty();
}
-
+
const wxChar *m = pat.c_str(),
*n = text.c_str(),
*ma = NULL,
if (dot_special && (*n == wxT('.')))
{
- /* Never match so that hidden Unix files
+ /* Never match so that hidden Unix files
* are never found. */
return FALSE;
}