changeset 7226:e6693a0ec8e1 HEAD

Renamed T_FRAME_BEGIN/END to T_BEGIN/END. Removed T_FRAME() macro and replaced them with T_BEGIN/END calls. T_FRAME() made it difficult to debug code with gdb.
author Timo Sirainen <tss@iki.fi>
date Mon, 11 Feb 2008 20:17:00 +0200
parents 0fe19a3d82a3
children d64b898066a9
files src/auth/auth-client-connection.c src/auth/auth-master-connection.c src/auth/auth-request.c src/auth/auth-worker-client.c src/auth/auth-worker-server.c src/auth/db-ldap.c src/auth/db-passwd-file.c src/auth/main.c src/deliver/deliver.c src/dict/dict-server.c src/imap/client.c src/imap/cmd-list.c src/imap/imap-fetch.c src/imap/imap-thread.c src/imap/mail-storage-callbacks.c src/lib-auth/auth-server-connection.c src/lib-auth/auth-server-request.c src/lib-dict/dict-client.c src/lib-dict/dict-sql.c src/lib-dict/dict.c src/lib-imap/imap-bodystructure.c src/lib-imap/imap-match.c src/lib-imap/imap-quote.c src/lib-index/mail-cache-fields.c src/lib-index/mail-cache-lookup.c src/lib-index/mail-cache-transaction.c src/lib-index/mail-cache.c src/lib-index/mail-index-fsck.c src/lib-index/mail-index-map.c src/lib-index/mail-index-sync-update.c src/lib-index/mail-index-sync.c src/lib-index/mail-index-view-sync.c src/lib-index/mail-transaction-log-append.c src/lib-index/mail-transaction-log-file.c src/lib-index/mail-transaction-log-view.c src/lib-index/mailbox-list-index-sync.c src/lib-index/mailbox-list-index.c src/lib-mail/message-address.c src/lib-mail/message-date.c src/lib-mail/message-decoder.c src/lib-mail/message-parser.c src/lib-mail/message-search.c src/lib-settings/settings.c src/lib-sql/driver-mysql.c src/lib-sql/driver-pgsql.c src/lib-storage/index/cydir/cydir-save.c src/lib-storage/index/dbox/dbox-file.c src/lib-storage/index/dbox/dbox-index.c src/lib-storage/index/dbox/dbox-save.c src/lib-storage/index/dbox/dbox-sync-file.c src/lib-storage/index/dbox/dbox-sync-rebuild.c src/lib-storage/index/index-mail-headers.c src/lib-storage/index/index-mail.c src/lib-storage/index/index-search.c src/lib-storage/index/index-sort.c src/lib-storage/index/index-storage.c src/lib-storage/index/maildir/maildir-copy.c src/lib-storage/index/maildir/maildir-keywords.c src/lib-storage/index/maildir/maildir-save.c src/lib-storage/index/maildir/maildir-storage.c src/lib-storage/index/maildir/maildir-sync.c src/lib-storage/index/maildir/maildir-uidlist.c src/lib-storage/index/maildir/maildir-util.c src/lib-storage/index/mbox/mbox-save.c src/lib-storage/index/mbox/mbox-sync-parse.c src/lib-storage/index/mbox/mbox-sync-update.c src/lib-storage/index/mbox/mbox-sync.c src/lib-storage/list/index-mailbox-list-sync.c src/lib-storage/list/mailbox-list-fs-iter.c src/lib-storage/list/mailbox-list-maildir-iter.c src/lib-storage/list/mailbox-list-maildir.c src/lib-storage/list/mailbox-list-subscriptions.c src/lib-storage/mail-namespace.c src/lib-storage/mail-search.c src/lib-storage/mail-storage.c src/lib-storage/mailbox-list.c src/lib-storage/mailbox-tree.c src/lib/compat.c src/lib/data-stack.h src/lib/failures.c src/lib/file-copy.c src/lib/file-dotlock.c src/lib/imem.c src/lib/ioloop.c src/lib/mkdir-parents.c src/lib/module-dir.c src/lib/nfs-workarounds.c src/lib/restrict-access.c src/lib/strfuncs.c src/lib/unlink-old-files.c src/login-common/client-common.c src/login-common/ssl-proxy-gnutls.c src/master/auth-process.c src/master/log.c src/master/login-process.c src/master/main.c src/plugins/acl/acl-api.c src/plugins/acl/acl-backend-vfile-acllist.c src/plugins/acl/acl-backend-vfile.c src/plugins/acl/acl-backend.c src/plugins/acl/acl-cache.c src/plugins/acl/acl-mailbox-list.c src/plugins/acl/acl-storage.c src/plugins/convert/convert-storage.c src/plugins/expire/expire-plugin.c src/plugins/expire/expire-tool.c src/plugins/fts-squat/squat-trie.c src/plugins/fts-squat/squat-uidlist.c src/plugins/fts/fts-api.c src/plugins/fts/fts-search.c src/plugins/fts/fts-storage.c src/plugins/mail-log/mail-log-plugin.c src/plugins/quota/quota-dict.c src/plugins/quota/quota-dirsize.c src/plugins/quota/quota-fs.c src/plugins/quota/quota-maildir.c src/pop3/client.c src/tests/test-lib.c src/util/idxview.c src/util/listview.c src/util/logview.c
diffstat 121 files changed, 466 insertions(+), 476 deletions(-) [+]
line wrap: on
line diff
--- a/src/auth/auth-client-connection.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/auth/auth-client-connection.c	Mon Feb 11 20:17:00 2008 +0200
@@ -245,10 +245,10 @@
 
         conn->refcount++;
 	while ((line = i_stream_next_line(conn->input)) != NULL) {
-		T_FRAME(
+		T_BEGIN {
 			ret = auth_client_handle_line(conn, line);
 			safe_memset(line, 0, strlen(line));
-		);
+		} T_END;
 
 		if (!ret) {
 			struct auth_client_connection *tmp_conn = conn;
--- a/src/auth/auth-master-connection.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/auth/auth-master-connection.c	Mon Feb 11 20:17:00 2008 +0200
@@ -216,9 +216,9 @@
 	}
 
 	while ((line = i_stream_next_line(conn->input)) != NULL) {
-		T_FRAME(
+		T_BEGIN {
 			ret = auth_master_input_line(conn, line);
-		);
+		} T_END;
 		if (!ret) {
 			auth_master_connection_destroy(&conn);
 			return;
--- a/src/auth/auth-request.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/auth/auth-request.c	Mon Feb 11 20:17:00 2008 +0200
@@ -1454,9 +1454,9 @@
 		return;
 
 	va_start(va, format);
-	T_FRAME(
+	T_BEGIN {
 		i_info("%s", get_log_str(auth_request, subsystem, format, va));
-	);
+	} T_END;
 	va_end(va);
 }
 
@@ -1470,9 +1470,9 @@
 		return;
 
 	va_start(va, format);
-	T_FRAME(
+	T_BEGIN {
 		i_info("%s", get_log_str(auth_request, subsystem, format, va));
-	);
+	} T_END;
 	va_end(va);
 }
 
@@ -1483,8 +1483,8 @@
 	va_list va;
 
 	va_start(va, format);
-	T_FRAME(
+	T_BEGIN {
 		i_error("%s", get_log_str(auth_request, subsystem, format, va));
-	);
+	} T_END;
 	va_end(va);
 }
--- a/src/auth/auth-worker-client.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/auth/auth-worker-client.c	Mon Feb 11 20:17:00 2008 +0200
@@ -441,9 +441,9 @@
 
         client->refcount++;
 	while ((line = i_stream_next_line(client->input)) != NULL) {
-		T_FRAME(
+		T_BEGIN {
 			ret = auth_worker_handle_line(client, line);
-		);
+		} T_END;
 
 		if (!ret) {
 			auth_worker_client_destroy(&client);
--- a/src/auth/auth-worker-server.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/auth/auth-worker-server.c	Mon Feb 11 20:17:00 2008 +0200
@@ -118,10 +118,10 @@
 	requests = array_get_modifiable(&conn->requests, &count);
 	for (i = 0; i < count; i++) {
 		if (requests[i].id != 0) {
-			T_FRAME(
+			T_BEGIN {
 				requests[i].callback(requests[i].auth_request,
 						     reply);
-			);
+			} T_END;
 			auth_request_unref(&requests[i].auth_request);
 		}
 	}
@@ -225,11 +225,11 @@
 		if (line == NULL)
 			continue;
 
-		T_FRAME(
+		T_BEGIN {
 			id = (unsigned int)strtoul(t_strcut(id_str, '\t'),
 						   NULL, 10);
 			request = auth_worker_request_lookup(conn, id);
-		);
+		} T_END;
 
 		if (request != NULL)
 			auth_worker_handle_request(conn, request, line + 1);
--- a/src/auth/db-ldap.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/auth/db-ldap.c	Mon Feb 11 20:17:00 2008 +0200
@@ -516,9 +516,9 @@
 		res = NULL;
 	}
 
-	T_FRAME(
+	T_BEGIN {
 		request->callback(conn, request, res);
-	);
+	} T_END;
 
 	if (i > 0) {
 		/* see if there are timed out requests */
--- a/src/auth/db-passwd-file.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/auth/db-passwd-file.c	Mon Feb 11 20:17:00 2008 +0200
@@ -187,7 +187,7 @@
 		if (*line == '\0' || *line == ':' || *line == '#')
 			continue; /* no username or comment */
 
-		T_FRAME(
+		T_BEGIN {
 			const char *const *args = t_strsplit(line, ":");
 			if (args[1] != NULL) {
 				/* at least username+password */
@@ -196,7 +196,7 @@
 				/* only username */
 				passwd_file_add(pw, args[0], NULL, &no_args);
 			}
-		);
+		} T_END;
 	}
 	i_stream_destroy(&input);
 
--- a/src/auth/main.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/auth/main.c	Mon Feb 11 20:17:00 2008 +0200
@@ -321,10 +321,10 @@
 		argv++;
 	}
 
-	T_FRAME(
+	T_BEGIN {
 		drop_privileges();
 		main_init(foreground);
-	);
+	} T_END;
         io_loop_run(ioloop);
 	main_deinit();
 
--- a/src/deliver/deliver.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/deliver/deliver.c	Mon Feb 11 20:17:00 2008 +0200
@@ -817,9 +817,9 @@
 			"destination user parameter (-d user) not given");
 	}
 
-	T_FRAME(
+	T_BEGIN {
 		config_file_init(config_path);
-	);
+	} T_END;
 	open_logfile(user);
 
 	if (getenv("MAIL_DEBUG") != NULL)
--- a/src/dict/dict-server.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/dict/dict-server.c	Mon Feb 11 20:17:00 2008 +0200
@@ -92,12 +92,12 @@
 	while ((ret = dict_iterate(ctx, &key, &value)) > 0) {
 		/* FIXME: we don't want to keep blocking here. set a flush
 		   function and send the replies there when buffer gets full */
-		T_FRAME(
+		T_BEGIN {
 			const char *reply;
 
 			reply = t_strdup_printf("%s\t%s\n", key, value);
 			o_stream_send_str(conn->output, reply);
-		);
+		} T_END;
 	}
 	dict_iterate_deinit(ctx);
 
@@ -399,9 +399,9 @@
 		ret = 0;
 		for (i = 0; cmds[i].cmd != '\0'; i++) {
 			if (cmds[i].cmd == *line) {
-				T_FRAME(
+				T_BEGIN {
 					ret = cmds[i].func(conn, line + 1);
-				);
+				} T_END;
 				break;
 			}
 		}
--- a/src/imap/client.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/imap/client.c	Mon Feb 11 20:17:00 2008 +0200
@@ -642,9 +642,9 @@
 
 	client->handling_input = TRUE;
 	do {
-		T_FRAME(
+		T_BEGIN {
 			ret = client_handle_next_command(client, &remove_io);
-		);
+		} T_END;
 		if (ret)
 			handled_commands = TRUE;
 	} while (ret && !client->disconnected && client->io != NULL);
--- a/src/imap/cmd-list.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/imap/cmd-list.c	Mon Feb 11 20:17:00 2008 +0200
@@ -361,9 +361,9 @@
 
 		if (ctx->status_items != 0 &&
 		    (flags & (MAILBOX_NONEXISTENT | MAILBOX_NOSELECT)) == 0) {
-			T_FRAME(
+			T_BEGIN {
 				list_send_status(ctx, name);
-			);
+			} T_END;
 		}
 
 		if (client_send_line(ctx->cmd->client, str_c(str)) == 0) {
@@ -671,16 +671,16 @@
 	}
 	for (; ctx->ns != NULL; ctx->ns = ctx->ns->next) {
 		if (ctx->list_iter == NULL) {
-			T_FRAME(
+			T_BEGIN {
 				list_namespace_init(ctx);
-			);
+			} T_END;
 			if (ctx->list_iter == NULL)
 				continue;
 		}
 
-		T_FRAME(
+		T_BEGIN {
 			ret = list_namespace_mailboxes(ctx);
-		);
+		} T_END;
 		if (ret < 0) {
 			client_send_list_error(cmd, ctx->ns->list);
 			return TRUE;
--- a/src/imap/imap-fetch.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/imap/imap-fetch.c	Mon Feb 11 20:17:00 2008 +0200
@@ -302,13 +302,13 @@
 			}
 
 			i_assert(ctx->cur_input == NULL);
-			T_FRAME(
+			T_BEGIN {
 				const struct imap_fetch_context_handler *h =
 					&handlers[ctx->cur_handler];
 
 				ret = h->handler(ctx, ctx->cur_mail,
 						 h->context);
-			);
+			} T_END;
 
 			if (ret == 0)
 				return 0;
--- a/src/imap/imap-thread.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/imap/imap-thread.c	Mon Feb 11 20:17:00 2008 +0200
@@ -140,9 +140,9 @@
 						 wanted_headers);
 	mail = mail_alloc(ctx->t, MAIL_FETCH_DATE, headers_ctx);
 	while (mailbox_search_next(ctx->search_ctx, mail) > 0) {
-		T_FRAME(
+		T_BEGIN {
 			mail_thread_input(ctx, mail);
-		);
+		} T_END;
 	}
 
 	mail_free(&mail);
@@ -699,9 +699,9 @@
 			mail_set_seq(ctx->mail, seq);
 			if (mail_get_first_header(ctx->mail, "subject",
 						  &subject) > 0) {
-				T_FRAME(
+				T_BEGIN {
 					add_base_subject(ctx, subject, node);
-				);
+				} T_END;
 			}
 		}
 	}
@@ -971,7 +971,7 @@
 	merge_subject_threads(ctx);
 
 	/* (6) Sort and send replies */
-	T_FRAME(
+	T_BEGIN {
 		send_roots(ctx);
-	);
+	} T_END;
 }
--- a/src/imap/mail-storage-callbacks.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/imap/mail-storage-callbacks.c	Mon Feb 11 20:17:00 2008 +0200
@@ -13,13 +13,13 @@
 	if (o_stream_get_buffer_used_size(client->output) != 0)
 		return;
 
-	T_FRAME(
+	T_BEGIN {
 		const char *str;
 
 		str = t_strconcat("* OK ", text, "\r\n", NULL);
 		o_stream_send_str(client->output, str);
 		o_stream_flush(client->output);
-	);
+	} T_END;
 }
 
 static void notify_no(struct mailbox *mailbox ATTR_UNUSED,
@@ -30,13 +30,13 @@
 	if (o_stream_get_buffer_used_size(client->output) != 0)
 		return;
 
-	T_FRAME(
+	T_BEGIN {
 		const char *str;
 
 		str = t_strconcat("* NO ", text, "\r\n", NULL);
 		o_stream_send_str(client->output, str);
 		o_stream_flush(client->output);
-	);
+	} T_END;
 }
 
 struct mail_storage_callbacks mail_storage_callbacks = {
--- a/src/lib-auth/auth-server-connection.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-auth/auth-server-connection.c	Mon Feb 11 20:17:00 2008 +0200
@@ -191,9 +191,9 @@
 
 	conn->refcount++;
 	while ((line = i_stream_next_line(conn->input)) != NULL) {
-		T_FRAME(
+		T_BEGIN {
 			ret = auth_client_input_line(conn, line);
-		);
+		} T_END;
 
 		if (!ret) {
 			auth_server_connection_destroy(&conn, FALSE);
--- a/src/lib-auth/auth-server-request.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-auth/auth-server-request.c	Mon Feb 11 20:17:00 2008 +0200
@@ -269,11 +269,11 @@
 				    request);
 			request->next_conn = next;
 
-			T_FRAME(
+			T_BEGIN {
 				(void)auth_server_send_new_request(next,
 								   request,
 								   &error);
-			);
+			} T_END;
 			return TRUE;
 		}
 	}
@@ -365,7 +365,7 @@
 	request->callback = callback;
 	request->context = context;
 
-	T_FRAME(
+	T_BEGIN {
 		if (auth_server_send_new_request(conn, request, error_r) == 0) {
 			hash_insert(conn->requests, POINTER_CAST(request->id),
 				    request);
@@ -373,7 +373,7 @@
 			auth_client_request_free(request);
 			request = NULL;
 		}
-	);
+	} T_END;
 	return request;
 }
 
--- a/src/lib-dict/dict-client.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-dict/dict-client.c	Mon Feb 11 20:17:00 2008 +0200
@@ -168,7 +168,7 @@
 	if (ctx->failed)
 		return -1;
 
-	T_FRAME(
+	T_BEGIN {
 		const char *query;
 
 		query = t_strdup_printf("%c%u\n", DICT_PROTOCOL_CMD_BEGIN,
@@ -177,7 +177,7 @@
 			ctx->failed = TRUE;
 		else
 			ctx->connect_counter = dict->connect_counter;
-	);
+	} T_END;
 
 	return ctx->failed ? -1 : 0;
 }
@@ -341,13 +341,13 @@
 	const char *line;
 	int ret;
 
-	T_FRAME(
+	T_BEGIN {
 		const char *query;
 
 		query = t_strdup_printf("%c%s\n", DICT_PROTOCOL_CMD_LOOKUP,
 					dict_client_escape(key));
 		ret = client_dict_send_query(dict, query);
-	);
+	} T_END;
 	if (ret < 0)
 		return -1;
 
@@ -380,14 +380,14 @@
 	ctx->ctx.dict = _dict;
 	ctx->pool = pool_alloconly_create("client dict iteration", 512);
 
-	T_FRAME(
+	T_BEGIN {
 		const char *query;
 
 		query = t_strdup_printf("%c%d\t%s\n", DICT_PROTOCOL_CMD_ITERATE,
 					flags, dict_client_escape(path));
 		if (client_dict_send_query(dict, query) < 0)
 			ctx->failed = TRUE;
-	);
+	} T_END;
 	return &ctx->ctx;
 }
 
@@ -459,7 +459,7 @@
 	struct client_dict *dict = (struct client_dict *)_ctx->dict;
 	int ret = ctx->failed ? -1 : 0;
 
-	if (ctx->sent_begin) T_FRAME_BEGIN {
+	if (ctx->sent_begin) T_BEGIN {
 		const char *query, *line;
 
 		query = t_strdup_printf("%c%u\n", !ctx->failed ?
@@ -473,7 +473,7 @@
 			if (line == NULL || *line != DICT_PROTOCOL_REPLY_OK)
 				ret = -1;
 		}
-	} T_FRAME_END;
+	} T_END;
 
 	i_free(ctx);
 	return ret;
@@ -485,13 +485,13 @@
 	struct client_dict_transaction_context *ctx =
 		(struct client_dict_transaction_context *)_ctx;
 
-	if (ctx->sent_begin) T_FRAME_BEGIN {
+	if (ctx->sent_begin) T_BEGIN {
 		const char *query;
 
 		query = t_strdup_printf("%c%u\n", DICT_PROTOCOL_CMD_ROLLBACK,
 					ctx->id);
 		(void)client_dict_send_transaction_query(ctx, query);
-	} T_FRAME_END;
+	} T_END;
 
 	i_free(ctx);
 }
@@ -502,7 +502,7 @@
 	struct client_dict_transaction_context *ctx =
 		(struct client_dict_transaction_context *)_ctx;
 
-	T_FRAME(
+	T_BEGIN {
 		const char *query;
 
 		query = t_strdup_printf("%c%u\t%s\t%s\n",
@@ -510,7 +510,7 @@
 					dict_client_escape(key),
 					dict_client_escape(value));
 		(void)client_dict_send_transaction_query(ctx, query);
-	);
+	} T_END;
 }
 
 static void client_dict_unset(struct dict_transaction_context *_ctx,
@@ -519,14 +519,14 @@
 	struct client_dict_transaction_context *ctx =
 		(struct client_dict_transaction_context *)_ctx;
 
-	T_FRAME(
+	T_BEGIN {
 		const char *query;
 
 		query = t_strdup_printf("%c%u\t%s\n",
 					DICT_PROTOCOL_CMD_UNSET, ctx->id,
 					dict_client_escape(key));
 		(void)client_dict_send_transaction_query(ctx, query);
-	);
+	} T_END;
 }
 
 static void client_dict_atomic_inc(struct dict_transaction_context *_ctx,
@@ -535,13 +535,13 @@
 	struct client_dict_transaction_context *ctx =
 		(struct client_dict_transaction_context *)_ctx;
 
-	T_FRAME(
+	T_BEGIN {
 		const char *query;
 		query = t_strdup_printf("%c%u\t%s\t%lld\n",
 					DICT_PROTOCOL_CMD_ATOMIC_INC,
 					ctx->id, dict_client_escape(key), diff);
 		(void)client_dict_send_transaction_query(ctx, query);
-	);
+	} T_END;
 }
 
 struct dict dict_driver_client = {
--- a/src/lib-dict/dict-sql.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-dict/dict-sql.c	Mon Feb 11 20:17:00 2008 +0200
@@ -81,9 +81,9 @@
 
 	input = i_stream_create_fd(fd, (size_t)-1, FALSE);
 	while ((line = i_stream_read_next_line(input)) != NULL) {
-		T_FRAME(
+		T_BEGIN {
 			sql_dict_config_parse_line(dict, line);
-		);
+		} T_END;
 	}
 	i_stream_destroy(&input);
 	(void)close(fd);
@@ -178,7 +178,7 @@
 		return -1;
 	}
 
-	T_FRAME(
+	T_BEGIN {
 		string_t *query = t_str_new(256);
 		str_printfa(query, "SELECT %s FROM %s WHERE %s = '%s'",
 			    dict->select_field, dict->table,
@@ -190,7 +190,7 @@
 				    sql_escape_string(dict->db, dict->username));
 		}
 		result = sql_query_s(dict->db, str_c(query));
-	);
+	} T_END;
 
 	ret = sql_result_next_row(result);
 	if (ret <= 0)
@@ -219,7 +219,7 @@
 		ctx->result = NULL;
 		return &ctx->ctx;
 	}
-	T_FRAME(
+	T_BEGIN {
 		string_t *query = t_str_new(256);
 		str_printfa(query, "SELECT %s, %s FROM %s "
 			    "WHERE %s LIKE '%s/%%'",
@@ -242,7 +242,7 @@
 		else if ((flags & DICT_ITERATE_FLAG_SORT_BY_VALUE) != 0)
 			str_printfa(query, " ORDER BY %s", dict->select_field);
 		ctx->result = sql_query_s(dict->db, str_c(query));
-	);
+	} T_END;
 
 	return &ctx->ctx;
 }
@@ -360,12 +360,12 @@
 		return;
 	}
 
-	T_FRAME(
+	T_BEGIN {
 		const char *query;
 
 		query = sql_dict_set_query(dict, key, value, priv);
 		sql_update(ctx->sql_ctx, query);
-	);
+	} T_END;
 }
 
 static const char *
@@ -400,12 +400,12 @@
 		return;
 	}
 
-	T_FRAME(
+	T_BEGIN {
 		const char *query;
 
 		query = sql_dict_unset_query(dict, key, priv);
 		sql_update(ctx->sql_ctx, query);
-	);
+	} T_END;
 }
 
 static const char *
@@ -445,12 +445,12 @@
 		return;
 	}
 
-	T_FRAME(
+	T_BEGIN {
 		const char *query;
 
 		query = sql_dict_atomic_inc_query(dict, key, diff, priv);
 		sql_update(ctx->sql_ctx, query);
-	);
+	} T_END;
 }
 
 static struct dict sql_dict = {
--- a/src/lib-dict/dict.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-dict/dict.c	Mon Feb 11 20:17:00 2008 +0200
@@ -63,12 +63,12 @@
 		return NULL;
 	}
 
-	T_FRAME(
+	T_BEGIN {
 		name = t_strdup_until(uri, p);
 		dict = dict_driver_lookup(name);
 		if (dict == NULL)
 			i_error("Unknown dict module: %s", name);
-	);
+	} T_END;
 
 	return dict == NULL ? NULL :
 		dict->v.init(dict, p+1, value_type, username);
--- a/src/lib-imap/imap-bodystructure.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-imap/imap-bodystructure.c	Mon Feb 11 20:17:00 2008 +0200
@@ -267,9 +267,9 @@
 	part_data = part->context;
 
 	if (strncasecmp(hdr->name, "Content-", 8) == 0) {
-		T_FRAME(
+		T_BEGIN {
 			parse_content_header(part_data, hdr, pool);
-		);
+		} T_END;
 	}
 
 	if (parent_rfc822) {
--- a/src/lib-imap/imap-match.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-imap/imap-match.c	Mon Feb 11 20:17:00 2008 +0200
@@ -161,10 +161,10 @@
 		return imap_match_init_multiple_real(pool, patterns,
 						     inboxcase, separator);
 	}
-	T_FRAME(
+	T_BEGIN {
 		glob = imap_match_init_multiple_real(pool, patterns,
 						     inboxcase, separator);
-	);
+	} T_END;
 	return glob;
 }
 
--- a/src/lib-imap/imap-quote.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-imap/imap-quote.c	Mon Feb 11 20:17:00 2008 +0200
@@ -94,13 +94,13 @@
 	if (value == NULL)
 		return "NIL";
 
-	T_FRAME(
+	T_BEGIN {
 		   string_t *str;
 
 		   str = t_str_new(value_len + MAX_INT_STRLEN + 5);
 		   imap_quote_append(str, value, value_len, TRUE);
 		   ret = p_strndup(pool, str_data(str), str_len(str));
-	);
+	} T_END;
 
 	return ret;
 }
--- a/src/lib-index/mail-cache-fields.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-index/mail-cache-fields.c	Mon Feb 11 20:17:00 2008 +0200
@@ -476,18 +476,18 @@
 	int ret;
 
 	if (cache->locked) {
-		T_FRAME(
+		T_BEGIN {
 			ret = mail_cache_header_fields_update_locked(cache);
-		);
+		} T_END;
 		return ret;
 	}
 
 	if (mail_cache_lock(cache, NULL) <= 0)
 		return -1;
 
-	T_FRAME(
+	T_BEGIN {
 		ret = mail_cache_header_fields_update_locked(cache);
-	);
+	} T_END;
 	if (mail_cache_unlock(cache) < 0)
 		ret = -1;
 	return ret;
--- a/src/lib-index/mail-cache-lookup.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-index/mail-cache-lookup.c	Mon Feb 11 20:17:00 2008 +0200
@@ -539,9 +539,9 @@
 {
 	int ret;
 
-	T_FRAME(
+	T_BEGIN {
 		ret = mail_cache_lookup_headers_real(view, dest, seq,
 						     field_idxs, fields_count);
-	);
+	} T_END;
 	return ret;
 }
--- a/src/lib-index/mail-cache-transaction.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-index/mail-cache-transaction.c	Mon Feb 11 20:17:00 2008 +0200
@@ -856,13 +856,13 @@
 		return 0;
 	}
 
-	T_FRAME(
+	T_BEGIN {
 		buffer_t *buffer;
 
 		buffer = buffer_create_dynamic(pool_datastack_create(), 256);
 		mail_cache_header_fields_get(cache, buffer);
 		ret = mail_cache_header_fields_write(ctx, buffer);
-	);
+	} T_END;
 
 	if (ret == 0) {
 		/* we wrote all the headers, so there are no pending changes */
@@ -1105,9 +1105,9 @@
 {
 	int ret;
 
-	T_FRAME(
+	T_BEGIN {
 		ret = mail_cache_delete_real(cache, offset);
-	);
+	} T_END;
 	cache->hdr_modified = TRUE;
 	return ret;
 }
--- a/src/lib-index/mail-cache.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-index/mail-cache.c	Mon Feb 11 20:17:00 2008 +0200
@@ -37,12 +37,12 @@
 	cache->hdr = NULL;
 
 	va_start(va, fmt);
-	T_FRAME(
+	T_BEGIN {
 		mail_index_set_error(cache->index,
 				     "Corrupted index cache file %s: %s",
 				     cache->filepath,
 				     t_strdup_vprintf(fmt, va));
-	);
+	} T_END;
 	va_end(va);
 }
 
--- a/src/lib-index/mail-index-fsck.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-index/mail-index-fsck.c	Mon Feb 11 20:17:00 2008 +0200
@@ -430,9 +430,9 @@
 	mail_index_unmap(&index->map);
 	index->map = map;
 
-	T_FRAME(
+	T_BEGIN {
 		mail_index_fsck_map(index, map);
-	);
+	} T_END;
 
 	map->write_base_header = TRUE;
 	map->write_atomic = TRUE;
--- a/src/lib-index/mail-index-map.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-index/mail-index-map.c	Mon Feb 11 20:17:00 2008 +0200
@@ -833,12 +833,12 @@
 	for (try = 0; ret > 0; try++) {
 		/* make sure the header is ok before using this mapping */
 		ret = mail_index_map_check_header(new_map);
-		if (ret > 0) T_FRAME_BEGIN {
+		if (ret > 0) T_BEGIN {
 			if (mail_index_map_parse_extensions(new_map) < 0)
 				ret = 0;
 			else if (mail_index_map_parse_keywords(new_map) < 0)
 				ret = 0;
-		} T_FRAME_END;
+		} T_END;
 		if (ret != 0 || try == 2)
 			break;
 
--- a/src/lib-index/mail-index-sync-update.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-index/mail-index-sync-update.c	Mon Feb 11 20:17:00 2008 +0200
@@ -792,10 +792,10 @@
 		}
 
 		/* we'll just skip over broken entries */
-		T_FRAME(
+		T_BEGIN {
 			(void)mail_index_sync_record(&sync_map_ctx,
 						     thdr, tdata);
-		);
+		} T_END;
 	}
 	map = view->map;
 
--- a/src/lib-index/mail-index-sync.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-index/mail-index-sync.c	Mon Feb 11 20:17:00 2008 +0200
@@ -203,10 +203,10 @@
 		if ((ctx->hdr->type & MAIL_TRANSACTION_EXTERNAL) != 0)
 			continue;
 
-		T_FRAME(
+		T_BEGIN {
 			if (mail_index_sync_add_transaction(ctx))
 				mail_index_sync_update_mailbox_pos(ctx);
-		);
+		} T_END;
 	}
 
 	/* create an array containing all expunge, flag and keyword update
@@ -835,12 +835,12 @@
 	}
 
 	va_start(va, fmt);
-	T_FRAME(
+	T_BEGIN {
 		mail_index_set_error(ctx->view->index,
 				     "Log synchronization error at "
 				     "seq=%u,offset=%"PRIuUOFF_T" for %s: %s",
 				     seq, offset, ctx->view->index->filepath,
 				     t_strdup_vprintf(fmt, va));
-	);
+	} T_END;
 	va_end(va);
 }
--- a/src/lib-index/mail-index-view-sync.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-index/mail-index-view-sync.c	Mon Feb 11 20:17:00 2008 +0200
@@ -483,10 +483,10 @@
 			i_assert((hdr->type & MAIL_TRANSACTION_EXPUNGE) == 0 ||
 				 (hdr->type & MAIL_TRANSACTION_EXTERNAL) == 0);
 
-			T_FRAME(
+			T_BEGIN {
 				ret = mail_index_sync_record(&ctx->sync_map_ctx,
 							     hdr, ctx->data);
-			);
+			} T_END;
 			if (ret < 0)
 				return -1;
 		}
--- a/src/lib-index/mail-transaction-log-append.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-index/mail-transaction-log-append.c	Mon Feb 11 20:17:00 2008 +0200
@@ -330,9 +330,9 @@
 					  MAIL_TRANSACTION_EXT_RESET);
 		}
 		if (ext_id < hdrs_count && hdrs[ext_id] != NULL) {
-			T_FRAME(
+			T_BEGIN {
 				log_append_ext_hdr_update(ctx, hdrs[ext_id]);
-			);
+			} T_END;
 		}
 	}
 }
--- a/src/lib-index/mail-transaction-log-file.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-index/mail-transaction-log-file.c	Mon Feb 11 20:17:00 2008 +0200
@@ -34,11 +34,11 @@
 	}
 
 	va_start(va, fmt);
-	T_FRAME(
+	T_BEGIN {
 		mail_index_set_error(file->log->index,
 				     "Corrupted transaction log file %s: %s",
 				     file->filepath, t_strdup_vprintf(fmt, va));
-	);
+	} T_END;
 	va_end(va);
 }
 
--- a/src/lib-index/mail-transaction-log-view.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-index/mail-transaction-log-view.c	Mon Feb 11 20:17:00 2008 +0200
@@ -372,10 +372,10 @@
 	view->broken = TRUE;
 
 	va_start(va, fmt);
-	T_FRAME(
+	T_BEGIN {
 		mail_transaction_log_file_set_corrupted(view->log->head, "%s",
 			t_strdup_vprintf(fmt, va));
-	);
+	} T_END;
 	va_end(va);
 }
 
@@ -574,9 +574,9 @@
 		return -1;
 	}
 
-	T_FRAME(
+	T_BEGIN {
 		ret = log_view_is_record_valid(file, hdr, data) ? 1 : -1;
-	);
+	} T_END;
 	if (ret > 0) {
 		*hdr_r = hdr;
 		*data_r = data;
--- a/src/lib-index/mailbox-list-index-sync.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-index/mailbox-list-index-sync.c	Mon Feb 11 20:17:00 2008 +0200
@@ -351,10 +351,10 @@
 			return -1;
 	}
 
-	T_FRAME(
+	T_BEGIN {
 		ret = mailbox_list_index_sync_int(ctx, ctx->sync_path,
 						  &ctx->sync_root, &seq);
-	);
+	} T_END;
 	return ret;
 }
 
@@ -465,9 +465,9 @@
 	struct mailbox_list_sync_dir *dir;
 	int ret;
 
-	T_FRAME(
+	T_BEGIN {
 		ret = mailbox_list_index_sync_int(ctx, name, &dir, seq_r);
-	);
+	} T_END;
 	return ret;
 }
 
@@ -785,9 +785,9 @@
 	} else if (sync_dir->seen_records_count !=
 		   array_count(&sync_dir->records) && !partial) {
 		/* just mark the records deleted */
-		T_FRAME(
+		T_BEGIN {
 			ret = mailbox_list_index_sync_update_dir(ctx, sync_dir);
-		);
+		} T_END;
 		if (ret < 0)
 			return -1;
 	}
--- a/src/lib-index/mailbox-list-index.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-index/mailbox-list-index.c	Mon Feb 11 20:17:00 2008 +0200
@@ -412,7 +412,7 @@
 	if (key->name_hash > rec->name_hash)
 		return 1;
 
-	T_FRAME(
+	T_BEGIN {
 		const char *name;
 
 		if (mailbox_list_get_name(key->index, unsafe_data_stack_pool,
@@ -422,7 +422,7 @@
 		} else {
 			ret = strcmp(key->name, name);
 		}
-	);
+	} T_END;
 	return ret;
 }
 
@@ -709,7 +709,7 @@
 		}
 	}
 
-	T_FRAME(
+	T_BEGIN {
 		const char *name;
 
 		if (mailbox_list_get_name(ctx->view->index,
@@ -724,7 +724,7 @@
 			}
 			str_append(ctx->name_path, name);
 		}
-	);
+	} T_END;
 	if (ctx->failed)
 		return -1;
 
--- a/src/lib-mail/message-address.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-mail/message-address.c	Mon Feb 11 20:17:00 2008 +0200
@@ -306,10 +306,10 @@
 		return message_address_parse_real(pool, data, size,
 						  max_addresses, fill_missing);
 	}
-	T_FRAME(
+	T_BEGIN {
 		addr = message_address_parse_real(pool, data, size,
 						  max_addresses, fill_missing);
-	);
+	} T_END;
 	return addr;
 }
 
--- a/src/lib-mail/message-date.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-mail/message-date.c	Mon Feb 11 20:17:00 2008 +0200
@@ -233,14 +233,14 @@
 {
 	bool success;
 
-	T_FRAME(
+	T_BEGIN {
 		struct message_date_parser_context ctx;
 
 		rfc822_parser_init(&ctx.parser, data, size, NULL);
 		ctx.str = t_str_new(128);
 		success = message_date_parser_tokens(&ctx, time,
 						     timezone_offset);
-	);
+	} T_END;
 
 	return success;
 }
--- a/src/lib-mail/message-decoder.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-mail/message-decoder.c	Mon Feb 11 20:17:00 2008 +0200
@@ -144,14 +144,14 @@
 		return FALSE;
 	}
 
-	T_FRAME(
+	T_BEGIN {
 		if (hdr->name_len == 12 &&
 		    strcasecmp(hdr->name, "Content-Type") == 0)
 			parse_content_type(ctx, hdr);
 		if (hdr->name_len == 25 &&
 		    strcasecmp(hdr->name, "Content-Transfer-Encoding") == 0)
 			parse_content_transfer_encoding(ctx, hdr);
-	);
+	} T_END;
 
 	buffer_set_used_size(ctx->buf, 0);
 	message_header_decode_utf8(hdr->full_value, hdr->full_value_len,
--- a/src/lib-mail/message-parser.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-mail/message-parser.c	Mon Feb 11 20:17:00 2008 +0200
@@ -484,11 +484,9 @@
 
 			if (hdr->continues)
 				hdr->use_full_value = TRUE;
-			else {
-				T_FRAME(
-					parse_content_type(ctx, hdr);
-				);
-			}
+			else T_BEGIN {
+				parse_content_type(ctx, hdr);
+			} T_END;
 		}
 
 		block_r->hdr = hdr;
--- a/src/lib-mail/message-search.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-mail/message-search.c	Mon Feb 11 20:17:00 2008 +0200
@@ -62,10 +62,10 @@
 {
 	int ret;
 
-	T_FRAME(
+	T_BEGIN {
 		ret = message_search_init_real(pool, key, charset, flags,
 					       ctx_r);
-	);
+	} T_END;
 	return ret;
 }
 
@@ -107,9 +107,9 @@
 			hdr->use_full_value = TRUE;
 			return;
 		}
-		T_FRAME(
+		T_BEGIN {
 			parse_content_type(ctx, hdr);
-		);
+		} T_END;
 	}
 }
 
@@ -244,8 +244,8 @@
 {
 	int ret;
 
-	T_FRAME(
+	T_BEGIN {
 		ret = message_search_msg_real(ctx, input, parts);
-	);
+	} T_END;
 	return ret;
 }
--- a/src/lib-settings/settings.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-settings/settings.c	Mon Feb 11 20:17:00 2008 +0200
@@ -273,9 +273,9 @@
 {
 	bool ret;
 
-	T_FRAME(
+	T_BEGIN {
 		ret = settings_read_real(path, section, callback,
 					 sect_callback, context);
-	);
+	} T_END;
 	return ret;
 }
--- a/src/lib-sql/driver-mysql.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-sql/driver-mysql.c	Mon Feb 11 20:17:00 2008 +0200
@@ -264,9 +264,9 @@
 	db->api = driver_mysql_db;
 	p_array_init(&db->connections, db->pool, 6);
 
-	T_FRAME(
+	T_BEGIN {
 		driver_mysql_parse_connect_string(db, connect_string);
-	);
+	} T_END;
 	return &db->api;
 }
 
--- a/src/lib-sql/driver-pgsql.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-sql/driver-pgsql.c	Mon Feb 11 20:17:00 2008 +0200
@@ -289,9 +289,9 @@
 
 	if (result->callback != NULL) {
 		result->api.callback = TRUE;
-		T_FRAME(
+		T_BEGIN {
 			result->callback(&result->api, result->context);
-		);
+		} T_END;
 		result->api.callback = FALSE;
 		free_result = db->sync_result != &result->api;
 	}
--- a/src/lib-storage/index/cydir/cydir-save.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/index/cydir/cydir-save.c	Mon Feb 11 20:17:00 2008 +0200
@@ -81,7 +81,7 @@
 		ctx->tmp_basename = cydir_generate_tmp_filename();
 	}
 
-	T_FRAME(
+	T_BEGIN {
 		const char *path;
 
 		path = cydir_get_save_path(ctx, ctx->mail_count);
@@ -95,7 +95,7 @@
 						  "open(%s) failed: %m", path);
 			ctx->failed = TRUE;
 		}
-	);
+	} T_END;
 	if (ctx->failed)
 		return -1;
 
--- a/src/lib-storage/index/dbox/dbox-file.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/index/dbox/dbox-file.c	Mon Feb 11 20:17:00 2008 +0200
@@ -366,9 +366,9 @@
 		return -1;
 	}
 	file->file_header_size = file->input->v_offset;
-	T_FRAME(
+	T_BEGIN {
 		ret = dbox_file_parse_header(file, line) < 0 ? 0 : 1;
-	);
+	} T_END;
 	return ret;
 }
 
@@ -412,9 +412,9 @@
 	*deleted_r = FALSE;
 
 	if (file->fd == -1) {
-		T_FRAME(
+		T_BEGIN {
 			ret = dbox_file_open_fd(file);
-		);
+		} T_END;
 		if (ret <= 0) {
 			if (ret < 0)
 				return -1;
@@ -490,9 +490,9 @@
 	*deleted_r = FALSE;
 
 	if (file->file_id == 0) {
-		T_FRAME(
+		T_BEGIN {
 			ret = dbox_file_create(file) < 0 ? -1 : 1;
-		);
+		} T_END;
 		return ret;
 	} else if (file->input != NULL)
 		return 1;
@@ -508,9 +508,9 @@
 	if (file->fd != -1)
 		return 0;
 
-	T_FRAME(
+	T_BEGIN {
 		ret = dbox_file_open_fd(file);
-	);
+	} T_END;
 	if (ret == 0) {
 		path = t_strdup_printf("%s/%s", file->mbox->path, file->fname);
 		mail_storage_set_critical(file->mbox->ibox.box.storage,
@@ -1115,9 +1115,9 @@
 {
 	int ret;
 
-	T_FRAME(
+	T_BEGIN {
 		ret = dbox_file_metadata_write_real(file);
-	);
+	} T_END;
 	return ret;
 }
 
--- a/src/lib-storage/index/dbox/dbox-index.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/index/dbox/dbox-index.c	Mon Feb 11 20:17:00 2008 +0200
@@ -261,9 +261,9 @@
 		if (index->fd != -1)
 			dbox_index_close(index);
 
-		T_FRAME(
+		T_BEGIN {
 			ret = dbox_index_recreate(index, FALSE);
-		);
+		} T_END;
 		if (ret < 0)
 			return -1;
 	}
@@ -876,10 +876,10 @@
 	for (i = 0; i < count; i++) {
 		file = files[i];
 
-		if (file->file_id == 0) T_FRAME_BEGIN {
+		if (file->file_id == 0) T_BEGIN {
 			if (dbox_index_append_commit_new(ctx, file, str) < 0)
 				ret = -1;
-		} T_FRAME_END;
+		} T_END;
 	}
 
 	if (ret == 0 && str_len(str) > 0) {
--- a/src/lib-storage/index/dbox/dbox-save.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/index/dbox/dbox-save.c	Mon Feb 11 20:17:00 2008 +0200
@@ -233,7 +233,7 @@
 	index_mail_cache_parse_deinit(ctx->cur_dest_mail,
 				      ctx->cur_received_date, !ctx->failed);
 
-	if (!ctx->failed) T_FRAME_BEGIN {
+	if (!ctx->failed) T_BEGIN {
 		const char *cur_path;
 
 		cur_path = dbox_file_get_path(ctx->cur_file);
@@ -244,7 +244,7 @@
 				"o_stream_flush(%s) failed: %m", cur_path);
 			ctx->failed = TRUE;
 		}
-	} T_FRAME_END;
+	} T_END;
 
 	o_stream_unref(&ctx->cur_output);
 	i_stream_unref(&ctx->input);
--- a/src/lib-storage/index/dbox/dbox-sync-file.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/index/dbox/dbox-sync-file.c	Mon Feb 11 20:17:00 2008 +0200
@@ -152,9 +152,9 @@
 		/* write metadata */
 		(void)dbox_file_metadata_seek_mail_offset(file, offset,
 							  &expunged);
-		T_FRAME(
+		T_BEGIN {
 			dbox_sync_update_metadata(ctx, file, entry, seq);
-		);
+		} T_END;
 		if ((ret = dbox_file_metadata_write_to(file, output)) < 0)
 			break;
 
@@ -229,9 +229,9 @@
 	}
 	append_offset = output->offset;
 	dbox_msg_header_fill(&dbox_msg_hdr, uid, size);
-	T_FRAME(
+	T_BEGIN {
 		dbox_sync_update_metadata(ctx, out_file, NULL, seq);
-	);
+	} T_END;
 
 	/* copy the message */
 	out_path = dbox_file_get_path(out_file);
@@ -294,9 +294,9 @@
 		return 1;
 	}
 
-	T_FRAME(
+	T_BEGIN {
 		dbox_sync_update_metadata(ctx, file, entry, seq);
-	);
+	} T_END;
 	ret = dbox_file_metadata_write(file);
 	if (ret <= 0) {
 		return ret < 0 ? -1 :
--- a/src/lib-storage/index/dbox/dbox-sync-rebuild.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/index/dbox/dbox-sync-rebuild.c	Mon Feb 11 20:17:00 2008 +0200
@@ -129,13 +129,13 @@
 	}
 
 	value = dbox_file_metadata_get(file, DBOX_METADATA_KEYWORDS);
-	if (value != NULL) T_FRAME_BEGIN {
+	if (value != NULL) T_BEGIN {
 		keywords = mail_index_keywords_create(ctx->mbox->ibox.index,
 						t_strsplit_spaces(value, " "));
 		mail_index_update_keywords(ctx->trans, seq, MODIFY_REPLACE,
 					   keywords);
 		mail_index_keywords_free(&keywords);
-	} T_FRAME_END;
+	} T_END;
 }
 
 static int dbox_sync_index_file_next(struct dbox_sync_rebuild_context *ctx,
@@ -299,10 +299,10 @@
 		if ((d = readdir(dir)) == NULL)
 			break;
 
-		T_FRAME(
+		T_BEGIN {
 			ret = dbox_sync_index_file(ctx, path, d->d_name,
 						   primary);
-		);
+		} T_END;
 	}
 	if (errno != 0) {
 		mail_storage_set_critical(storage,
@@ -348,9 +348,9 @@
 	mail_index_view_close(&trans_view);
 
 	for (i = 0; i < count && ret == 0; i++) {
-		T_FRAME(
+		T_BEGIN {
 			ret = dbox_sync_index_maildir_file(ctx, fnames[i]);
-		);
+		} T_END;
 	}
 	return ret;
 }
--- a/src/lib-storage/index/index-mail-headers.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/index/index-mail-headers.c	Mon Feb 11 20:17:00 2008 +0200
@@ -152,10 +152,10 @@
 		MAIL_CACHE_DECISION_TEMP
 	};
 
-	T_FRAME(
+	T_BEGIN {
 		header_field.name = t_strconcat("hdr.", field, NULL);
 		mail_cache_register_fields(ibox->cache, &header_field, 1);
-	);
+	} T_END;
 	return header_field.idx;
 }
 
@@ -242,9 +242,9 @@
 	}
 
 	/* register also all the other headers that exist in cache file */
-	T_FRAME(
+	T_BEGIN {
 		index_mail_parse_header_register_all_wanted(mail);
-	);
+	} T_END;
 }
 
 static void index_mail_parse_finish_imap_envelope(struct index_mail *mail)
@@ -291,21 +291,21 @@
 		/* end of headers */
 		if (mail->data.save_sent_date)
 			mail->data.sent_date_parsed = TRUE;
-		T_FRAME(
+		T_BEGIN {
 			index_mail_parse_header_finish(mail);
-		);
+		} T_END;
                 data->save_bodystructure_header = FALSE;
 		return;
 	}
 
 	if (!hdr->continued) {
-		T_FRAME(
+		T_BEGIN {
 			const char *cache_field_name =
 				t_strconcat("hdr.", hdr->name, NULL);
 			data->parse_line.field_idx =
 				mail_cache_register_lookup(mail->ibox->cache,
 							   cache_field_name);
-		);
+		} T_END;
 	}
 	field_idx = data->parse_line.field_idx;
 	match = array_get_modifiable(&mail->header_match, &count);
@@ -675,9 +675,9 @@
 	if (!decode_to_utf8 || **value_r == NULL)
 		return 0;
 
-	T_FRAME(
+	T_BEGIN {
 		*value_r = index_mail_headers_decode(mail, *value_r, -1U);
-	);
+	} T_END;
 	return 0;
 }
 
@@ -690,9 +690,9 @@
 	if (index_mail_get_raw_headers(mail, field, &list) < 0)
 		return -1;
 	if (decode_to_utf8 && list[0] != NULL) {
-		T_FRAME(
+		T_BEGIN {
 			list = index_mail_headers_decode(mail, list, 1);
-		);
+		} T_END;
 	}
 	*value_r = list[0];
 	return list[0] != NULL ? 1 : 0;
@@ -810,9 +810,9 @@
 {
 	struct mailbox_header_lookup_ctx *ctx;
 
-	T_FRAME(
+	T_BEGIN {
 		ctx = index_header_lookup_init_real(box, headers);
-	);
+	} T_END;
 	return ctx;
 }
 
--- a/src/lib-storage/index/index-mail.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/index/index-mail.c	Mon Feb 11 20:17:00 2008 +0200
@@ -65,9 +65,9 @@
 {
 	struct message_part *part;
 
-	T_FRAME(
+	T_BEGIN {
 		part = get_unserialized_parts(mail);
-	);
+	} T_END;
 	if (part == NULL)
 		return FALSE;
 
@@ -91,7 +91,7 @@
 	unsigned int field_idx = mail->ibox->cache_fields[field].idx;
 	int ret;
 
-	T_FRAME(
+	T_BEGIN {
 		buffer_t *buf;
 
 		buf = buffer_create_data(pool_datastack_create(),
@@ -104,7 +104,7 @@
 			i_assert(buf->used == data_size);
 			ret = TRUE;
 		}
-	);
+	} T_END;
 	return ret;
 }
 
@@ -511,12 +511,12 @@
 		return;
 	}
 
-	T_FRAME(
+	T_BEGIN {
 		buffer = buffer_create_dynamic(pool_datastack_create(), 1024);
 		message_part_serialize(mail->data.parts, buffer);
 		index_mail_cache_add_idx(mail, cache_field,
 					 buffer->data, buffer->used);
-	);
+	} T_END;
 
 	data->messageparts_saved_to_cache = TRUE;
 }
--- a/src/lib-storage/index/index-search.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/index/index-search.c	Mon Feb 11 20:17:00 2008 +0200
@@ -150,9 +150,9 @@
 			flags |= MAIL_RECENT;
 		return (flags & arg->value.flags) == arg->value.flags;
 	case SEARCH_KEYWORDS:
-		T_FRAME(
+		T_BEGIN {
 			ret = search_arg_match_keywords(ctx, arg);
-		);
+		} T_END;
 		return ret;
 
 	default:
@@ -377,7 +377,7 @@
 		ret = 0;
 	else if (arg->type == SEARCH_HEADER_ADDRESS) {
 		/* we have to match against normalized address */
-		T_FRAME(
+		T_BEGIN {
 			struct message_address *addr;
 			string_t *str;
 
@@ -392,7 +392,7 @@
 			hdr.value_len = hdr.full_value_len = str_len(str);
 			block.hdr = &hdr;
 			ret = message_search_more(msg_search_ctx, &block);
-		);
+		} T_END;
 	} else {
 		block.hdr = ctx->hdr;
 		ret = message_search_more(msg_search_ctx, &block);
@@ -959,7 +959,7 @@
 			 ctx->search_start_time.tv_usec) / 1000;
 		secs = (msecs / (percentage / 100.0) - msecs) / 1000;
 
-		T_FRAME(
+		T_BEGIN {
 			const char *text;
 
 			text = t_strdup_printf("Searched %d%% of the mailbox, "
@@ -968,7 +968,7 @@
 			box->storage->callbacks->
 				notify_ok(box, text,
 					  box->storage->callback_context);
-		);
+		} T_END;
 	}
 	ctx->last_notify = ioloop_timeval;
 }
@@ -1001,9 +1001,9 @@
 	while ((ret = box->v.search_next_update_seq(_ctx)) > 0) {
 		mail_set_seq(mail, _ctx->seq);
 
-		T_FRAME(
+		T_BEGIN {
 			ret = search_match_next(ctx) ? 1 : 0;
-		);
+		} T_END;
 
 		mail_search_args_reset(ctx->mail_ctx.args, FALSE);
 
--- a/src/lib-storage/index/index-sort.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/index/index-sort.c	Mon Feb 11 20:17:00 2008 +0200
@@ -238,7 +238,7 @@
 	case MAIL_SORT_FROM:
 	case MAIL_SORT_TO:
 	case MAIL_SORT_SUBJECT:
-		T_FRAME_BEGIN {
+		T_BEGIN {
 			string_t *str1, *str2;
 
 			str1 = t_str_new(256);
@@ -247,7 +247,7 @@
 			sort_header_get(str2, sort_type, ctx->mail, n2->seq);
 
 			ret = strcmp(str_c(str1), str_c(str2));
-		} T_FRAME_END;
+		} T_END;
 		break;
 	case MAIL_SORT_ARRIVAL:
 		mail_set_seq(ctx->mail, n1->seq);
@@ -390,10 +390,10 @@
 	   the same sort IDs. */
 	str = str_new(default_pool, 256);
 	for (i = left_idx; i <= right_idx; i++) {
-		T_FRAME(
+		T_BEGIN {
 			sort_header_get(str, program->sort_program[0], mail,
 					nodes[i].seq);
-		);
+		} T_END;
 
 		if (left_idx != 0 && str_equals(str, left_str))
 			nodes[i].sort_id = left_sort_id;
@@ -437,10 +437,10 @@
 		if (right_idx == count)
 			right_idx--;
 		left_idx = i == 0 ? 0 : i - 1;
-		T_FRAME(
+		T_BEGIN {
 			index_sort_add_ids_range(program, mail,
 						 left_idx, right_idx);
-		);
+		} T_END;
 	}
 }
 
--- a/src/lib-storage/index/index-storage.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/index/index-storage.c	Mon Feb 11 20:17:00 2008 +0200
@@ -552,10 +552,10 @@
 		}
 
 		/* found invalid keywords, do this the slow way */
-		T_FRAME(
+		T_BEGIN {
 			*keywords_r = index_keywords_create_skip(ibox,
 								 keywords);
-		);
+		} T_END;
 		return 0;
 	}
 
--- a/src/lib-storage/index/maildir/maildir-copy.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/index/maildir/maildir-copy.c	Mon Feb 11 20:17:00 2008 +0200
@@ -225,10 +225,10 @@
 	if (mbox->storage->copy_with_hardlinks &&
 	    mail->box->storage == mbox->ibox.box.storage &&
 	    maildir_compatible_file_modes(&mbox->ibox.box, mail->box)) {
-		T_FRAME(
+		T_BEGIN {
 			ret = maildir_copy_hardlink(t, mail, flags,
 						    keywords, dest_mail);
-		);
+		} T_END;
 
 		if (ret > 0)
 			return 0;
--- a/src/lib-storage/index/maildir/maildir-keywords.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/index/maildir/maildir-keywords.c	Mon Feb 11 20:17:00 2008 +0200
@@ -412,9 +412,9 @@
 
 	*_ctx = NULL;
 
-	T_FRAME(
+	T_BEGIN {
 		(void)maildir_keywords_commit(ctx->mk);
-	);
+	} T_END;
 
 	array_free(&ctx->idx_to_chr);
 	i_free(ctx);
--- a/src/lib-storage/index/maildir/maildir-save.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/index/maildir/maildir-save.c	Mon Feb 11 20:17:00 2008 +0200
@@ -367,7 +367,7 @@
 	if (mbox->ibox.keep_recent)
 		flags |= MAIL_RECENT;
 
-	T_FRAME(
+	T_BEGIN {
 		/* create a new file in tmp/ directory */
 		const char *fname;
 
@@ -383,7 +383,7 @@
 
 			maildir_save_add(t, fname, flags, keywords, dest_mail);
 		}
-	);
+	} T_END;
 	if (ctx->failed)
 		return -1;
 
@@ -540,9 +540,9 @@
 {
 	int ret;
 
-	T_FRAME(
+	T_BEGIN {
 		ret = maildir_save_finish_real(ctx);
-	);
+	} T_END;
 	return ret;
 }
 
@@ -563,9 +563,9 @@
 	/* try to unlink the mails already moved */
 	for (mf = ctx->files; mf != pos; mf = mf->next) {
 		if ((mf->flags & MAILDIR_SAVE_FLAG_DELETED) == 0) {
-			T_FRAME(
+			T_BEGIN {
 				(void)unlink(maildir_mf_get_path(ctx, mf));
-			);
+			} T_END;
 		}
 	}
 	ctx->files = pos;
@@ -662,7 +662,7 @@
 	ret = 0;
 	ctx->moving = TRUE;
 	for (mf = ctx->files; mf != NULL; mf = mf->next) {
-		T_FRAME(
+		T_BEGIN {
 			const char *dest;
 
 			newdir = maildir_get_updated_filename(ctx, mf, &dest);
@@ -678,7 +678,7 @@
 				ret = maildir_file_move(ctx, mf->basename,
 							dest, newdir);
 			}
-		);
+		} T_END;
 		if (ret < 0)
 			break;
 	}
@@ -686,7 +686,7 @@
 	if (ret == 0 && ctx->uidlist_sync_ctx != NULL) {
 		/* everything was moved successfully. update our internal
 		   state. */
-		for (mf = ctx->files; mf != NULL; mf = mf->next) T_FRAME_BEGIN {
+		for (mf = ctx->files; mf != NULL; mf = mf->next) T_BEGIN {
 			const char *dest;
 			newdir = maildir_get_updated_filename(ctx, mf, &dest);
 
@@ -696,7 +696,7 @@
 			ret = maildir_uidlist_sync_next(ctx->uidlist_sync_ctx,
 							dest, flags);
 			i_assert(ret > 0);
-		} T_FRAME_END;
+		} T_END;
 	}
 
 	if (ctx->uidlist_sync_ctx != NULL) {
@@ -797,7 +797,7 @@
 
 void maildir_transaction_save_rollback(struct maildir_save_context *ctx)
 {
-	T_FRAME(
+	T_BEGIN {
 		maildir_transaction_save_rollback_real(ctx);
-	);
+	} T_END;
 }
--- a/src/lib-storage/index/maildir/maildir-storage.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/index/maildir/maildir-storage.c	Mon Feb 11 20:17:00 2008 +0200
@@ -155,7 +155,7 @@
 		return FALSE;
 
 	/* Don't allow creating mailboxes under cur/new/tmp */
-	T_FRAME(
+	T_BEGIN {
 		const char *const *tmp;
 
 		for (tmp = t_strsplit(name, "/"); *tmp != NULL; tmp++) {
@@ -164,7 +164,7 @@
 				break;
 			}
 		}
-	);
+	} T_END;
 	return ret;
 }
 
--- a/src/lib-storage/index/maildir/maildir-sync.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/index/maildir/maildir-sync.c	Mon Feb 11 20:17:00 2008 +0200
@@ -480,10 +480,10 @@
 				break;
 
 			/* possibly duplicate - try fixing it */
-			T_FRAME(
+			T_BEGIN {
 				ret = maildir_fix_duplicate(ctx, path,
 							    dp->d_name);
-			);
+			} T_END;
 			if (ret < 0)
 				break;
 		}
@@ -842,20 +842,20 @@
 	bool lost_files;
 	int ret;
 
-	T_FRAME(
+	T_BEGIN {
 		ctx = maildir_sync_context_new(mbox, MAILBOX_SYNC_FLAG_FAST);
 		ret = maildir_sync_context(ctx, TRUE, &uid, &lost_files);
 		maildir_sync_deinit(ctx);
-	);
+	} T_END;
 
 	if (uid != 0) {
 		/* maybe it's expunged. check again. */
-		T_FRAME(
+		T_BEGIN {
 			ctx = maildir_sync_context_new(mbox, 0);
 			ret = maildir_sync_context(ctx, TRUE, NULL,
 						   &lost_files);
 			maildir_sync_deinit(ctx);
-		);
+		} T_END;
 	}
 	return ret;
 }
@@ -876,12 +876,12 @@
 	    ioloop_time) {
 		mbox->ibox.sync_last_check = ioloop_time;
 
-		T_FRAME(
+		T_BEGIN {
 			ctx = maildir_sync_context_new(mbox, flags);
 			ret = maildir_sync_context(ctx, FALSE, NULL,
 						   &lost_files);
 			maildir_sync_deinit(ctx);
-		);
+		} T_END;
 
 		i_assert(!maildir_uidlist_is_locked(mbox->uidlist) ||
 			 mbox->ibox.keep_locked);
@@ -900,7 +900,7 @@
 	bool new_changed, cur_changed;
 	int ret;
 
-	T_FRAME_BEGIN {
+	T_BEGIN {
 		const char *new_dir, *cur_dir;
 
 		new_dir = t_strconcat(mbox->path, "/new", NULL);
@@ -908,6 +908,6 @@
 
 		ret = maildir_sync_quick_check(mbox, FALSE, new_dir, cur_dir,
 					       &new_changed, &cur_changed);
-	} T_FRAME_END;
+	} T_END;
 	return ret < 0 ? -1 : (!new_changed && !cur_changed);
 }
--- a/src/lib-storage/index/maildir/maildir-uidlist.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/index/maildir/maildir-uidlist.c	Mon Feb 11 20:17:00 2008 +0200
@@ -403,10 +403,10 @@
 		/* read extended fields */
 		bool ret;
 
-		T_FRAME(
+		T_BEGIN {
 			ret = maildir_uidlist_read_extended(uidlist, &line,
 							    rec);
-		);
+		} T_END;
 		if (!ret) {
 			maildir_uidlist_set_corrupted(uidlist, 
 				"Invalid extended fields: %s", line);
@@ -476,7 +476,7 @@
 	case 3:
 		ext_hdr = uidlist->hdr_extensions;
 		str_truncate(ext_hdr, 0);
-		while (*line != '\0') T_FRAME_BEGIN {
+		while (*line != '\0') T_BEGIN {
 			const char *value;
 
 			key = *line;
@@ -499,7 +499,7 @@
 			}
 
 			while (*line == ' ') line++;
-		} T_FRAME_END;
+		} T_END;
 		break;
 	default:
 		maildir_uidlist_set_corrupted(uidlist, "Unsupported version %u",
@@ -890,9 +890,9 @@
 			     enum maildir_uidlist_rec_ext_key key,
 			     const char *value)
 {
-	T_FRAME(
+	T_BEGIN {
 		maildir_uidlist_set_ext_real(uidlist, uid, key, value);
-	);
+	} T_END;
 }
 
 static int maildir_uidlist_write_fd(struct maildir_uidlist *uidlist, int fd,
@@ -1220,7 +1220,7 @@
 	if (extensions == NULL)
 		return NULL;
 
-	T_FRAME_BEGIN {
+	T_BEGIN {
 		unsigned int len;
 
 		for (len = 0; extensions[len] != '\0'; len++) {
@@ -1228,7 +1228,7 @@
 		}
 		ret = p_malloc(pool, len + 1);
 		memcpy(ret, extensions, len);
-	} T_FRAME_END;
+	} T_END;
 	return ret;
 }
 
@@ -1444,9 +1444,9 @@
 	i_assert(ctx->locked || !ctx->changed);
 	if ((ctx->changed || ctx->uidlist->recreate) &&
 	    !ctx->failed && ctx->locked) {
-		T_FRAME(
+		T_BEGIN {
 			ret = maildir_uidlist_sync_update(ctx);
-		);
+		} T_END;
 	}
 
 	if (ctx->locked)
--- a/src/lib-storage/index/maildir/maildir-util.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/index/maildir/maildir-util.c	Mon Feb 11 20:17:00 2008 +0200
@@ -29,22 +29,22 @@
 
 	if ((flags & MAILDIR_UIDLIST_REC_FLAG_NEW_DIR) != 0) {
 		/* probably in new/ dir */
-		T_FRAME(
+		T_BEGIN {
 			const char *path;
 
 			path = t_strconcat(mbox->path, "/new/", fname, NULL);
 			ret = callback(mbox, path, context);
-		);
+		} T_END;
 		if (ret != 0)
 			return ret;
 	}
 
-	T_FRAME(
+	T_BEGIN {
 		const char *path;
 
 		path = t_strconcat(mbox->path, "/cur/", fname, NULL);
 		ret = callback(mbox, path, context);
-	);
+	} T_END;
 	return ret;
 }
 
@@ -147,8 +147,8 @@
 	}
 	/* maildir itself exists. create all of its subdirectories in case
 	   they got lost. */
-	T_FRAME(
+	T_BEGIN {
 		ret = maildir_create_subdirs(mbox);
-	);
+	} T_END;
 	return ret < 0 ? TRUE : FALSE;
 }
--- a/src/lib-storage/index/mbox/mbox-save.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/index/mbox/mbox-save.c	Mon Feb 11 20:17:00 2008 +0200
@@ -132,7 +132,7 @@
 		i_strocpy(my_hostdomain, name, sizeof(my_hostdomain));
 	}
 
-	T_FRAME(
+	T_BEGIN {
 		const char *line;
 
 		if (from_envelope == NULL) {
@@ -146,8 +146,7 @@
 
 		if ((ret = o_stream_send_str(ctx->output, line)) < 0)
 			write_error(ctx);
-	);
-
+	} T_END;
 	return ret;
 }
 
@@ -395,9 +394,9 @@
 		   our own X-Delivery-ID header. */
 		const char *hdr;
 
-		T_FRAME(
+		T_BEGIN {
 			mbox_save_x_delivery_id(ctx);
-		);
+		} T_END;
 		hdr = ctx->x_delivery_id_header;
 
 		streams[0] = i_stream_create_from_data(hdr, strlen(hdr));
@@ -655,11 +654,11 @@
 
 	ctx->finished = TRUE;
 	if (!ctx->failed) {
-		T_FRAME(
+		T_BEGIN {
 			if (mbox_write_content_length(ctx) < 0 ||
 			    mbox_append_lf(ctx) < 0)
 				ctx->failed = TRUE;
-		);
+		} T_END;
 	}
 
 	if (ctx->mail != NULL) {
--- a/src/lib-storage/index/mbox/mbox-sync-parse.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/index/mbox/mbox-sync-parse.c	Mon Feb 11 20:17:00 2008 +0200
@@ -224,9 +224,9 @@
 	ctx->hdr_pos[MBOX_HDR_X_IMAPBASE] = str_len(ctx->header);
 	ctx->seen_imapbase = TRUE;
 
-	T_FRAME(
+	T_BEGIN {
 		parse_imap_keywords_list(ctx, hdr, i);
-	);
+	} T_END;
 	parse_trailing_whitespace(ctx, hdr);
 	return TRUE;
 }
@@ -314,9 +314,9 @@
 {
 	bool ret;
 
-	T_FRAME(
+	T_BEGIN {
 		ret = parse_x_keywords_real(ctx, hdr);
-	);
+	} T_END;
 	return ret;
 }
 
--- a/src/lib-storage/index/mbox/mbox-sync-update.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/index/mbox/mbox-sync-update.c	Mon Feb 11 20:17:00 2008 +0200
@@ -410,9 +410,9 @@
 
 void mbox_sync_update_header(struct mbox_sync_mail_context *ctx)
 {
-	T_FRAME(
+	T_BEGIN {
 		mbox_sync_update_header_real(ctx);
-	);
+	} T_END;
 }
 
 static void
@@ -468,7 +468,7 @@
 void mbox_sync_update_header_from(struct mbox_sync_mail_context *ctx,
 				  const struct mbox_sync_mail *mail)
 {
-	T_FRAME(
+	T_BEGIN {
 		mbox_sync_update_header_from_real(ctx, mail);
-	);
+	} T_END;
 }
--- a/src/lib-storage/index/mbox/mbox-sync.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/index/mbox/mbox-sync.c	Mon Feb 11 20:17:00 2008 +0200
@@ -1065,9 +1065,9 @@
 
 		if (!mail_ctx->mail.pseudo) {
 			if (!expunged) {
-				T_FRAME(
+				T_BEGIN {
 					mbox_sync_update_index(mail_ctx, rec);
-				);
+				} T_END;
 			}
 			sync_ctx->idx_seq++;
 		}
--- a/src/lib-storage/list/index-mailbox-list-sync.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/list/index-mailbox-list-sync.c	Mon Feb 11 20:17:00 2008 +0200
@@ -115,9 +115,9 @@
 		return 0;
 	}
 
-	T_FRAME(
+	T_BEGIN {
 		ret = box->v.list_index_has_changed(box, view, seq);
-	);
+	} T_END;
 	if (ret != 0) {
 		/* error / mailbox has changed. we'll need to sync it. */
 		mail_index_view_close(&view);
--- a/src/lib-storage/list/mailbox-list-fs-iter.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/list/mailbox-list-fs-iter.c	Mon Feb 11 20:17:00 2008 +0200
@@ -140,14 +140,14 @@
 	/* if no patterns have wildcards at this point of the path, we don't
 	   have to readdir() the files. instead we can just go through the
 	   mailboxes listed in patterns. */
-	T_FRAME(
+	T_BEGIN {
 		patterns = array_idx(&ctx->valid_patterns, 0);
 		for (i = 0; patterns[i] != NULL; i++) {
 			if (pattern_has_wildcard_at(ctx, patterns[i],
 						    list_path))
 				break;
 		}
-	);
+	} T_END;
 	if (patterns[i] == NULL) {
 		*dirp = NULL;
 		return 1;
@@ -301,9 +301,9 @@
 	if (ctx->ctx.failed)
 		return NULL;
 
-	T_FRAME(
+	T_BEGIN {
 		info = ctx->next(ctx);
-	);
+	} T_END;
 	return info;
 }
 
@@ -638,9 +638,9 @@
 	while (ctx->dir != NULL) {
 		/* NOTE: list_file() may change ctx->dir */
 		while ((entry = fs_list_dir_next(ctx)) != NULL) {
-			T_FRAME(
+			T_BEGIN {
 				ret = list_file(ctx, entry);
-			);
+			} T_END;
 
 			if (ret > 0)
 				return &ctx->info;
--- a/src/lib-storage/list/mailbox-list-maildir-iter.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/list/mailbox-list-maildir-iter.c	Mon Feb 11 20:17:00 2008 +0200
@@ -153,11 +153,11 @@
 
 		/* check if this is an actual mailbox */
 		flags = 0;
-		T_FRAME(
+		T_BEGIN {
 			ret = ctx->ctx.list->v.
 				iter_is_mailbox(&ctx->ctx, ctx->dir, fname,
 					mailbox_list_get_file_type(d), &flags);
-		);
+		} T_END;
 		if (ret <= 0) {
 			if (ret < 0)
 				return -1;
@@ -170,10 +170,10 @@
 			   MAILBOX_CHILDREN | MAILBOX_NOCHILDREN);
 
 		if ((match & IMAP_MATCH_PARENT) != 0) {
-			T_FRAME(
+			T_BEGIN {
 				maildir_fill_parents(ctx, glob, update_only,
 						     mailbox, flags);
-			);
+			} T_END;
 		} else {
 			created = FALSE;
 			node = update_only ?
@@ -272,9 +272,9 @@
 		bool update_only =
 			(flags & MAILBOX_LIST_ITER_SELECT_SUBSCRIBED) != 0;
 
-		T_FRAME(
+		T_BEGIN {
 			ret = maildir_fill_readdir(ctx, glob, update_only);
-		);
+		} T_END;
 		if (ret < 0) {
 			ctx->ctx.failed = TRUE;
 			return &ctx->ctx;
--- a/src/lib-storage/list/mailbox-list-maildir.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/list/mailbox-list-maildir.c	Mon Feb 11 20:17:00 2008 +0200
@@ -412,9 +412,9 @@
 				 oldname, newname);
 
 		found = ret == 0;
-		T_FRAME(
+		T_BEGIN {
 			ret = rename_children(list, oldname, newname);
-		);
+		} T_END;
 		if (ret < 0)
 			return -1;
 		if (!found && ret == 0) {
--- a/src/lib-storage/list/mailbox-list-subscriptions.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/list/mailbox-list-subscriptions.c	Mon Feb 11 20:17:00 2008 +0200
@@ -43,9 +43,9 @@
 {
 	int ret;
 
-	T_FRAME(
+	T_BEGIN {
 		ret = mailbox_list_subscriptions_fill_real(ctx, tree_ctx, glob,
 							   update_only);
-	);
+	} T_END;
 	return ret;
 }
--- a/src/lib-storage/mail-namespace.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/mail-namespace.c	Mon Feb 11 20:17:00 2008 +0200
@@ -191,17 +191,17 @@
 
 	/* first try NAMESPACE_* environments */
 	for (i = 1; ; i++) {
-		T_FRAME(
+		T_BEGIN {
 			data = getenv(t_strdup_printf("NAMESPACE_%u", i));
-		);
+		} T_END;
 
 		if (data == NULL)
 			break;
 
-		T_FRAME(
+		T_BEGIN {
 			*ns_p = namespace_add_env(pool, data, i, user, flags,
 						  lock_method);
-		);
+		} T_END;
 
 		if (*ns_p == NULL)
 			return -1;
@@ -216,9 +216,9 @@
 		*namespaces_r = namespaces;
 
 		if (hook_mail_namespaces_created != NULL) {
-			T_FRAME(
+			T_BEGIN {
 				hook_mail_namespaces_created(namespaces);
-			);
+			} T_END;
 		}
 		return 0;
 	}
@@ -251,9 +251,9 @@
 	*namespaces_r = ns;
 
 	if (hook_mail_namespaces_created != NULL) {
-		T_FRAME(
+		T_BEGIN {
 			hook_mail_namespaces_created(ns);
-		);
+		} T_END;
 	}
 	return 0;
 }
--- a/src/lib-storage/mail-search.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/mail-search.c	Mon Feb 11 20:17:00 2008 +0200
@@ -187,7 +187,7 @@
 	struct mail_keywords *new_kw;
 
 	i_assert(kw1->index == kw2->index);
-	T_FRAME_BEGIN {
+	T_BEGIN {
 		ARRAY_TYPE(keyword_indexes) new_indexes;
 		unsigned int i, j;
 
@@ -204,7 +204,7 @@
 		}
 		new_kw = mail_index_keywords_create_from_indexes(kw1->index,
 								 &new_indexes);
-	} T_FRAME_END;
+	} T_END;
 	mail_index_keywords_free(_kw1);
 	mail_index_keywords_free(_kw2);
 	return new_kw;
--- a/src/lib-storage/mail-storage.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/mail-storage.c	Mon Feb 11 20:17:00 2008 +0200
@@ -248,9 +248,9 @@
 		atoi(value) : DEFAULT_MAX_KEYWORD_LENGTH;
 	
 	if (hook_mail_storage_created != NULL) {
-		T_FRAME(
+		T_BEGIN {
 			hook_mail_storage_created(storage);
-		);
+		} T_END;
 	}
 
 	ns->storage = storage;
@@ -453,11 +453,11 @@
 		return NULL;
 	}
 
-	T_FRAME(
+	T_BEGIN {
 		box = storage->v.mailbox_open(storage, name, input, flags);
 		if (hook_mailbox_opened != NULL && box != NULL)
 			hook_mailbox_opened(box);
-	);
+	} T_END;
 	return box;
 }
 
--- a/src/lib-storage/mailbox-list.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/mailbox-list.c	Mon Feb 11 20:17:00 2008 +0200
@@ -537,10 +537,10 @@
 			      struct imap_match_glob *glob, bool update_only,
 			      bool match_parents, const char *name)
 {
-	T_FRAME(
+	T_BEGIN {
 		mailbox_list_iter_update_real(ctx, tree_ctx, glob, update_only,
 					      match_parents, name);
-	);
+	} T_END;
 }
 
 bool mailbox_list_name_is_too_large(const char *name, char sep)
--- a/src/lib-storage/mailbox-tree.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib-storage/mailbox-tree.c	Mon Feb 11 20:17:00 2008 +0200
@@ -114,9 +114,9 @@
 {
 	struct mailbox_node *node;
 
-	T_FRAME(
+	T_BEGIN {
 		node = mailbox_tree_traverse(tree, path, TRUE, created);
-	);
+	} T_END;
 	return node;
 }
 
@@ -125,9 +125,9 @@
 {
 	struct mailbox_node *node;
 
-	T_FRAME(
+	T_BEGIN {
 		node = mailbox_tree_traverse(tree, path, FALSE, NULL);
-	);
+	} T_END;
 	return node;
 }
 
--- a/src/lib/compat.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib/compat.c	Mon Feb 11 20:17:00 2008 +0200
@@ -60,9 +60,9 @@
 #ifndef HAVE_VSYSLOG
 void my_vsyslog(int priority, const char *format, va_list args)
 {
-	T_FRAME(
+	T_BEGIN {
 		syslog(priority, "%s", t_strdup_vprintf(format, args));
-	);
+	} T_END;
 }
 #endif
 
--- a/src/lib/data-stack.h	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib/data-stack.h	Mon Feb 11 20:17:00 2008 +0200
@@ -45,19 +45,12 @@
    panicking if it doesn't match. */
 void t_pop_check(unsigned int *id);
 
-/* Usage: T_FRAME_BEGIN { code } T_FRAME_END */
-#define T_FRAME_BEGIN \
+/* Usage: T_BEGIN { code } T_END */
+#define T_BEGIN \
 	STMT_START { unsigned int _data_stack_cur_id = t_push();
-#define T_FRAME_END \
+#define T_END \
 	t_pop_check(&_data_stack_cur_id); } STMT_END
 
-/* Usage: T_FRAME(code). This doesn't work if there are commas within the code
-   outside function parameters. */
-#define T_FRAME(_data_stack_code) \
-	T_FRAME_BEGIN { \
-		_data_stack_code; \
-	} T_FRAME_END
-
 /* WARNING: Be careful when using these functions, it's too easy to
    accidentally save the returned value somewhere permanently.
 
--- a/src/lib/failures.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib/failures.c	Mon Feb 11 20:17:00 2008 +0200
@@ -126,7 +126,7 @@
 
 	recursed++;
 
-	T_FRAME(
+	T_BEGIN {
 		string_t *str = t_str_new(256);
 		log_prefix_add(str);
 		str_append(str, prefix);
@@ -136,7 +136,7 @@
 		str_append_c(str, '\n');
 
 		ret = log_fd_write(fd, str_data(str), str_len(str));
-	);
+	} T_END;
 
 	errno = old_errno;
 	recursed--;
@@ -393,7 +393,7 @@
 {
 	int ret;
 
-	T_FRAME(
+	T_BEGIN {
 		string_t *str;
 
 		str = t_str_new(512);
@@ -402,7 +402,7 @@
 		str_vprintfa(str, format, args);
 		str_append_c(str, '\n');
 		ret = write_full(2, str_data(str), str_len(str));
-	);
+	} T_END;
 
 	return ret;
 }
--- a/src/lib/file-copy.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib/file-copy.c	Mon Feb 11 20:17:00 2008 +0200
@@ -95,7 +95,7 @@
 {
 	int ret;
 
-	T_FRAME(
+	T_BEGIN {
 		const char *tmppath;
 
 		tmppath = t_strconcat(destpath, ".tmp", NULL);
@@ -110,6 +110,6 @@
 		}
 		if (ret < 0)
 			(void)unlink(tmppath);
-	);
+	} T_END;
 	return ret;
 }
--- a/src/lib/file-dotlock.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib/file-dotlock.c	Mon Feb 11 20:17:00 2008 +0200
@@ -630,9 +630,9 @@
 	int ret;
 
 	dotlock = file_dotlock_alloc(set);
-	T_FRAME(
+	T_BEGIN {
 		ret = file_dotlock_create_real(dotlock, path, flags);
-	);
+	} T_END;
 	if (ret <= 0 || (flags & DOTLOCK_CREATE_FLAG_CHECKONLY) != 0)
 		file_dotlock_free(&dotlock);
 
@@ -708,11 +708,11 @@
 	int ret;
 
 	dotlock = file_dotlock_alloc(set);
-	T_FRAME(
+	T_BEGIN {
 		const char *lock_path;
 
 		ret = dotlock_create(path, dotlock, flags, FALSE, &lock_path);
-	);
+	} T_END;
 
 	if (ret <= 0) {
 		file_dotlock_free(&dotlock);
@@ -770,13 +770,13 @@
 	dotlock->mtime = now;
 	buf.actime = buf.modtime = now;
 
-	T_FRAME(
+	T_BEGIN {
 		const char *lock_path = file_dotlock_get_lock_path(dotlock);
 		if (utime(lock_path, &buf) < 0) {
 			i_error("utime(%s) failed: %m", lock_path);
 			ret = -1;
 		}
-	);
+	} T_END;
 	return ret;
 }
 
--- a/src/lib/imem.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib/imem.c	Mon Feb 11 20:17:00 2008 +0200
@@ -58,7 +58,7 @@
 
 	va_start(args, str1);
 
-	T_FRAME(
+	T_BEGIN {
 		const char *temp = vstrconcat(str1, args, &len);
 	
 		if (temp == NULL)
@@ -68,7 +68,7 @@
 			ret = p_malloc(default_pool, len);
 			memcpy(ret, temp, len);
 		}
-	);
+	} T_END;
 
 	va_end(args);
         return ret;
--- a/src/lib/ioloop.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib/ioloop.c	Mon Feb 11 20:17:00 2008 +0200
@@ -286,9 +286,9 @@
 
 void io_loop_handle_timeouts(struct ioloop *ioloop)
 {
-	T_FRAME(
+	T_BEGIN {
 		io_loop_handle_timeouts_real(ioloop);
-	);
+	} T_END;
 }
 
 void io_loop_run(struct ioloop *ioloop)
--- a/src/lib/mkdir-parents.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib/mkdir-parents.c	Mon Feb 11 20:17:00 2008 +0200
@@ -24,9 +24,9 @@
 		if (p == NULL || p == path)
 			return -1; /* shouldn't happen */
 
-		T_FRAME(
+		T_BEGIN {
 			ret = mkdir_parents(t_strdup_until(path, p), mode);
-		);
+		} T_END;
 		if (ret < 0)
 			return -1;
 
--- a/src/lib/module-dir.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib/module-dir.c	Mon Feb 11 20:17:00 2008 +0200
@@ -225,9 +225,9 @@
 		if (p == NULL || strlen(p) != 3)
 			continue;
 
-		T_FRAME(
+		T_BEGIN {
 			check_duplicates(&names, name, dir);
-		);
+		} T_END;
 
 		name = p_strdup(pool, d->d_name);
 		array_append(&names, &name, 1);
@@ -249,7 +249,7 @@
 	}
 
 	module_pos = &modules;
-	for (i = 0; i < count; i++) T_FRAME_BEGIN {
+	for (i = 0; i < count; i++) T_BEGIN {
 		const char *name = names_p[i];
 		const char *path, *stripped_name;
 
@@ -268,7 +268,7 @@
 			*module_pos = module;
 			module_pos = &module->next;
 		}
-	} T_FRAME_END;
+	} T_END;
 
 	if (module_names_arr != NULL) {
 		/* make sure all modules were found */
@@ -292,10 +292,10 @@
 {
 	struct module *modules;
 
-	T_FRAME(
+	T_BEGIN {
 		modules = module_dir_load_real(dir, module_names,
 					       require_init_funcs, version);
-	);
+	} T_END;
 	return modules;
 }
 
@@ -305,9 +305,9 @@
 
 	for (module = modules; module != NULL; module = module->next) {
 		if (module->init != NULL) {
-			T_FRAME(
+			T_BEGIN {
 				module->init();
-			);
+			} T_END;
 		}
 	}
 }
@@ -324,7 +324,7 @@
 		return;
 
 	/* @UNSAFE: deinitialize in reverse order */
-	T_FRAME(
+	T_BEGIN {
 		rev = t_new(struct module *, count);
 		for (i = 0, module = modules; i < count; i++) {
 			rev[count-i-1] = module;
@@ -339,7 +339,7 @@
 				module->deinit = NULL;
 			}
 		}
-	);
+	} T_END;
 }
 
 void module_dir_unload(struct module **modules)
--- a/src/lib/nfs-workarounds.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib/nfs-workarounds.c	Mon Feb 11 20:17:00 2008 +0200
@@ -349,9 +349,9 @@
 	p = strrchr(path, '/');
 	if (p == NULL)
 		nfs_flush_file_handle_cache_dir(".", TRUE);
-	else T_FRAME(
+	else T_BEGIN {
 		nfs_flush_file_handle_cache_dir(t_strdup_until(path, p), TRUE);
-	);
+	} T_END;
 }
 
 void nfs_flush_file_handle_cache(const char *path)
--- a/src/lib/restrict-access.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib/restrict-access.c	Mon Feb 11 20:17:00 2008 +0200
@@ -178,10 +178,10 @@
 	   restricted groups at the same time. */
 	env = getenv("RESTRICT_SETEXTRAGROUPS");
 	if (is_root) {
-		T_FRAME(
+		T_BEGIN {
 			fix_groups_list(env, gid, preserve_groups,
 					&have_root_group);
-		);
+		} T_END;
 	}
 
 	/* chrooting */
--- a/src/lib/strfuncs.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib/strfuncs.c	Mon Feb 11 20:17:00 2008 +0200
@@ -196,7 +196,7 @@
 		if (ret != NULL)
 			t_buffer_alloc(len);
 	} else {
-		T_FRAME(
+		T_BEGIN {
 			temp = vstrconcat(str1, args, &len);
 			if (temp == NULL)
 				ret = NULL;
@@ -205,7 +205,7 @@
 				ret = p_malloc(pool, len);
 				memcpy(ret, temp, len);
 			}
-		);
+		} T_END;
 	}
 
 	va_end(args);
--- a/src/lib/unlink-old-files.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/lib/unlink-old-files.c	Mon Feb 11 20:17:00 2008 +0200
@@ -76,8 +76,8 @@
 {
 	int ret;
 
-	T_FRAME(
+	T_BEGIN {
 		ret = unlink_old_files_real(dir, prefix, min_time);
-	);
+	} T_END;
 	return ret;
 }
--- a/src/login-common/client-common.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/login-common/client-common.c	Mon Feb 11 20:17:00 2008 +0200
@@ -144,7 +144,7 @@
 
 void client_syslog(struct client *client, const char *msg)
 {
-	T_FRAME(
+	T_BEGIN {
 		client_syslog_real(client, msg);
-	);
+	} T_END;
 }
--- a/src/login-common/ssl-proxy-gnutls.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/login-common/ssl-proxy-gnutls.c	Mon Feb 11 20:17:00 2008 +0200
@@ -472,9 +472,9 @@
 	if (level != GCRY_LOG_FATAL)
 		return;
 
-	T_FRAME(
+	T_BEGIN {
 		i_error("gcrypt fatal: %s", t_strdup_vprintf(fmt, args));
-	);
+	} T_END;
 }
 
 void ssl_proxy_init(void)
--- a/src/master/auth-process.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/master/auth-process.c	Mon Feb 11 20:17:00 2008 +0200
@@ -259,9 +259,9 @@
 	}
 
 	while ((line = i_stream_next_line(process->input)) != NULL) {
-		T_FRAME(
+		T_BEGIN {
 			ret = auth_process_input_line(process, line);
-		);
+		} T_END;
 		if (!ret) {
 			auth_process_destroy(process);
 			break;
--- a/src/master/log.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/master/log.c	Mon Feb 11 20:17:00 2008 +0200
@@ -47,9 +47,9 @@
 	}
 
 	while ((line = i_stream_next_line(log_io->stream)) != NULL) {
-		T_FRAME(
+		T_BEGIN {
 			ret = log_it(log_io, line, FALSE);
-		);
+		} T_END;
 		if (!ret)
 			return FALSE;
 	}
@@ -246,9 +246,9 @@
 	/* write partial data as well */
 	data = i_stream_get_data(log_io->stream, &size);
 	if (size != 0) {
-		T_FRAME(
+		T_BEGIN {
 			log_it(log_io, t_strndup(data, size), TRUE);
-		);
+		} T_END;
 	}
 
 	if (log_io == log_ios)
--- a/src/master/login-process.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/master/login-process.c	Mon Feb 11 20:17:00 2008 +0200
@@ -97,7 +97,7 @@
 	memset(&master_reply, 0, sizeof(master_reply));
 	if (user == NULL)
 		master_reply.status = MASTER_LOGIN_STATUS_INTERNAL_ERROR;
-	else T_FRAME_BEGIN {
+	else T_BEGIN {
 		struct login_group *group = request->process->group;
 
 		master_reply.status =
@@ -106,7 +106,7 @@
 					    request->fd, &request->local_ip,
 					    &request->remote_ip, user, args,
 					    FALSE);
-	} T_FRAME_END;
+	} T_END;
 
 	/* reply to login */
 	master_reply.tag = request->login_tag;
--- a/src/master/main.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/master/main.c	Mon Feb 11 20:17:00 2008 +0200
@@ -151,9 +151,9 @@
 	}
 
 	if (!IS_INETD()) {
-		T_FRAME(
+		T_BEGIN {
 			listeners_open_fds(NULL, FALSE);
-		);
+		} T_END;
 	}
 
 	/* close stdin and stdout. */
@@ -447,19 +447,19 @@
 	}
 
 	/* read and verify settings before forking */
-	T_FRAME(
+	T_BEGIN {
 		master_settings_init();
 		if (!master_settings_read(configfile, exec_protocol != NULL,
 					  dump_config || log_error))
 			i_fatal("Invalid configuration in %s", configfile);
-	);
+	} T_END;
 
 	if (dump_config) {
 		master_settings_dump(settings_root, dump_config_nondefaults);
 		return 0;
 	}
 
-	if (ask_key_pass) T_FRAME_BEGIN {
+	if (ask_key_pass) T_BEGIN {
 		const char *prompt;
 
 		prompt = t_strdup_printf("Give the password for SSL key file "
@@ -467,7 +467,7 @@
 					 settings_root->defaults->ssl_key_file);
 		askpass(prompt, ssl_manual_key_password,
 			sizeof(ssl_manual_key_password));
-	} T_FRAME_END;
+	} T_END;
 
 	/* save TZ environment. AIX depends on it to get the timezone
 	   correctly. */
--- a/src/plugins/acl/acl-api.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/plugins/acl/acl-api.c	Mon Feb 11 20:17:00 2008 +0200
@@ -102,9 +102,9 @@
 
 	if (pool->datastack_pool)
 		return acl_object_get_my_rights_real(aclobj, pool, rights_r);
-	T_FRAME(
+	T_BEGIN {
 		ret = acl_object_get_my_rights_real(aclobj, pool, rights_r);
-	);
+	} T_END;
 	return ret;
 }
 
--- a/src/plugins/acl/acl-backend-vfile-acllist.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/plugins/acl/acl-backend-vfile-acllist.c	Mon Feb 11 20:17:00 2008 +0200
@@ -166,12 +166,12 @@
 		acllist.name = p_strdup(backend->acllist_pool, name);
 		array_append(&backend->acllist, &acllist, 1);
 
-		T_FRAME(
+		T_BEGIN {
 			const char *line;
 			line = t_strdup_printf("%s %s\n",
 					       dec2str(acllist.mtime), name);
 			o_stream_send_str(output, line);
-		);
+		} T_END;
 	}
 	acl_object_deinit(&aclobj);
 	return ret < 0 ? -1 : 0;
--- a/src/plugins/acl/acl-backend-vfile.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/plugins/acl/acl-backend-vfile.c	Mon Feb 11 20:17:00 2008 +0200
@@ -352,10 +352,10 @@
 
 	linenum = 1;
 	while ((line = i_stream_read_next_line(input)) != NULL) {
-		T_FRAME(
+		T_BEGIN {
 			ret = acl_object_vfile_parse_line(aclobj, path, line,
 							  linenum++);
-		);
+		} T_END;
 		if (ret < 0)
 			break;
 	}
--- a/src/plugins/acl/acl-backend.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/plugins/acl/acl-backend.c	Mon Feb 11 20:17:00 2008 +0200
@@ -67,11 +67,11 @@
 		      i_strcmp_p);
 	}
 
-	T_FRAME(
+	T_BEGIN {
 		if (acl_backend_vfile.init(backend, data) < 0)
 			i_fatal("acl: backend vfile init failed with data: %s",
 				data);
-	);
+	} T_END;
 
 	backend->default_aclmask =
 		acl_cache_mask_init(backend->cache, backend->pool,
--- a/src/plugins/acl/acl-cache.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/plugins/acl/acl-cache.c	Mon Feb 11 20:17:00 2008 +0200
@@ -117,9 +117,9 @@
 {
 	struct acl_mask *mask;
 
-	T_FRAME(
+	T_BEGIN {
 		mask = acl_cache_mask_init_real(cache, pool, rights);
-	);
+	} T_END;
 	return mask;
 }
 
@@ -411,9 +411,9 @@
 		return NULL;
 
 	if (obj_cache->my_current_rights == NULL) {
-		T_FRAME(
+		T_BEGIN {
 			acl_cache_my_current_rights_recalculate(obj_cache);
-		);
+		} T_END;
 	}
 	return obj_cache->my_current_rights;
 }
--- a/src/plugins/acl/acl-mailbox-list.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/plugins/acl/acl-mailbox-list.c	Mon Feb 11 20:17:00 2008 +0200
@@ -140,9 +140,9 @@
 	ctx->ctx.list = list;
 	ctx->ctx.flags = flags;
 
-	T_FRAME(
+	T_BEGIN {
 		ret = acl_mailbox_try_list_fast(ctx, patterns);
-	);
+	} T_END;
 	if (!ret) {
 		ctx->super_ctx = alist->module_ctx.super.
 			iter_init(list, patterns, flags);
@@ -218,9 +218,9 @@
 	int ret;
 
 	while ((info = acl_mailbox_list_iter_next_info(ctx)) != NULL) {
-		T_FRAME(
+		T_BEGIN {
 			ret = acl_mailbox_list_info_is_visible(ctx, info);
-		);
+		} T_END;
 		if (ret > 0)
 			break;
 		if (ret < 0) {
@@ -288,14 +288,14 @@
 		break;
 	case MAILBOX_NAME_NOINFERIORS:
 		/* have to check if we are allowed to see the parent */
-		T_FRAME(
+		T_BEGIN {
 			const char *parent;
 
 			parent = acl_mailbox_list_get_parent_mailbox_name(list,
 									  name);
 			ret = acl_mailbox_list_have_right(alist, parent,
 						ACL_STORAGE_RIGHT_LOOKUP, NULL);
-		);
+		} T_END;
 
 		if (ret < 0)
 			return -1;
@@ -358,11 +358,11 @@
 	}
 
 	/* and create the new one under the parent mailbox */
-	T_FRAME(
+	T_BEGIN {
 		ret = acl_mailbox_list_have_right(alist,
 			acl_mailbox_list_get_parent_mailbox_name(list, newname),
 			ACL_STORAGE_RIGHT_CREATE, NULL);
-	);
+	} T_END;
 
 	if (ret <= 0) {
 		if (ret == 0) {
--- a/src/plugins/acl/acl-storage.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/plugins/acl/acl-storage.c	Mon Feb 11 20:17:00 2008 +0200
@@ -134,11 +134,11 @@
 	struct mailbox_list *list = mail_storage_get_list(storage);
 	int ret;
 
-	T_FRAME(
+	T_BEGIN {
 		ret = acl_storage_have_right(storage,
 			acl_mailbox_list_get_parent_mailbox_name(list, name),
 			ACL_STORAGE_RIGHT_CREATE, NULL);
-	);
+	} T_END;
 
 	if (ret <= 0) {
 		if (ret == 0) {
--- a/src/plugins/convert/convert-storage.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/plugins/convert/convert-storage.c	Mon Feb 11 20:17:00 2008 +0200
@@ -328,11 +328,11 @@
 	iter = mailbox_list_iter_init(mail_storage_get_list(source_storage),
 				      "*", MAILBOX_LIST_ITER_RETURN_NO_FLAGS);
 	while ((info = mailbox_list_iter_next(iter)) != NULL) {
-		T_FRAME(
+		T_BEGIN {
 			ret = mailbox_convert_list_item(source_storage,
 							dest_ns->storage,
 							info, dotlock, set);
-		);
+		} T_END;
 		if (ret < 0)
 			break;
 
--- a/src/plugins/expire/expire-plugin.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/plugins/expire/expire-plugin.c	Mon Feb 11 20:17:00 2008 +0200
@@ -114,7 +114,7 @@
 		return -1;
 	}
 
-	T_FRAME_BEGIN {
+	T_BEGIN {
 		const char *key, *value;
 
 		key = t_strconcat(DICT_PATH_SHARED, expire.username, "/",
@@ -137,7 +137,7 @@
 			dict_set(dctx, key, dec2str(new_stamp));
 			dict_transaction_commit(dctx);
 		}
-	} T_FRAME_END;
+	} T_END;
 	i_free(xt);
 	return 0;
 }
--- a/src/plugins/expire/expire-tool.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/plugins/expire/expire-tool.c	Mon Feb 11 20:17:00 2008 +0200
@@ -173,7 +173,7 @@
 			   so stop processing */
 			break;
 		} else {
-			T_FRAME(
+			T_BEGIN {
 				const char *username;
 
 				username = t_strdup_until(userp, p);
@@ -181,7 +181,7 @@
 						mailbox,
 						expire_box->expire_secs,
 						&oldest);
-			);
+			} T_END;
 			if (ret < 0) {
 				/* failed to update */
 			} else if (oldest == 0) {
--- a/src/plugins/fts-squat/squat-trie.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/plugins/fts-squat/squat-trie.c	Mon Feb 11 20:17:00 2008 +0200
@@ -653,18 +653,18 @@
 
 	if (data_len != str_len) {
 		/* different lengths, can't match */
-		T_FRAME(
+		T_BEGIN {
 			node_split_string(ctx, node);
-		);
+		} T_END;
 		return FALSE;
 	}
 
 	for (i = 0; i < data_len; i++) {
 		if (data[i] != str[i]) {
 			/* non-match */
-			T_FRAME(
+			T_BEGIN {
 				node_split_string(ctx, node);
-			);
+			} T_END;
 			return FALSE;
 		}
 	}
@@ -909,9 +909,9 @@
 {
 	int ret;
 
-	T_FRAME(
+	T_BEGIN {
 		ret = squat_trie_build_more_real(ctx, uid, type, input, size);
-	);
+	} T_END;
 	return ret;
 }
 
@@ -977,10 +977,10 @@
 	children = NODE_CHILDREN_NODES(node);
 	node_offsets = t_new(uoff_t, child_count);
 	for (i = 0; i < child_count; i++) {
-		T_FRAME(
+		T_BEGIN {
 			ret = squat_write_node(ctx, &children[i],
 					       &node_offsets[i], level + 1);
-		);
+		} T_END;
 		if (ret < 0)
 			return -1;
 	}
@@ -999,9 +999,9 @@
 	if (ctx->trie->root.next_uid == 0)
 		return 0;
 
-	T_FRAME(
+	T_BEGIN {
 		ret = squat_write_node(ctx, &ctx->trie->root, &node_offset, 0);
-	);
+	} T_END;
 	if (ret < 0)
 		return -1;
 
@@ -1937,10 +1937,10 @@
 {
 	int ret;
 
-	T_FRAME(
+	T_BEGIN {
 		ret = squat_trie_lookup_real(trie, str, type,
 					     definite_uids, maybe_uids);
-	);
+	} T_END;
 	return ret;
 }
 
--- a/src/plugins/fts-squat/squat-uidlist.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/plugins/fts-squat/squat-uidlist.c	Mon Feb 11 20:17:00 2008 +0200
@@ -263,11 +263,11 @@
 		uid_count--;
 	}
 
-	T_FRAME(
+	T_BEGIN {
 		ret = uidlist_write_array(output, uid_list, uid_count,
 					  packed_flags, offset,
 					  write_size, size_r);
-	);
+	} T_END;
 	return ret;
 }
 
@@ -914,11 +914,11 @@
 {
 	int ret;
 
-	T_FRAME(
+	T_BEGIN {
 		ret = uidlist_write_array(ctx->output, array_idx(uids, 0),
 					  array_count(uids), 0, 0, FALSE,
 					  &ctx->list_sizes[ctx->list_idx]);
-	);
+	} T_END;
 	if (ret < 0)
 		squat_uidlist_set_corrupted(ctx->uidlist, "Broken uidlists");
 
--- a/src/plugins/fts/fts-api.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/plugins/fts/fts-api.c	Mon Feb 11 20:17:00 2008 +0200
@@ -226,10 +226,10 @@
 		array_clear(definite_uids);
 		array_clear(maybe_uids);
 	} else {
-		T_FRAME(
+		T_BEGIN {
 			fts_merge_maybies(maybe_uids, definite_uids,
 					  &tmp_maybe, &tmp_definite);
-		);
+		} T_END;
 		/* keep only what exists in both lists. the rest is in
 		   maybies or not wanted */
 		seq_range_array_remove_invert_range(definite_uids,
--- a/src/plugins/fts/fts-search.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/plugins/fts/fts-search.c	Mon Feb 11 20:17:00 2008 +0200
@@ -121,15 +121,15 @@
 	i_array_init(&fctx->maybe_seqs, 64);
 
 	/* start filtering with the best arg */
-	T_FRAME(
+	T_BEGIN {
 		ret = fts_search_lookup_arg(fctx, fctx->best_arg, FALSE);
-	);
+	} T_END;
 	/* filter the rest */
 	for (arg = fctx->args; arg != NULL && ret == 0; arg = arg->next) {
 		if (arg != fctx->best_arg) {
-			T_FRAME(
+			T_BEGIN {
 				ret = fts_search_lookup_arg(fctx, arg, TRUE);
-			);
+			} T_END;
 		}
 	}
 
--- a/src/plugins/fts/fts-storage.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/plugins/fts/fts-storage.c	Mon Feb 11 20:17:00 2008 +0200
@@ -265,7 +265,7 @@
 			 ctx->search_start_time.tv_usec) / 1000;
 		secs = (msecs / (percentage / 100.0) - msecs) / 1000;
 
-		T_FRAME(
+		T_BEGIN {
 			const char *text;
 
 			text = t_strdup_printf("Indexed %d%% of the mailbox, "
@@ -274,7 +274,7 @@
 			box->storage->callbacks->
 				notify_ok(box, text,
 				box->storage->callback_context);
-		);
+		} T_END;
 	}
 	ctx->last_notify = ioloop_timeval;
 }
@@ -289,9 +289,9 @@
 		fts_build_notify(ctx);
 
 	while (mailbox_search_next(ctx->search_ctx, ctx->mail) > 0) {
-		T_FRAME(
+		T_BEGIN {
 			ret = fts_build_mail(ctx, ctx->mail->uid);
-		);
+		} T_END;
 
 		if (ret < 0)
 			return -1;
--- a/src/plugins/mail-log/mail-log-plugin.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/plugins/mail-log/mail-log-plugin.c	Mon Feb 11 20:17:00 2008 +0200
@@ -249,9 +249,9 @@
 
 	group = array_get(&lt->group_changes, &count);
 	for (i = 0; i < count; i++) {
-		T_FRAME(
+		T_BEGIN {
 			mail_log_group(box, &group[i]);
-		);
+		} T_END;
 	}
 }
 
@@ -321,9 +321,9 @@
 	struct mail_private *mail = (struct mail_private *)_mail;
 	union mail_module_context *lmail = MAIL_LOG_MAIL_CONTEXT(mail);
 
-	T_FRAME(
+	T_BEGIN {
 		mail_log_action(_mail, MAIL_LOG_EVENT_EXPUNGE, NULL);
-	);
+	} T_END;
 	lmail->super.expunge(_mail);
 }
 
@@ -353,11 +353,11 @@
 	if (((old_flags ^ new_flags) & MAIL_DELETED) == 0)
 		return;
 
-	T_FRAME(
+	T_BEGIN {
 		mail_log_action(_mail, (new_flags & MAIL_DELETED) != 0 ?
 				MAIL_LOG_EVENT_DELETE :
 				MAIL_LOG_EVENT_UNDELETE, NULL);
-	);
+	} T_END;
 }
 
 static struct mail *
@@ -393,11 +393,11 @@
 	if (lbox->super.copy(t, mail, flags, keywords, dest_mail) < 0)
 		return -1;
 
-	T_FRAME(
+	T_BEGIN {
 		name = str_sanitize(mailbox_get_name(t->box),
 				    MAILBOX_NAME_LOG_LEN);
 		mail_log_action(mail, MAIL_LOG_EVENT_COPY, name);
-	);
+	} T_END;
 	return 0;
 }
 
--- a/src/plugins/quota/quota-dict.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/plugins/quota/quota-dict.c	Mon Feb 11 20:17:00 2008 +0200
@@ -81,11 +81,11 @@
 	if (quota_count(root->root.quota, &bytes, &count) < 0)
 		return -1;
 
-	T_FRAME(
+	T_BEGIN {
 		dt = dict_transaction_begin(root->dict);
 		dict_set(dt, DICT_QUOTA_CURRENT_BYTES_PATH, dec2str(bytes));
 		dict_set(dt, DICT_QUOTA_CURRENT_COUNT_PATH, dec2str(count));
-	);
+	} T_END;
 
 	if (dict_transaction_commit(dt) < 0)
 		i_error("dict_quota: Couldn't update quota");
@@ -109,7 +109,7 @@
 	else
 		return 0;
 
-	T_FRAME(
+	T_BEGIN {
 		const char *value;
 
 		ret = dict_lookup(root->dict, unsafe_data_stack_pool,
@@ -130,7 +130,7 @@
 						       value_r);
 			}
 		}
-	);
+	} T_END;
 	return ret;
 }
 
--- a/src/plugins/quota/quota-dirsize.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/plugins/quota/quota-dirsize.c	Mon Feb 11 20:17:00 2008 +0200
@@ -187,9 +187,9 @@
 	if (strcasecmp(name, QUOTA_NAME_STORAGE_BYTES) != 0)
 		return 0;
 
-	T_FRAME(
+	T_BEGIN {
 		ret = get_quota_root_usage(_root, value_r);
-	);
+	} T_END;
 
 	return ret < 0 ? -1 : 1;
 }
--- a/src/plugins/quota/quota-fs.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/plugins/quota/quota-fs.c	Mon Feb 11 20:17:00 2008 +0200
@@ -568,9 +568,9 @@
 	if (strcmp(root->mount->type, "nfs") == 0) {
 		int ret;
 
-		T_FRAME(
+		T_BEGIN {
 			ret = do_rquota(root, bytes, value_r, limit_r);
-		);
+		} T_END;
 		return ret;
 	}
 #endif
--- a/src/plugins/quota/quota-maildir.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/plugins/quota/quota-maildir.c	Mon Feb 11 20:17:00 2008 +0200
@@ -149,7 +149,7 @@
 				return NULL;
 		}
 
-		T_FRAME(
+		T_BEGIN {
 			const char *path;
 
 			path = mail_storage_get_mailbox_path(ctx->storage,
@@ -159,7 +159,7 @@
 			str_append(ctx->path, path);
 			str_append(ctx->path, ctx->state == 0 ?
 				   "/new" : "/cur");
-		);
+		} T_END;
 
 		if (++ctx->state == 2)
 			ctx->state = 0;
@@ -277,11 +277,11 @@
 		if (mtime > root->recalc_last_stamp)
 			root->recalc_last_stamp = mtime;
 
-		T_FRAME(
+		T_BEGIN {
 			if (maildir_sum_dir(dir, &root->total_bytes,
 					    &root->total_count) < 0)
 				ret = -1;
-		);
+		} T_END;
 	}
 	if (maildir_list_deinit(ctx) < 0)
 		ret = -1;
@@ -571,9 +571,9 @@
 	if (!maildirquota_limits_init(root))
 		return 0;
 
-	T_FRAME(
+	T_BEGIN {
 		ret = maildirsize_read(root);
-	);
+	} T_END;
 	if (ret == 0) {
 		if (root->message_bytes_limit == (uint64_t)-1 &&
 		    root->message_count_limit == (uint64_t)-1) {
--- a/src/pop3/client.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/pop3/client.c	Mon Feb 11 20:17:00 2008 +0200
@@ -312,7 +312,7 @@
 
 	va_start(va, fmt);
 
-	T_FRAME(
+	T_BEGIN {
 		string_t *str;
 
 		str = t_str_new(256);
@@ -322,7 +322,7 @@
 		ret = o_stream_send(client->output,
 				    str_data(str), str_len(str));
 		i_assert(ret < 0 || (size_t)ret == str_len(str));
-	);
+	} T_END;
 	if (ret >= 0) {
 		if (o_stream_get_buffer_used_size(client->output) <
 		    OUTBUF_THROTTLE_SIZE) {
@@ -400,10 +400,10 @@
 		if (args != NULL)
 			*args++ = '\0';
 
-		T_FRAME(
+		T_BEGIN {
 			ret = client_command_execute(client, line,
 						     args != NULL ? args : "");
-		);
+		} T_END;
 		if (ret >= 0) {
 			client->bad_counter = 0;
 			if (client->cmd != NULL) {
--- a/src/tests/test-lib.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/tests/test-lib.c	Mon Feb 11 20:17:00 2008 +0200
@@ -188,9 +188,9 @@
 	const char *reason = NULL;
 
 	for (i = 1; i <= N_ELEMENTS(aqueue_input) + 1 && reason == NULL; i++) {
-		T_FRAME(
+		T_BEGIN {
 			reason = test_aqueue2(i);
-		);
+		} T_END;
 	}
 	test_out_reason("aqueue", reason == NULL, reason);
 }
@@ -488,9 +488,9 @@
 
 	test_init();
 	for (i = 0; i < N_ELEMENTS(test_functions); i++) {
-		T_FRAME(
+		T_BEGIN {
 			test_functions[i]();
-		);
+		} T_END;
 	}
 	return test_deinit();
 }
--- a/src/util/idxview.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/util/idxview.c	Mon Feb 11 20:17:00 2008 +0200
@@ -415,11 +415,11 @@
 	}
 	for (seq = 1; seq <= index->map->hdr.messages_count; seq++) {
 		if (uid == 0 || mail_index_lookup(view, seq)->uid == uid) {
-			T_FRAME(
+			T_BEGIN {
 				dump_record(view, seq);
 				dump_cache(cache_view, seq);
 				printf("\n");
-			);
+			} T_END;
 		}
 	}
 	mail_cache_view_close(cache_view);
--- a/src/util/listview.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/util/listview.c	Mon Feb 11 20:17:00 2008 +0200
@@ -106,7 +106,7 @@
 			       path, name, crc32_str(name), rec.name_hash);
 		}
 
-		if (rec.dir_offset != 0) T_FRAME_BEGIN {
+		if (rec.dir_offset != 0) T_BEGIN {
 			const char *new_path;
 
 			lseek(fd, rec.dir_offset, SEEK_SET);
@@ -115,7 +115,7 @@
 			else
 				new_path = t_strdup_printf("%s%s/", path, name);
 			dump_dir(fd, show_offset, new_path);
-		} T_FRAME_END;
+		} T_END;
 
 		offset += sizeof(rec);
 	}
--- a/src/util/logview.c	Mon Feb 11 19:58:43 2008 +0200
+++ b/src/util/logview.c	Mon Feb 11 20:17:00 2008 +0200
@@ -291,9 +291,9 @@
 
 	dump_hdr(fd);
 	do {
-		T_FRAME(
+		T_BEGIN {
 			ret = dump_record(fd);
-		);
+		} T_END;
 	} while (ret > 0);
 	return 0;
 }