commit c00d3332dd0783737b21a10702429515ac81b738
parent a4e905df972a306ed6aae3ecce8993ebba9b3eab
Author: Charles Lehner <cel@celehner.com>
Date: Fri, 17 Jul 2015 09:24:11 -0400
managesieve: handle putting/checking empty scripts
Diffstat:
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/plugins/managesieve/managesieve.c b/src/plugins/managesieve/managesieve.c
@@ -1016,8 +1016,9 @@ void sieve_session_put_script(SieveSession *session, const gchar *filter_name,
sieve_session_data_cb_fn cb, gpointer data)
{
/* TODO: refactor so don't have to copy the whole script here */
- gchar *msg = g_strdup_printf("PUTSCRIPT \"%s\" {%u+}\r\n%s",
- filter_name, len, script_contents);
+ gchar *msg = g_strdup_printf("PUTSCRIPT \"%s\" {%u+}%s%s",
+ filter_name, len, len > 0 ? "\r\n" : "",
+ script_contents);
sieve_queue_send(session, SIEVE_PUTSCRIPT, msg, cb, data);
}
@@ -1026,8 +1027,8 @@ void sieve_session_check_script(SieveSession *session,
gint len, const gchar *script_contents,
sieve_session_data_cb_fn cb, gpointer data)
{
- gchar *msg = g_strdup_printf("CHECKSCRIPT {%u+}\r\n%s",
- len, script_contents);
+ gchar *msg = g_strdup_printf("CHECKSCRIPT {%u+}%s%s",
+ len, len > 0 ? "\r\n" : "", script_contents);
sieve_queue_send(session, SIEVE_PUTSCRIPT, msg, cb, data);
}