added GetForbiddenChars() and TRUE -> true (patch 757777)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22112 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2003-07-19 17:06:29 +00:00
parent 57700c5097
commit f363e05c6d
4 changed files with 113 additions and 65 deletions

View File

@@ -44,6 +44,7 @@ OTHER CHANGES
All: All:
- added wxDateSpan::operator==() and !=() (Lukasz Michalski) - added wxDateSpan::operator==() and !=() (Lukasz Michalski)
- added wxFileName::GetForbiddenChars() (Dimitri Schoolwerth)
- use true/false throughout the library instead of TRUE/FALSE - use true/false throughout the library instead of TRUE/FALSE
- wxStopWatch::Start() resumes the stop watch if paused, as per the docs - wxStopWatch::Start() resumes the stop watch if paused, as per the docs
- added wxDirTraverser::OnOpenError() to customize the error handling - added wxDirTraverser::OnOpenError() to customize the error handling
@@ -438,7 +439,7 @@ wxBase:
- fixes to the command line parsing error and usage messages - fixes to the command line parsing error and usage messages
- modified wxFileName::CreateTempFileName() to open the file atomically - modified wxFileName::CreateTempFileName() to open the file atomically
(if possible) and, especially, not to leak the file descriptors under Unix (if possible) and, especially, not to leak the file descriptors under Unix
- memory leak in wxHTTP fixed (Dimitri) - memory leak in wxHTTP fixed (Dimitri Schoolwerth)
- fixes to AM_PATH_WXCONFIG autoconf macro - fixes to AM_PATH_WXCONFIG autoconf macro
- added wxHashMap class that replaces type-unsafe wxHashTable and is modelled - added wxHashMap class that replaces type-unsafe wxHashTable and is modelled
after (non standard) STL hash_map after (non standard) STL hash_map

View File

@@ -38,13 +38,14 @@ enum wxPathFormat
{ {
wxPATH_NATIVE = 0, // the path format for the current platform wxPATH_NATIVE = 0, // the path format for the current platform
wxPATH_UNIX, wxPATH_UNIX,
wxPATH_BEOS = wxPATH_UNIX,
wxPATH_MAC, wxPATH_MAC,
wxPATH_DOS, wxPATH_DOS,
wxPATH_WIN = wxPATH_DOS,
wxPATH_OS2 = wxPATH_DOS,
wxPATH_VMS, wxPATH_VMS,
wxPATH_BEOS = wxPATH_UNIX, wxPATH_MAX // Not a valid value for specifying path format
wxPATH_WIN = wxPATH_DOS,
wxPATH_OS2 = wxPATH_DOS
} }
\end{verbatim} \end{verbatim}
@@ -189,7 +190,7 @@ Creates the file name from various combinations of data.
\membersection{wxFileName::AssignCwd}\label{wxfilenameassigncwd} \membersection{wxFileName::AssignCwd}\label{wxfilenameassigncwd}
\func{void}{AssignCwd}{\param{const wxString\& }{volume = ""}} \func{static void}{AssignCwd}{\param{const wxString\& }{volume = wxEmptyString}}
Makes this object refer to the current working directory on the specified Makes this object refer to the current working directory on the specified
volume (or current volume if {\it volume} is empty). volume (or current volume if {\it volume} is empty).
@@ -261,7 +262,7 @@ The full temporary file name or an empty string on error.
\func{static bool}{DirExists}{\param{const wxString\& }{dir}} \func{static bool}{DirExists}{\param{const wxString\& }{dir}}
Returns true if the directory with this name exists. Returns {\tt true} if the directory with this name exists.
\membersection{wxFileName::DirName}\label{wxfilenamedirname} \membersection{wxFileName::DirName}\label{wxfilenamedirname}
@@ -277,7 +278,7 @@ The {\it dir} parameter may have trailing path separator or not.
\func{static bool}{FileExists}{\param{const wxString\& }{file}} \func{static bool}{FileExists}{\param{const wxString\& }{file}}
Returns true if the file with this name exists. Returns {\tt true} if the file with this name exists.
\wxheading{See also} \wxheading{See also}
@@ -294,7 +295,7 @@ function exists mainly for symmetry with \helpref{DirName}{wxfilenamedirname}.
\membersection{wxFileName::GetCwd}\label{wxfilenamegetcwd} \membersection{wxFileName::GetCwd}\label{wxfilenamegetcwd}
\func{wxString}{GetCwd}{\param{const wxString\& }{volume = ""}} \func{static wxString}{GetCwd}{\param{const wxString\& }{volume = ""}}
Retrieves the value of the current working directory on the specified volume. If Retrieves the value of the current working directory on the specified volume. If
the volume is empty, the programs current working directory is returned for the the volume is empty, the programs current working directory is returned for the
@@ -327,9 +328,15 @@ Returns the directories in string array form.
Returns the file name extension. Returns the file name extension.
\membersection{wxFileName::GetForbiddenChars}\label{wxfilenamegetforbiddenchars}
\func{static wxString}{GetForbiddenChars}{\param{wxPathFormat }{format = wxPATH\_NATIVE}}
Returns the characters that can't be used in filenames and directory names for the specified format.
\membersection{wxFileName::GetFormat}\label{wxfilenamegetformat} \membersection{wxFileName::GetFormat}\label{wxfilenamegetformat}
\func{wxPathFormat}{GetFormat}{\param{wxPathFormat }{format = wxPATH\_NATIVE}} \func{static wxPathFormat}{GetFormat}{\param{wxPathFormat }{format = wxPATH\_NATIVE}}
Returns the canonical path format for this platform. Returns the canonical path format for this platform.
@@ -347,7 +354,7 @@ Returns the full path with name and extension.
\membersection{wxFileName::GetHomeDir}\label{wxfilenamegethomedir} \membersection{wxFileName::GetHomeDir}\label{wxfilenamegethomedir}
\func{wxString}{GetHomeDir}{\void} \func{static wxString}{GetHomeDir}{\void}
Returns the home directory. Returns the home directory.
@@ -387,7 +394,7 @@ the path.}
\membersection{wxFileName::GetPathSeparator}\label{wxfilenamegetpathseparator} \membersection{wxFileName::GetPathSeparator}\label{wxfilenamegetpathseparator}
\func{wxChar}{GetPathSeparator}{\param{wxPathFormat }{format = wxPATH\_NATIVE}} \func{static wxChar}{GetPathSeparator}{\param{wxPathFormat }{format = wxPATH\_NATIVE}}
Returns the usually used path separator for this format. For all formats but Returns the usually used path separator for this format. For all formats but
{\tt wxPATH\_DOS} there is only one path separator anyhow, but for DOS there {\tt wxPATH\_DOS} there is only one path separator anyhow, but for DOS there
@@ -400,7 +407,7 @@ method.
\membersection{wxFileName::GetPathSeparators}\label{wxfilenamegetpathseparators} \membersection{wxFileName::GetPathSeparators}\label{wxfilenamegetpathseparators}
\func{wxString}{GetPathSeparators}{\param{wxPathFormat }{format = wxPATH\_NATIVE}} \func{static wxString}{GetPathSeparators}{\param{wxPathFormat }{format = wxPATH\_NATIVE}}
Returns the string containing all the path separators for this format. For all Returns the string containing all the path separators for this format. For all
formats but {\tt wxPATH\_DOS} this string contains only one character but for formats but {\tt wxPATH\_DOS} this string contains only one character but for
@@ -446,7 +453,7 @@ example, Unix).
\membersection{wxFileName::GetVolumeSeparator}\label{wxfilenamegetvolumeseparator} \membersection{wxFileName::GetVolumeSeparator}\label{wxfilenamegetvolumeseparator}
\func{wxString}{GetVolumeSeparator}{\param{wxPathFormat }{format = wxPATH\_NATIVE}} \func{static wxString}{GetVolumeSeparator}{\param{wxPathFormat }{format = wxPATH\_NATIVE}}
Returns the string separating the volume from the path for this format. Returns the string separating the volume from the path for this format.
@@ -454,19 +461,19 @@ Returns the string separating the volume from the path for this format.
\constfunc{bool}{HasExt}{\void} \constfunc{bool}{HasExt}{\void}
Returns true if an extension is present. Returns {\tt true} if an extension is present.
\membersection{wxFileName::HasName}\label{wxfilenamehasname} \membersection{wxFileName::HasName}\label{wxfilenamehasname}
\constfunc{bool}{HasName}{\void} \constfunc{bool}{HasName}{\void}
Returns true if a name is present. Returns {\tt true} if a name is present.
\membersection{wxFileName::HasVolume}\label{wxfilenamehasvolume} \membersection{wxFileName::HasVolume}\label{wxfilenamehasvolume}
\constfunc{bool}{HasVolume}{\void} \constfunc{bool}{HasVolume}{\void}
Returns true if a volume specifier is present. Returns {\tt true} if a volume specifier is present.
\membersection{wxFileName::InsertDir}\label{wxfilenameinsertdir} \membersection{wxFileName::InsertDir}\label{wxfilenameinsertdir}
@@ -478,13 +485,13 @@ Inserts a directory before the zero-based position in the directory list.
\func{bool}{IsAbsolute}{\param{wxPathFormat }{format = wxPATH\_NATIVE}} \func{bool}{IsAbsolute}{\param{wxPathFormat }{format = wxPATH\_NATIVE}}
Returns true if this filename is absolute. Returns {\tt true} if this filename is absolute.
\membersection{wxFileName::IsCaseSensitive}\label{wxfilenameiscasesensitive} \membersection{wxFileName::IsCaseSensitive}\label{wxfilenameiscasesensitive}
\func{bool}{IsCaseSensitive}{\param{wxPathFormat }{format = wxPATH\_NATIVE}} \func{static bool}{IsCaseSensitive}{\param{wxPathFormat }{format = wxPATH\_NATIVE}}
Returns true if the file names of this type are case-sensitive. Returns {\tt true} if the file names of this type are case-sensitive.
\membersection{wxFileName::IsOk}\label{wxfilenameisok} \membersection{wxFileName::IsOk}\label{wxfilenameisok}
@@ -497,7 +504,7 @@ invalid state (the former only do it on failure).
\membersection{wxFileName::IsPathSeparator}\label{wxfilenameispathseparator} \membersection{wxFileName::IsPathSeparator}\label{wxfilenameispathseparator}
\func{bool}{IsPathSeparator}{\param{wxChar }{ch}, \param{wxPathFormat }{format = wxPATH\_NATIVE}} \func{static bool}{IsPathSeparator}{\param{wxChar }{ch}, \param{wxPathFormat }{format = wxPATH\_NATIVE}}
Returns {\tt true} if the char is a path separator for this format. Returns {\tt true} if the char is a path separator for this format.
@@ -532,7 +539,7 @@ Make the file name absolute. This is a shortcut for
\membersection{wxFileName::MakeRelativeTo}\label{wxfilenamemakerelativeto} \membersection{wxFileName::MakeRelativeTo}\label{wxfilenamemakerelativeto}
\func{bool}{MakeRelativeTo}{\param{const wxString\& }{pathBase = ""}, \param{wxPathFormat }{format = wxPATH\_NATIVE}} \func{bool}{MakeRelativeTo}{\param{const wxString\& }{pathBase = wxEmptyString}, \param{wxPathFormat }{format = wxPATH\_NATIVE}}
This function tries to put this file name in a form relative to {\it pathBase}. This function tries to put this file name in a form relative to {\it pathBase}.
In other words, it returns the file name which should be used to access this In other words, it returns the file name which should be used to access this

View File

@@ -52,13 +52,14 @@ enum wxPathFormat
{ {
wxPATH_NATIVE = 0, // the path format for the current platform wxPATH_NATIVE = 0, // the path format for the current platform
wxPATH_UNIX, wxPATH_UNIX,
wxPATH_BEOS = wxPATH_UNIX,
wxPATH_MAC, wxPATH_MAC,
wxPATH_DOS, wxPATH_DOS,
wxPATH_WIN = wxPATH_DOS,
wxPATH_OS2 = wxPATH_DOS,
wxPATH_VMS, wxPATH_VMS,
wxPATH_BEOS = wxPATH_UNIX, wxPATH_MAX // Not a valid value for specifying path format
wxPATH_WIN = wxPATH_DOS,
wxPATH_OS2 = wxPATH_DOS
}; };
// the kind of normalization to do with the file name: these values can be // the kind of normalization to do with the file name: these values can be
@@ -246,7 +247,6 @@ public:
wxFile *fileTemp = NULL); wxFile *fileTemp = NULL);
// directory creation and removal. // directory creation and removal.
// if full is TRUE, will try to make each directory in the path.
bool Mkdir( int perm = 0777, int flags = 0); bool Mkdir( int perm = 0777, int flags = 0);
static bool Mkdir( const wxString &dir, int perm = 0777, int flags = 0 ); static bool Mkdir( const wxString &dir, int perm = 0777, int flags = 0 );
@@ -269,7 +269,7 @@ public:
// //
// pass an empty string to get a path relative to the working directory // pass an empty string to get a path relative to the working directory
// //
// returns TRUE if the file name was modified, FALSE if we failed to do // returns true if the file name was modified, false if we failed to do
// anything with it (happens when the file is on a different volume, // anything with it (happens when the file is on a different volume,
// for example) // for example)
bool MakeRelativeTo(const wxString& pathBase = wxEmptyString, bool MakeRelativeTo(const wxString& pathBase = wxEmptyString,
@@ -311,6 +311,10 @@ public:
bool IsRelative(wxPathFormat format = wxPATH_NATIVE) const bool IsRelative(wxPathFormat format = wxPATH_NATIVE) const
{ return !IsAbsolute(format); } { return !IsAbsolute(format); }
// Returns the characters that aren't allowed in filenames
// on the specified platform.
static wxString GetForbiddenChars(wxPathFormat format = wxPATH_NATIVE);
// Information about path format // Information about path format
// get the string separating the volume from the path for this format, // get the string separating the volume from the path for this format,
@@ -419,9 +423,9 @@ private:
// that our path is '/', i.e. the root directory // that our path is '/', i.e. the root directory
// //
// we use m_relative to distinguish between these two cases, it will be // we use m_relative to distinguish between these two cases, it will be
// TRUE in the former and FALSE in the latter // true in the former and false in the latter
// //
// NB: the path is not absolute just because m_relative is FALSE, it still // NB: the path is not absolute just because m_relative is false, it still
// needs the drive (i.e. volume) in some formats (Windows) // needs the drive (i.e. volume) in some formats (Windows)
bool m_relative; bool m_relative;
}; };

View File

@@ -188,7 +188,7 @@ public:
} }
} }
// return TRUE only if the file could be opened successfully // return true only if the file could be opened successfully
bool IsOk() const { return m_hFile != INVALID_HANDLE_VALUE; } bool IsOk() const { return m_hFile != INVALID_HANDLE_VALUE; }
// get the handle // get the handle
@@ -343,9 +343,13 @@ void wxFileName::SetPath( const wxString &path, wxPathFormat format )
case wxPATH_VMS: case wxPATH_VMS:
// TODO: what is the relative path format here? // TODO: what is the relative path format here?
m_relative = FALSE; m_relative = false;
break; break;
default:
wxFAIL_MSG( _T("Unknown path format") );
// !! Fall through !!
case wxPATH_UNIX: case wxPATH_UNIX:
// the paths of the form "~" or "~username" are absolute // the paths of the form "~" or "~username" are absolute
m_relative = leadingChar != wxT('/') && leadingChar != _T('~'); m_relative = leadingChar != wxT('/') && leadingChar != _T('~');
@@ -355,9 +359,6 @@ void wxFileName::SetPath( const wxString &path, wxPathFormat format )
m_relative = !IsPathSeparator(leadingChar, my_format); m_relative = !IsPathSeparator(leadingChar, my_format);
break; break;
default:
wxFAIL_MSG( wxT("error") );
break;
} }
// 2) Break up the path into its members. If the original path // 2) Break up the path into its members. If the original path
@@ -386,7 +387,7 @@ void wxFileName::SetPath( const wxString &path, wxPathFormat format )
} }
else // no path at all else // no path at all
{ {
m_relative = TRUE; m_relative = true;
} }
} }
@@ -450,7 +451,7 @@ void wxFileName::Clear()
m_ext = wxEmptyString; m_ext = wxEmptyString;
// we don't have any absolute path for now // we don't have any absolute path for now
m_relative = TRUE; m_relative = true;
} }
/* static */ /* static */
@@ -816,12 +817,12 @@ bool wxFileName::Mkdir( const wxString& dir, int perm, int flags )
if (!wxMkdir(currPath, perm)) if (!wxMkdir(currPath, perm))
{ {
// no need to try creating further directories // no need to try creating further directories
return FALSE; return false;
} }
} }
} }
return TRUE; return true;
} }
@@ -930,7 +931,7 @@ bool wxFileName::Normalize(int flags,
{ {
wxLogError(_("The path '%s' contains too many \"..\"!"), wxLogError(_("The path '%s' contains too many \"..\"!"),
GetFullPath().c_str()); GetFullPath().c_str());
return FALSE; return false;
} }
m_dirs.RemoveAt(m_dirs.GetCount() - 1); m_dirs.RemoveAt(m_dirs.GetCount() - 1);
@@ -962,7 +963,7 @@ bool wxFileName::Normalize(int flags,
// we do have the path now // we do have the path now
// //
// NB: need to do this before (maybe) calling Assign() below // NB: need to do this before (maybe) calling Assign() below
m_relative = FALSE; m_relative = false;
#if defined(__WIN32__) #if defined(__WIN32__)
if ( (flags & wxPATH_NORM_LONG) && (format == wxPATH_DOS) ) if ( (flags & wxPATH_NORM_LONG) && (format == wxPATH_DOS) )
@@ -971,7 +972,7 @@ bool wxFileName::Normalize(int flags,
} }
#endif // Win32 #endif // Win32
return TRUE; return true;
} }
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -983,17 +984,17 @@ bool wxFileName::IsAbsolute(wxPathFormat format) const
// if our path doesn't start with a path separator, it's not an absolute // if our path doesn't start with a path separator, it's not an absolute
// path // path
if ( m_relative ) if ( m_relative )
return FALSE; return false;
if ( !GetVolumeSeparator(format).empty() ) if ( !GetVolumeSeparator(format).empty() )
{ {
// this format has volumes and an absolute path must have one, it's not // this format has volumes and an absolute path must have one, it's not
// enough to have the full path to bean absolute file under Windows // enough to have the full path to bean absolute file under Windows
if ( GetVolume().empty() ) if ( GetVolume().empty() )
return FALSE; return false;
} }
return TRUE; return true;
} }
bool wxFileName::MakeRelativeTo(const wxString& pathBase, wxPathFormat format) bool wxFileName::MakeRelativeTo(const wxString& pathBase, wxPathFormat format)
@@ -1011,7 +1012,7 @@ bool wxFileName::MakeRelativeTo(const wxString& pathBase, wxPathFormat format)
if ( !GetVolume().IsSameAs(fnBase.GetVolume(), withCase) ) if ( !GetVolume().IsSameAs(fnBase.GetVolume(), withCase) )
{ {
// nothing done // nothing done
return FALSE; return false;
} }
// same drive, so we don't need our volume // same drive, so we don't need our volume
@@ -1043,10 +1044,10 @@ bool wxFileName::MakeRelativeTo(const wxString& pathBase, wxPathFormat format)
} }
} }
m_relative = TRUE; m_relative = true;
// we were modified // we were modified
return TRUE; return true;
} }
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -1064,12 +1065,12 @@ bool wxFileName::SameAs(const wxFileName& filepath, wxPathFormat format) const
fn2.Normalize(wxPATH_NORM_ALL & ~wxPATH_NORM_CASE, cwd, format); fn2.Normalize(wxPATH_NORM_ALL & ~wxPATH_NORM_CASE, cwd, format);
if ( fn1.GetFullPath() == fn2.GetFullPath() ) if ( fn1.GetFullPath() == fn2.GetFullPath() )
return TRUE; return true;
// TODO: compare inodes for Unix, this works even when filenames are // TODO: compare inodes for Unix, this works even when filenames are
// different but files are the same (symlinks) (VZ) // different but files are the same (symlinks) (VZ)
return FALSE; return false;
} }
/* static */ /* static */
@@ -1079,6 +1080,41 @@ bool wxFileName::IsCaseSensitive( wxPathFormat format )
return GetFormat(format) == wxPATH_UNIX; return GetFormat(format) == wxPATH_UNIX;
} }
/* static */
wxString wxFileName::GetForbiddenChars(wxPathFormat format)
{
// Inits to forbidden characters that are common to (almost) all platforms.
wxString strForbiddenChars = wxT("*?");
// If asserts, wxPathFormat has been changed. In case of a new path format
// addition, the following code might have to be updated.
wxCOMPILE_TIME_ASSERT(wxPATH_MAX == 5, wxPathFormatChanged);
switch ( GetFormat(format) )
{
default :
wxFAIL_MSG( wxT("Unknown path format") );
// !! Fall through !!
case wxPATH_UNIX:
break;
case wxPATH_MAC:
// On a Mac even names with * and ? are allowed (Tested with OS
// 9.2.1 and OS X 10.2.5)
strForbiddenChars = wxEmptyString;
break;
case wxPATH_DOS:
strForbiddenChars += wxT("\\/:\"<>|");
break;
case wxPATH_VMS:
break;
}
return strForbiddenChars;
}
/* static */ /* static */
wxString wxFileName::GetVolumeSeparator(wxPathFormat format) wxString wxFileName::GetVolumeSeparator(wxPathFormat format)
{ {
@@ -1107,7 +1143,7 @@ wxString wxFileName::GetPathSeparators(wxPathFormat format)
break; break;
default: default:
wxFAIL_MSG( _T("unknown wxPATH_XXX style") ); wxFAIL_MSG( _T("Unknown wxPATH_XXX style") );
// fall through // fall through
case wxPATH_UNIX: case wxPATH_UNIX:
@@ -1206,7 +1242,7 @@ wxString wxFileName::GetPath( int flags, wxPathFormat format ) const
break; break;
default: default:
wxFAIL_MSG( _T("unknown path format") ); wxFAIL_MSG( wxT("Unknown path format") );
// fall through // fall through
case wxPATH_UNIX: case wxPATH_UNIX:
@@ -1256,7 +1292,7 @@ wxString wxFileName::GetPath( int flags, wxPathFormat format ) const
break; break;
default: default:
wxFAIL_MSG( wxT("unexpected path format") ); wxFAIL_MSG( wxT("Unexpected path format") );
// still fall through // still fall through
case wxPATH_DOS: case wxPATH_DOS:
@@ -1332,19 +1368,19 @@ wxString wxFileName::GetLongPath() const
path = GetFullPath(); path = GetFullPath();
#if defined(__WIN32__) && !defined(__WXMICROWIN__) #if defined(__WIN32__) && !defined(__WXMICROWIN__)
bool success = FALSE; bool success = false;
#if wxUSE_DYNAMIC_LOADER #if wxUSE_DYNAMIC_LOADER
typedef DWORD (WINAPI *GET_LONG_PATH_NAME)(const wxChar *, wxChar *, DWORD); typedef DWORD (WINAPI *GET_LONG_PATH_NAME)(const wxChar *, wxChar *, DWORD);
static bool s_triedToLoad = FALSE; static bool s_triedToLoad = false;
if ( !s_triedToLoad ) if ( !s_triedToLoad )
{ {
// suppress the errors about missing GetLongPathName[AW] // suppress the errors about missing GetLongPathName[AW]
wxLogNull noLog; wxLogNull noLog;
s_triedToLoad = TRUE; s_triedToLoad = true;
wxDynamicLibrary dllKernel(_T("kernel32")); wxDynamicLibrary dllKernel(_T("kernel32"));
if ( dllKernel.IsLoaded() ) if ( dllKernel.IsLoaded() )
{ {
@@ -1375,7 +1411,7 @@ wxString wxFileName::GetLongPath() const
) != 0; ) != 0;
pathOut.UngetWriteBuf(); pathOut.UngetWriteBuf();
success = TRUE; success = true;
} }
} }
} }
@@ -1674,7 +1710,7 @@ bool wxFileName::SetTimes(const wxDateTime *dtAccess,
dtAccess ? &ftAccess : NULL, dtAccess ? &ftAccess : NULL,
dtMod ? &ftWrite : NULL) ) dtMod ? &ftWrite : NULL) )
{ {
return TRUE; return true;
} }
} }
} }
@@ -1682,7 +1718,7 @@ bool wxFileName::SetTimes(const wxDateTime *dtAccess,
if ( !dtAccess && !dtMod ) if ( !dtAccess && !dtMod )
{ {
// can't modify the creation time anyhow, don't try // can't modify the creation time anyhow, don't try
return TRUE; return true;
} }
// if dtAccess or dtMod is not specified, use the other one (which must be // if dtAccess or dtMod is not specified, use the other one (which must be
@@ -1692,7 +1728,7 @@ bool wxFileName::SetTimes(const wxDateTime *dtAccess,
utm.modtime = dtMod ? dtMod->GetTicks() : dtAccess->GetTicks(); utm.modtime = dtMod ? dtMod->GetTicks() : dtAccess->GetTicks();
if ( utime(GetFullPath().fn_str(), &utm) == 0 ) if ( utime(GetFullPath().fn_str(), &utm) == 0 )
{ {
return TRUE; return true;
} }
#else // other platform #else // other platform
#endif // platforms #endif // platforms
@@ -1700,7 +1736,7 @@ bool wxFileName::SetTimes(const wxDateTime *dtAccess,
wxLogSysError(_("Failed to modify file times for '%s'"), wxLogSysError(_("Failed to modify file times for '%s'"),
GetFullPath().c_str()); GetFullPath().c_str());
return FALSE; return false;
} }
bool wxFileName::Touch() bool wxFileName::Touch()
@@ -1709,12 +1745,12 @@ bool wxFileName::Touch()
// under Unix touching file is simple: just pass NULL to utime() // under Unix touching file is simple: just pass NULL to utime()
if ( utime(GetFullPath().fn_str(), NULL) == 0 ) if ( utime(GetFullPath().fn_str(), NULL) == 0 )
{ {
return TRUE; return true;
} }
wxLogSysError(_("Failed to touch the file '%s'"), GetFullPath().c_str()); wxLogSysError(_("Failed to touch the file '%s'"), GetFullPath().c_str());
return FALSE; return false;
#else // other platform #else // other platform
wxDateTime dtNow = wxDateTime::Now(); wxDateTime dtNow = wxDateTime::Now();
@@ -1756,7 +1792,7 @@ bool wxFileName::GetTimes(wxDateTime *dtAccess,
} }
else else
{ {
ok = FALSE; ok = false;
} }
} }
@@ -1769,7 +1805,7 @@ bool wxFileName::GetTimes(wxDateTime *dtAccess,
if ( dtMod ) if ( dtMod )
ConvertFileTimeToWx(dtMod, ftWrite); ConvertFileTimeToWx(dtMod, ftWrite);
return TRUE; return true;
} }
#elif defined(__UNIX_LIKE__) || defined(__WXMAC__) || (defined(__DOS__) && defined(__WATCOMC__)) #elif defined(__UNIX_LIKE__) || defined(__WXMAC__) || (defined(__DOS__) && defined(__WATCOMC__))
wxStructStat stBuf; wxStructStat stBuf;
@@ -1782,7 +1818,7 @@ bool wxFileName::GetTimes(wxDateTime *dtAccess,
if ( dtCreate ) if ( dtCreate )
dtCreate->Set(stBuf.st_ctime); dtCreate->Set(stBuf.st_ctime);
return TRUE; return true;
} }
#else // other platform #else // other platform
#endif // platforms #endif // platforms
@@ -1790,7 +1826,7 @@ bool wxFileName::GetTimes(wxDateTime *dtAccess,
wxLogSysError(_("Failed to retrieve file times for '%s'"), wxLogSysError(_("Failed to retrieve file times for '%s'"),
GetFullPath().c_str()); GetFullPath().c_str());
return FALSE; return false;
} }
#endif // wxUSE_DATETIME #endif // wxUSE_DATETIME