You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.5 KiB
62 lines
1.5 KiB
--- kdepim/libkmime/kmime_util.cpp.addquotes 2012-05-28 22:58:31.257167175 +0200
|
|
+++ kdepim/libkmime/kmime_util.cpp 2012-05-29 20:02:19.679233274 +0200
|
|
@@ -436,49 +436,26 @@
|
|
|
|
void removeQuots(TQCString &str)
|
|
{
|
|
- bool inQuote=false;
|
|
-
|
|
- for (int i=0; i < (int)str.length(); i++) {
|
|
- if (str[i] == '"') {
|
|
- str.remove(i,1);
|
|
- i--;
|
|
- inQuote = !inQuote;
|
|
- } else {
|
|
- if (inQuote && (str[i] == '\\'))
|
|
- str.remove(i,1);
|
|
- }
|
|
- }
|
|
+ str.replace(TQRegExp("\\\""), "\"");
|
|
+ str.replace(TQRegExp("\\\\"), "\\");
|
|
}
|
|
|
|
|
|
void removeQuots(TQString &str)
|
|
{
|
|
- bool inQuote=false;
|
|
-
|
|
- for (int i=0; i < (int)str.length(); i++) {
|
|
- if (str[i] == '"') {
|
|
- str.remove(i,1);
|
|
- i--;
|
|
- inQuote = !inQuote;
|
|
- } else {
|
|
- if (inQuote && (str[i] == '\\'))
|
|
- str.remove(i,1);
|
|
- }
|
|
- }
|
|
+ str.replace(TQRegExp("\\\""), "\"");
|
|
+ str.replace(TQRegExp("\\\\"), "\\");
|
|
}
|
|
|
|
|
|
void addQuotes(TQCString &str, bool forceQuotes)
|
|
{
|
|
bool needsQuotes=false;
|
|
- for (unsigned int i=0; i < str.length(); i++) {
|
|
- if (strchr("()<>@,.;:[]=\\\"",str[i])!=0)
|
|
- needsQuotes = true;
|
|
- if (str[i]=='\\' || str[i]=='\"') {
|
|
- str.insert(i, '\\');
|
|
- i++;
|
|
- }
|
|
- }
|
|
+ if ( TQString( str ) .contains( TQRegExp( TQString( "\"|\\\\|=|\\]|\\[|:|;|,|\\.|,|@|<|>|\\)|\\(" ) ) ) )
|
|
+ needsQuotes = true;
|
|
+
|
|
+ str.replace(TQRegExp("\\"), "\\\\");
|
|
+ str.replace(TQRegExp("\""), "\\\"");
|
|
|
|
if (needsQuotes || forceQuotes) {
|
|
str.insert(0,'\"');
|