Made iniconf compile on BC++ 5.01 (involved adding Set... accessors to wxConfigBase);

added SafeWord patch to Dialog Editor


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6634 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2000-03-12 11:29:13 +00:00
parent 10d432b1b4
commit 8f19c916dc
3 changed files with 43 additions and 13 deletions

View File

@@ -108,7 +108,7 @@ bool wxResourceTableWithSaving::SaveResource(wxTextOutputStream& stream, wxItemR
}
stream << " style = '" << styleBuf << "',\\\n";
stream << " title = '" << item->GetTitle() << "',\\\n";
stream << " title = " << SafeWord(item->GetTitle()) << ",\\\n";
stream << " id = " << item->GetId() << ",\\\n";
stream << " x = " << item->GetX() << ", y = " << item->GetY();
stream << ", width = " << item->GetWidth() << ", height = " << item->GetHeight();
@@ -576,17 +576,35 @@ char *SafeString(const wxString& s)
}
}
// Returns quoted string or ''
// Returns quoted string or '' : convert " to \"
char *SafeWord(const wxString& s)
{
if (s == "")
return "''";
else
{
strcpy(wxBuffer, "'");
strcat(wxBuffer, (const char*) s);
strcat(wxBuffer, "'");
return wxBuffer;
}
const char *cp;
char *dp;
if (s == "")
return "''";
else
{
dp = wxBuffer;
cp = s.c_str();
*dp++ = '\'';
while(*cp != 0) {
if(*cp == '"') {
*dp++ = '\\';
*dp++ = '"';
} else if(*cp == '\'') {
*dp++ = '\\';
*dp++ = '\'';
} else
*dp++ = *cp;
cp++;
}
*dp++ = '\'';
*dp++ = 0;
return wxBuffer;
}
}