diff src/pop3/client.c @ 6940:414c9d631a81 HEAD

Replaced t_push/t_pop calls with T_FRAME*() macros.
author Timo Sirainen <tss@iki.fi>
date Wed, 05 Dec 2007 17:47:44 +0200
parents c62f30cc1153
children 7ed926ed7aa4
line wrap: on
line diff
--- a/src/pop3/client.c	Wed Dec 05 17:47:19 2007 +0200
+++ b/src/pop3/client.c	Wed Dec 05 17:47:44 2007 +0200
@@ -295,23 +295,25 @@
 int client_send_line(struct client *client, const char *fmt, ...)
 {
 	va_list va;
-	string_t *str;
 	ssize_t ret;
 
 	if (client->output->closed)
 		return -1;
 
-	t_push();
 	va_start(va, fmt);
 
-	str = t_str_new(256);
-	str_vprintfa(str, fmt, va);
-	str_append(str, "\r\n");
+	T_FRAME(
+		string_t *str;
 
-	ret = o_stream_send(client->output, str_data(str), str_len(str));
+		str = t_str_new(256);
+		str_vprintfa(str, fmt, va);
+		str_append(str, "\r\n");
+
+		ret = o_stream_send(client->output,
+				    str_data(str), str_len(str));
+		i_assert(ret < 0 || (size_t)ret == str_len(str));
+	);
 	if (ret >= 0) {
-		i_assert((size_t)ret == str_len(str));
-
 		if (o_stream_get_buffer_used_size(client->output) <
 		    OUTBUF_THROTTLE_SIZE) {
 			ret = 1;
@@ -333,7 +335,6 @@
 	}
 
 	va_end(va);
-	t_pop();
 	return (int)ret;
 }
 
@@ -388,10 +389,10 @@
 		if (args != NULL)
 			*args++ = '\0';
 
-		t_push();
-		ret = client_command_execute(client, line,
-					     args != NULL ? args : "");
-		t_pop();
+		T_FRAME(
+			ret = client_command_execute(client, line,
+						     args != NULL ? args : "");
+		);
 		if (ret >= 0) {
 			client->bad_counter = 0;
 			if (client->cmd != NULL) {