diff options
| author | dequis <dx@dxzone.com.ar> | 2015-05-08 01:16:37 -0300 | 
|---|---|---|
| committer | dequis <dx@dxzone.com.ar> | 2015-05-28 02:26:30 -0300 | 
| commit | 0864a524c9fd1184874d550216beb49f6a0bef55 (patch) | |
| tree | a2a19d6787dd8b7b479fa43378994233aad839e1 /protocols | |
| parent | faeb521e66d825e68eb7f9eef8f32ddabbfd9c49 (diff) | |
imcb_notify_email: change parameters to take a format string
Saves some messing with g_strdup_printf for the callers, and
flags/sent_at weren't used anyway.
Also check if the mail_notifications setting is enabled
Diffstat (limited to 'protocols')
| -rw-r--r-- | protocols/bee.h | 3 | ||||
| -rw-r--r-- | protocols/bee_user.c | 21 | ||||
| -rw-r--r-- | protocols/jabber/iq.c | 6 | ||||
| -rw-r--r-- | protocols/msn/ns.c | 9 | ||||
| -rw-r--r-- | protocols/purple/purple.c | 4 | ||||
| -rw-r--r-- | protocols/yahoo/yahoo.c | 14 | 
6 files changed, 28 insertions, 29 deletions
| diff --git a/protocols/bee.h b/protocols/bee.h index 1d87f743..afe22c95 100644 --- a/protocols/bee.h +++ b/protocols/bee.h @@ -155,8 +155,7 @@ G_MODULE_EXPORT void imcb_buddy_times(struct im_connection *ic, const char *hand  /* Call when a handle says something. 'flags' and 'sent_at may be just 0. */  G_MODULE_EXPORT void imcb_buddy_msg(struct im_connection *ic, const char *handle, const char *msg, guint32 flags,                                      time_t sent_at); -G_MODULE_EXPORT void imcb_notify_email(struct im_connection *ic, const char *handle, char *msg, guint32 flags, -                                       time_t sent_at); +G_MODULE_EXPORT void imcb_notify_email(struct im_connection *ic, char *format, ...) G_GNUC_PRINTF(2, 3);  /* bee_chat.c */  /* These two functions are to create a group chat. diff --git a/protocols/bee_user.c b/protocols/bee_user.c index 562b31b3..3088de5c 100644 --- a/protocols/bee_user.c +++ b/protocols/bee_user.c @@ -270,13 +270,30 @@ void imcb_buddy_msg(struct im_connection *ic, const char *handle, const char *ms  	}  } -void imcb_notify_email(struct im_connection *ic, const char *handle, char *msg, uint32_t flags, time_t sent_at) +void imcb_notify_email(struct im_connection *ic, char *format, ...)  { +	const char *handle; +	va_list params; +	char *msg; + +	if (!set_getbool(&ic->acc->set, "mail_notifications")) { +		return; +	} + +	va_start(params, format); +	msg = g_strdup_vprintf(format, params); +	va_end(params); + +	/* up to the protocol to set_add this if they want to use this */ +	handle = set_getstr(&ic->acc->set, "notify_handle"); +  	if (handle != NULL) { -		imcb_buddy_msg(ic, handle, msg, flags, sent_at); +		imcb_buddy_msg(ic, handle, msg, 0, 0);  	} else {  		imcb_log(ic, "%s", msg);  	} + +	g_free(msg);  }  void imcb_buddy_typing(struct im_connection *ic, const char *handle, uint32_t flags) diff --git a/protocols/jabber/iq.c b/protocols/jabber/iq.c index 3e1a5dfd..1a915e4a 100644 --- a/protocols/jabber/iq.c +++ b/protocols/jabber/iq.c @@ -809,7 +809,6 @@ xt_status jabber_iq_parse_gmail(struct im_connection *ic, struct xt_node *node,  		struct xt_node *s;  		char *subject = "<no subject>";  		char *sender = "<no sender>"; -		char *msg = NULL;  		guint64 t_time;  		t_time = g_ascii_strtoull(xt_find_attr(c, "date"), NULL, 10); @@ -827,12 +826,9 @@ xt_status jabber_iq_parse_gmail(struct im_connection *ic, struct xt_node *node,  			subject = s->text;  		} -		msg = g_strdup_printf("New mail from %s: %s", sender, subject); - -		imcb_notify_email(ic, set_getstr(&ic->acc->set, "notify_handle"), msg, 0, 0); +		imcb_notify_email(ic, "New mail from %s: %s", sender, subject);  		c = c->next; -		g_free(msg);  	}  	if (l_time && (!jd->gmail_time || l_time > jd->gmail_time)) { diff --git a/protocols/msn/ns.c b/protocols/msn/ns.c index 130f1c91..766c31e1 100644 --- a/protocols/msn/ns.c +++ b/protocols/msn/ns.c @@ -393,11 +393,9 @@ int msn_ns_message(struct msn_data *md, char *msg, int msglen, char **cmd, int n  					char *folders = get_rfc822_header(body, "Folders-Unread:", blen);  					if (inbox && folders) { -						char *msg = g_strdup_printf( +						imcb_notify_email(ic,  						        "INBOX contains %s new messages, plus %s messages in other folders.", inbox,  						        folders); -						imcb_notify_email(ic, set_getstr(&ic->acc->set, "notify_handle"), msg, 0, 0); -						g_free(msg);  					}  					g_free(inbox); @@ -409,10 +407,7 @@ int msn_ns_message(struct msn_data *md, char *msg, int msglen, char **cmd, int n  					char *fromname = get_rfc822_header(body, "From:", blen);  					if (from && fromname) { -						char *msg = g_strdup_printf("Received an e-mail message from %s <%s>.", -						                            fromname, from); -						imcb_notify_email(ic, set_getstr(&ic->acc->set, "notify_handle"), msg, 0, 0); -						g_free(msg); +						imcb_notify_email(ic, "Received an e-mail message from %s <%s>.", fromname, from);  					}  					g_free(from); diff --git a/protocols/purple/purple.c b/protocols/purple/purple.c index 42a5448c..ab958891 100644 --- a/protocols/purple/purple.c +++ b/protocols/purple/purple.c @@ -1260,10 +1260,8 @@ static void *prplcb_notify_email(PurpleConnection *gc, const char *subject, cons                                   const char *to, const char *url)  {  	struct im_connection *ic = purple_ic_by_gc(gc); -	char *msg = g_strdup_printf("Received e-mail from %s for %s: %s <%s>", from, to, subject, url); -	imcb_notify_email(ic, set_getstr(&ic->acc->set, "notify_handle"), msg, 0, 0); -	g_free(msg); +	imcb_notify_email(ic, "Received e-mail from %s for %s: %s <%s>", from, to, subject, url);  	return NULL;  } diff --git a/protocols/yahoo/yahoo.c b/protocols/yahoo/yahoo.c index 2e7c4831..2df454f3 100644 --- a/protocols/yahoo/yahoo.c +++ b/protocols/yahoo/yahoo.c @@ -958,17 +958,11 @@ void ext_yahoo_game_notify(int id, const char *me, const char *who, int stat, co  void ext_yahoo_mail_notify(int id, const char *from, const char *subj, int cnt)  {  	struct im_connection *ic = byahoo_get_ic_by_id(id); -	char *msg; -	if (set_getbool(&ic->acc->set, "mail_notifications")) { -		if (from && subj) { -			msg = g_strdup_printf("Received e-mail message from %s with subject `%s'", from, subj); -		} else if (cnt > 0) { -			msg = g_strdup_printf("Received %d new e-mails", cnt); -		} - -		imcb_notify_email(ic, set_getstr(&ic->acc->set, "notify_handle"), msg, 0, 0); -		g_free(msg); +	if (from && subj) { +		imcb_notify_email(ic, "Received e-mail message from %s with subject `%s'", from, subj); +	} else if (cnt > 0) { +		imcb_notify_email(ic, "Received %d new e-mails", cnt);  	}  } | 
