Correct mistakes in wxStripExtension - correct wxString::npos. Spurred by 1073642 filefn.cpp StripExtension(wxString &)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30838 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Ryan Norton
2004-12-01 23:55:42 +00:00
parent fab7c93158
commit 2cbfa061b4
3 changed files with 11 additions and 25 deletions

View File

@@ -80,16 +80,8 @@ class WXDLLIMPEXP_BASE wxString;
// constants
// ----------------------------------------------------------------------------
#if defined(__VISAGECPP__) && __IBMCPP__ >= 400
// must define this static for VA or else you get multiply defined symbols everywhere
extern const unsigned int wxSTRING_MAXLEN;
#else
// maximum possible length for a string means "take all string" everywhere
// (as sizeof(StringData) is unknown here, we subtract 100)
const unsigned int wxSTRING_MAXLEN = UINT_MAX - 100;
#endif
#define wxSTRING_MAXLEN wxStringBase::npos
// ----------------------------------------------------------------------------
// global data

View File

@@ -361,17 +361,16 @@ void wxStripExtension(wxChar *buffer)
void wxStripExtension(wxString& buffer)
{
size_t len = buffer.Length();
size_t i = len-1;
while (i > 0)
{
if (buffer.GetChar(i) == wxT('.'))
//RN: Be careful about the handling the case where
//buffer.Length() == 0
for(size_t i = buffer.Length() - 1; i != wxString::npos; --i)
{
buffer = buffer.Left(i);
break;
if (buffer.GetChar(i) == wxT('.'))
{
buffer = buffer.Left(i);
break;
}
}
i --;
}
}
// Destructive removal of /./ and /../ stuff

View File

@@ -56,14 +56,9 @@
// static class variables definition
// ---------------------------------------------------------------------------
#if defined(__VISAGECPP__) && __IBMCPP__ >= 400
// must define this static for VA or else you get multiply defined symbols
// everywhere
const unsigned int wxSTRING_MAXLEN = UINT_MAX - 100;
#endif // Visual Age
#if !wxUSE_STL
const size_t wxStringBase::npos = wxSTRING_MAXLEN;
//According to STL _must_ be a -1 size_t
const size_t wxStringBase::npos = (size_t) -1;
#endif
// ----------------------------------------------------------------------------