diff options
| author | Jeffrey Stedfast <fejj@helixcode.com> | 2000-09-27 01:25:22 +0800 | 
|---|---|---|
| committer | Jeffrey Stedfast <fejj@src.gnome.org> | 2000-09-27 01:25:22 +0800 | 
| commit | 7fcd09767d75639caff1057233ca532060e98f42 (patch) | |
| tree | 3f620c5173fd0af38d29d27857d0ec2f190e8cfe | |
| parent | ed86d76a071415d4af601693574e54ce8f432559 (diff) | |
| download | gsoc2013-evolution-7fcd09767d75639caff1057233ca532060e98f42.tar.gz gsoc2013-evolution-7fcd09767d75639caff1057233ca532060e98f42.tar.zst gsoc2013-evolution-7fcd09767d75639caff1057233ca532060e98f42.zip  | |
Quote the folder name as it may contain spaces.
2000-09-26  Jeffrey Stedfast  <fejj@helixcode.com>
	* providers/imap/camel-imap-folder.c
	(imap_get_message_count_internal): Quote the folder name as it may
	contain spaces.
	(imap_get_subfolder_info_internal): Same.
	* providers/imap/camel-imap-utils.c (imap_parse_list_response): Do
	proper unquoting for folder names.
	(func_get_current_date): Implemented.
	* providers/imap/camel-imap-store.c
	(imap_folder_exists): Quote the folder name as it may have spaces.
	(imap_create): Same.
	(check_current_folder): Same.
svn path=/trunk/; revision=5592
| -rw-r--r-- | camel/ChangeLog | 16 | ||||
| -rw-r--r-- | camel/providers/imap/camel-imap-utils.c | 43 | 
2 files changed, 37 insertions, 22 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index c744399186..4809e2b277 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,19 @@ +2000-09-26  Jeffrey Stedfast  <fejj@helixcode.com> + +	* providers/imap/camel-imap-folder.c +	(imap_get_message_count_internal): Quote the folder name as it may +	contain spaces. +	(imap_get_subfolder_info_internal): Same. + +	* providers/imap/camel-imap-utils.c (imap_parse_list_response): Do +	proper unquoting for folder names. +	(func_get_current_date): Implemented. + +	* providers/imap/camel-imap-store.c +	(imap_folder_exists): Quote the folder name as it may have spaces. +	(imap_create): Same. +	(check_current_folder): Same. +  2000-09-22  Dan Winship  <danw@helixcode.com>  	* providers/imap/camel-imap-folder.c diff --git a/camel/providers/imap/camel-imap-utils.c b/camel/providers/imap/camel-imap-utils.c index 925ae13891..bb110f1f90 100644 --- a/camel/providers/imap/camel-imap-utils.c +++ b/camel/providers/imap/camel-imap-utils.c @@ -111,7 +111,7 @@ func_and (struct _ESExp *f, int argc, struct _ESExpResult **argv, void *data)  	GList **list = data;  	ESExpResult *r; -	fprintf (stderr, "in AND func (argc = %d)\n", argc); +	d(fprintf (stderr, "in AND func (argc = %d)\n", argc));  	if (argc > 0) {  		char **strings;  		int i; @@ -122,14 +122,14 @@ func_and (struct _ESExp *f, int argc, struct _ESExpResult **argv, void *data)  		for (i = 0; i < argc; i++) {  			GList *list_head = *list; -			fprintf (stderr, "\tAND func: %s\n", (*list) ? (char *) (*list)->data : "(null)"); +			d(fprintf (stderr, "\tAND func: %s\n", (*list) ? (char *) (*list)->data : "(null)"));  			strings[argc - (i+1)] = (*list) ? (*list)->data : g_strdup ("");  			*list = g_list_remove_link (*list, *list);  			g_list_free_1 (list_head);  		}  		*list = g_list_prepend (*list, g_strjoinv (" ", strings)); -		fprintf (stderr, "%s\n", (char *) (*list)->data); +		d(fprintf (stderr, "%s\n", (char *) (*list)->data));  		for (i = 0 ; i < argc; i ++)  			g_free (strings[i]); @@ -149,7 +149,7 @@ func_or (struct _ESExp *f, int argc, struct _ESExpResult **argv, void *data)  	GList **list = data;  	ESExpResult *r; -	fprintf (stderr, "in OR func (argc = %d)\n", argc); +	d(fprintf (stderr, "in OR func (argc = %d)\n", argc));  	if (argc == 2 && (*list)->data && (*list)->next && (*list)->next->data) {  		char **strings;  		int i; @@ -161,14 +161,14 @@ func_or (struct _ESExp *f, int argc, struct _ESExpResult **argv, void *data)  		for (i = 0; i < 2; i++) {  			GList *list_head = *list; -			fprintf (stderr, "\tOR func: %s\n", (*list) ? (char *) (*list)->data : "(null)"); +			d(fprintf (stderr, "\tOR func: %s\n", (*list) ? (char *) (*list)->data : "(null)"));  			strings[argc - i] = (*list) ? (*list)->data : g_strdup ("");  			*list = g_list_remove_link (*list, *list);  			g_list_free_1 (list_head);  		}  		*list = g_list_prepend (*list, g_strjoinv (" ", strings)); -		fprintf (stderr, "%s\n", (char *) (*list)->data); +		d(fprintf (stderr, "%s\n", (char *) (*list)->data));  		for (i = 0 ; i < argc + 2; i ++)  			g_free (strings[i]); @@ -188,13 +188,13 @@ func_not (struct _ESExp *f, int argc, struct _ESExpResult **argv, void *data)  	GList **list = data;  	ESExpResult *r; -	fprintf (stderr, "in NOT func\n"); +	d(fprintf (stderr, "in NOT func\n"));  	/* just replace the head of the list with the NOT of it. */  	if (argc > 0) {  		char *term = (*list)->data;  		(*list)->data = g_strdup_printf ("NOT %s", term); -		fprintf (stderr, "%s\n", (char *) (*list)->data); +		d(fprintf (stderr, "%s\n", (char *) (*list)->data));  		g_free (term);  	} @@ -233,7 +233,7 @@ func_lt (struct _ESExp *f, int argc, struct _ESExpResult **argv, void *data)  	time_t date = (time_t) (argv[1])->value.number;  	ESExpResult *r; -	fprintf (stderr, "in less-than func: (%d) (%s) (%d)\n", argc, type, (int) date); +	d(fprintf (stderr, "in less-than func: (%d) (%s) (%d)\n", argc, type, (int) date));  	if (argc > 0) {  		char *string, *date_str; @@ -263,7 +263,7 @@ func_gt (struct _ESExp *f, int argc, struct _ESExpResult **argv, void *data)  	time_t date = (time_t) (argv[1])->value.number;  	ESExpResult *r; -	fprintf (stderr, "in greater-than func: (%d) (%s) (%d)\n", argc, type, (int) date); +	d(fprintf (stderr, "in greater-than func: (%d) (%s) (%d)\n", argc, type, (int) date));  	if (argc > 0) {  		char *string, *date_str; @@ -293,7 +293,7 @@ func_eq (struct _ESExp *f, int argc, struct _ESExpResult **argv, void *data)  	time_t date = (time_t) (argv[1])->value.number;  	ESExpResult *r; -	fprintf (stderr, "in equal-to func: (%d) (%s) (%d)\n", argc, type, (int) date); +	d(fprintf (stderr, "in equal-to func: (%d) (%s) (%d)\n", argc, type, (int) date));  	if (argc > 0) {  		char *string, *date_str; @@ -424,11 +424,10 @@ func_get_received_date (struct _ESExp *f, int argc, struct _ESExpResult **argv,  static ESExpResult *  func_get_current_date (struct _ESExp *f, int argc, struct _ESExpResult **argv, void *data)  { -	/* FIXME: what do I do here? */  	ESExpResult *r; -	r = e_sexp_result_new (ESEXP_RES_BOOL); -	r->value.bool = FALSE; +	r = e_sexp_result_new (ESEXP_RES_INT); +	r->value.number = time (NULL);  	return r;  } @@ -504,9 +503,9 @@ imap_create_flag_list (guint32 flags)  {  	GString *gstr;  	char *flag_list; - +	  	gstr = g_string_new ("("); - +	  	if (flags & CAMEL_MESSAGE_ANSWERED)  		g_string_append (gstr, "\\Answered ");  	if (flags & CAMEL_MESSAGE_DELETED) @@ -517,12 +516,12 @@ imap_create_flag_list (guint32 flags)  		g_string_append (gstr, "\\Flagged ");  	if (flags & CAMEL_MESSAGE_SEEN)  		g_string_append (gstr, "\\Seen "); - +	  	if (gstr->str[gstr->len - 1] == ' ')  		gstr->str[gstr->len - 1] = ')';  	else  		g_string_append_c (gstr, ')'); - +	  	flag_list = gstr->str;  	g_string_free (gstr, FALSE);  	return flag_list; @@ -533,10 +532,10 @@ imap_parse_flag_list (const char *flag_list)  {  	guint32 flags = 0;  	int len; - +	  	if (*flag_list++ != '(')  		return 0; - +	  	while (*flag_list != ')') {  		len = strcspn (flag_list, " )");  		if (!g_strncasecmp (flag_list, "\\Answered", len)) @@ -549,11 +548,11 @@ imap_parse_flag_list (const char *flag_list)  			flags |= CAMEL_MESSAGE_FLAGGED;  		else if (!g_strncasecmp (flag_list, "\\Seen", len))  			flags |= CAMEL_MESSAGE_SEEN; - +		  		flag_list += len;  		if (*flag_list == ' ')  			flag_list++;  	} - +	  	return flags;  }  | 
