Index: misc.cpp =================================================================== RCS file: /projects/pgadmin3/src/utils/misc.cpp,v retrieving revision 1.54 retrieving revision 1.55 diff -Lsrc/utils/misc.cpp -Lsrc/utils/misc.cpp -u -w -r1.54 -r1.55 --- src/utils/misc.cpp +++ src/utils/misc.cpp @@ -249,41 +249,40 @@ wxString qtIdent(const wxString& value) { wxString result = value; + bool needQuoting=false; if (result.Length() == 0) return result; int pos = 0; -#if 0 - if (ScanKeywordLookup(value.ToAscii())) - { - result.Append(wxT("\"")); - result.Prepend(wxT("\"")); - return result; - } -#endif // Replace Double Quotes result.Replace(wxT("\""), wxT("\"\"")); // Is it a number? - if (result.IsNumber()) { - result.Append(wxT("\"")); - result.Prepend(wxT("\"")); - return result; - } else { - while (pos < (int)result.length()) { + if (result.IsNumber()) + needQuoting = true; + else + { + while (pos < (int)result.length()) + { if (!((result.GetChar(pos) >= '0') && (result.GetChar(pos) <= '9')) && !((result.GetChar(pos) >= 'a') && (result.GetChar(pos) <= 'z')) && - !(result.GetChar(pos) == '_')){ - - result.Append(wxT("\"")); - result.Prepend(wxT("\"")); - return result; + !(result.GetChar(pos) == '_')) + { + needQuoting = true; + break; } pos++; } } + + if (!needQuoting && ScanKeywordLookup(value.ToAscii())) + needQuoting = true; + + if (needQuoting) + return wxT("\"") + result + wxT("\""); + else return result; }