Added an assert - at this point a backtrace would be more useful than a
2001-08-10 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-utils.c (imap_quote_string): Added an assert - at this point a backtrace would be more useful than a transaction log for debugging. svn path=/trunk/; revision=11902
This commit is contained in:
committed by
Jeffrey Stedfast
parent
1a6ecd207d
commit
a16770842e
@ -1,8 +1,12 @@
|
||||
2001-08-10 Jeffrey Stedfast <fejj@ximian.com>
|
||||
|
||||
* providers/imap/camel-imap-utils.c (imap_quote_string): Added an
|
||||
assert - at this point a backtrace would be more useful than a
|
||||
transaction log for debugging.
|
||||
|
||||
* providers/imap/camel-imap-command.c (imap_command_start): Return
|
||||
FALSE here, not NULL.
|
||||
|
||||
|
||||
* providers/imap/camel-imap-folder.c (imap_rescan): Don't
|
||||
g_strdup() the uid into the trigger_event call.
|
||||
|
||||
|
||||
@ -720,6 +720,7 @@ imap_command_strdup_vprintf (CamelImapStore *store, const char *fmt,
|
||||
strlen (string), string);
|
||||
} else {
|
||||
char *quoted = imap_quote_string (string);
|
||||
|
||||
op += sprintf (op, "%s", quoted);
|
||||
g_free (quoted);
|
||||
}
|
||||
|
||||
@ -549,6 +549,17 @@ imap_parse_body (char **body_p, CamelFolder *folder,
|
||||
*body_p = body;
|
||||
}
|
||||
|
||||
static void
|
||||
strip (char *str, char c)
|
||||
{
|
||||
char *src, *dst;
|
||||
|
||||
for (src = dst = str; *src; src++)
|
||||
if (*src != c)
|
||||
*dst++ = *src;
|
||||
*dst = '\0';
|
||||
}
|
||||
|
||||
/**
|
||||
* imap_quote_string:
|
||||
* @str: the string to quote, which must not contain CR or LF
|
||||
@ -563,6 +574,8 @@ imap_quote_string (const char *str)
|
||||
char *quoted, *q;
|
||||
int len;
|
||||
|
||||
g_assert (strchr (str, '\r') == NULL);
|
||||
|
||||
len = strlen (str);
|
||||
p = str;
|
||||
while ((p = strpbrk (p, "\"\\"))) {
|
||||
@ -572,14 +585,13 @@ imap_quote_string (const char *str)
|
||||
|
||||
quoted = q = g_malloc (len + 3);
|
||||
*q++ = '"';
|
||||
while ((p = strpbrk (str, "\"\\"))) {
|
||||
memcpy (q, str, p - str);
|
||||
q += p - str;
|
||||
*q++ = '\\';
|
||||
for (p = str; *p; ) {
|
||||
if (strchr ("\"\\", *p))
|
||||
*q++ = '\\';
|
||||
*q++ = *p++;
|
||||
str = p;
|
||||
}
|
||||
sprintf (q, "%s\"", str);
|
||||
*q++ = '"';
|
||||
*q = '\0';
|
||||
|
||||
return quoted;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user