Added ReplaceIllegalFileNameChars() for wxString&
This commit is contained in:
parent
23f49f014b
commit
dfc47464d7
|
@ -484,6 +484,7 @@ bool ReplaceIllegalFileNameChars( std::string* aName, int aReplaceChar )
|
|||
{
|
||||
bool changed = false;
|
||||
std::string result;
|
||||
result.reserve( aName->length() );
|
||||
|
||||
for( std::string::iterator it = aName->begin(); it != aName->end(); ++it )
|
||||
{
|
||||
|
@ -507,3 +508,33 @@ bool ReplaceIllegalFileNameChars( std::string* aName, int aReplaceChar )
|
|||
|
||||
return changed;
|
||||
}
|
||||
|
||||
|
||||
bool ReplaceIllegalFileNameChars( wxString& aName, int aReplaceChar )
|
||||
{
|
||||
bool changed = false;
|
||||
wxString result;
|
||||
result.reserve( aName.Length() );
|
||||
|
||||
for( wxString::iterator it = aName.begin(); it != aName.end(); ++it )
|
||||
{
|
||||
if( strchr( illegalFileNameChars, *it ) )
|
||||
{
|
||||
if( aReplaceChar )
|
||||
result += aReplaceChar;
|
||||
else
|
||||
result += wxString::Format( "%%%02x", *it );
|
||||
|
||||
changed = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
result += *it;
|
||||
}
|
||||
}
|
||||
|
||||
if( changed )
|
||||
aName = result;
|
||||
|
||||
return changed;
|
||||
}
|
||||
|
|
|
@ -172,6 +172,7 @@ wxString GetIllegalFileNameWxChars();
|
|||
* @return true if any characters have been replaced in \a aName.
|
||||
*/
|
||||
bool ReplaceIllegalFileNameChars( std::string* aName, int aReplaceChar = 0 );
|
||||
bool ReplaceIllegalFileNameChars( wxString& aName, int aReplaceChar = 0 );
|
||||
|
||||
#ifndef HAVE_STRTOKR
|
||||
// common/strtok_r.c optionally:
|
||||
|
|
Loading…
Reference in New Issue