changeset 6414:a6a49d5efc59 HEAD

Changed buffer_free() and buffer_free_without_data() APIs to take ** pointer which is set to NULL instead of hiding it with a macro.
author Timo Sirainen <tss@iki.fi>
date Sun, 16 Sep 2007 12:09:30 +0300
parents a991fa000b20
children b0096861c390
files src/auth/auth-request-handler.c src/auth/auth-worker-server.c src/auth/mech-rpa.c src/auth/password-scheme-rpa.c src/lib-auth/auth-client.c src/lib-auth/auth-server-connection.c src/lib-index/mail-cache-compress.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-ext.c src/lib-index/mail-index-sync-update.c src/lib-index/mail-transaction-log-append.c src/lib-index/mail-transaction-log-file.c src/lib-index/mailbox-list-index-sync.c src/lib-mail/message-decoder.c src/lib-mail/message-header-parser.c src/lib-ntlm/ntlm-encrypt.c src/lib-ntlm/ntlm-message.c src/lib-storage/index/index-mail.c src/lib/array.h src/lib/buffer.c src/lib/buffer.h src/lib/file-cache.c src/lib/istream-seekable.c src/lib/str.c src/plugins/fts-squat/squat-trie.c src/plugins/fts-squat/squat-uidlist.c src/pop3/client.c
diffstat 30 files changed, 46 insertions(+), 54 deletions(-) [+]
line wrap: on
line diff
--- a/src/auth/auth-request-handler.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/auth/auth-request-handler.c	Sun Sep 16 12:09:30 2007 +0300
@@ -513,6 +513,6 @@
 void auth_request_handler_deinit(void)
 {
 	auth_request_handler_flush_failures();
-	buffer_free(auth_failures_buf);
+	buffer_free(&auth_failures_buf);
 	timeout_remove(&to_auth_failures);
 }
--- a/src/auth/auth-worker-server.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/auth/auth-worker-server.c	Sun Sep 16 12:09:30 2007 +0300
@@ -128,7 +128,7 @@
 	}
 
 
-	buffer_free(conn->requests);
+	buffer_free(&conn->requests);
 	io_remove(&conn->io);
 	i_stream_destroy(&conn->input);
 	o_stream_destroy(&conn->output);
@@ -393,8 +393,7 @@
 		connp = buffer_get_modifiable_data(connections, NULL);
 		auth_worker_destroy(*connp);
 	}
-	buffer_free(connections);
-	connections = NULL;
+	buffer_free(&connections);
 
 	timeout_remove(&to);
 	i_free(worker_socket_path);
--- a/src/auth/mech-rpa.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/auth/mech-rpa.c	Sun Sep 16 12:09:30 2007 +0300
@@ -401,7 +401,7 @@
 	buffer_append(buf, str_c(realms), realms_len);
 
 	*size = buffer_get_used_size(buf);
-	return buffer_free_without_data(buf);
+	return buffer_free_without_data(&buf);
 }
 
 static const unsigned char *
@@ -434,7 +434,7 @@
 	buffer_append_c(buf, 0);
 
 	*size = buffer_get_used_size(buf);
-	return buffer_free_without_data(buf);
+	return buffer_free_without_data(&buf);
 }
 
 static bool verify_credentials(struct rpa_auth_request *request,
--- a/src/auth/password-scheme-rpa.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/auth/password-scheme-rpa.c	Sun Sep 16 12:09:30 2007 +0300
@@ -21,7 +21,7 @@
 	}
 
 	*size = buffer_get_used_size(buf);
-	return buffer_free_without_data(buf);
+	return buffer_free_without_data(&buf);
 }
 
 void password_generate_rpa(const char *pw, unsigned char result[])
--- a/src/lib-auth/auth-client.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/lib-auth/auth-client.c	Sun Sep 16 12:09:30 2007 +0300
@@ -37,7 +37,7 @@
 	size /= sizeof(*mech);
 	for (i = 0; i < size; i++)
 		i_free(mech[i].name);
-	buffer_free(client->available_auth_mechs);
+	buffer_free(&client->available_auth_mechs);
 
 	while (client->connections != NULL) {
 		next = client->connections->next;
--- a/src/lib-auth/auth-server-connection.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/lib-auth/auth-server-connection.c	Sun Sep 16 12:09:30 2007 +0300
@@ -302,7 +302,7 @@
 	i_assert(conn->refcount == 0);
 
 	hash_destroy(conn->requests);
-	buffer_free(conn->auth_mechs_buf);
+	buffer_free(&conn->auth_mechs_buf);
 
 	i_stream_unref(&conn->input);
 	o_stream_unref(&conn->output);
--- a/src/lib-index/mail-cache-compress.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/lib-index/mail-cache-compress.c	Sun Sep 16 12:09:30 2007 +0300
@@ -256,8 +256,8 @@
 	o_stream_send(output, ctx.buffer->data, ctx.buffer->used);
 
 	hdr.used_file_size = output->offset;
-	buffer_free(ctx.buffer);
-	buffer_free(ctx.field_seen);
+	buffer_free(&ctx.buffer);
+	buffer_free(&ctx.field_seen);
 
 	o_stream_seek(output, 0);
 	o_stream_send(output, &hdr, sizeof(hdr));
--- a/src/lib-index/mail-cache-transaction.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/lib-index/mail-cache-transaction.c	Sun Sep 16 12:09:30 2007 +0300
@@ -95,7 +95,7 @@
 	ctx->view->trans_seq1 = ctx->view->trans_seq2 = 0;
 
 	if (ctx->cache_data != NULL)
-		buffer_free(ctx->cache_data);
+		buffer_free(&ctx->cache_data);
 	if (array_is_created(&ctx->cache_data_seq))
 		array_free(&ctx->cache_data_seq);
 	array_free(&ctx->reservations);
--- a/src/lib-index/mail-cache.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/lib-index/mail-cache.c	Sun Sep 16 12:09:30 2007 +0300
@@ -619,6 +619,6 @@
 		mail_index_view_close(&view->trans_view);
 
 	array_free(&view->looping_offsets);
-	buffer_free(view->cached_exists_buf);
+	buffer_free(&view->cached_exists_buf);
 	i_free(view);
 }
--- a/src/lib-index/mail-index-fsck.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/lib-index/mail-index-fsck.c	Sun Sep 16 12:09:30 2007 +0300
@@ -245,7 +245,7 @@
 	/* keywords changed unexpectedly, so all views are broken now */
 	index->inconsistency_id++;
 
-	buffer_free(dest);
+	buffer_free(&dest);
 	t_pop();
 }
 
--- a/src/lib-index/mail-index-map.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/lib-index/mail-index-map.c	Sun Sep 16 12:09:30 2007 +0300
@@ -485,9 +485,7 @@
 
 	i_assert(rec_map->mmap_base == NULL);
 
-	buffer_free(rec_map->buffer);
-	rec_map->buffer = NULL;
-
+	buffer_free(&rec_map->buffer);
 	if (file_size > SSIZE_T_MAX) {
 		/* too large file to map into memory */
 		mail_index_set_error(index, "Index file too large: %s",
@@ -925,8 +923,7 @@
 
 	if (rec_map->buffer != NULL) {
 		i_assert(rec_map->mmap_base == NULL);
-		buffer_free(rec_map->buffer);
-		rec_map->buffer = NULL;
+		buffer_free(&rec_map->buffer);
 	} else if (rec_map->mmap_base != NULL) {
 		i_assert(rec_map->buffer == NULL);
 		if (munmap(rec_map->mmap_base, rec_map->mmap_size) < 0)
@@ -969,7 +966,7 @@
 		pool_unref(map->extension_pool);
 	if (array_is_created(&map->keyword_idx_map))
 		array_free(&map->keyword_idx_map);
-	buffer_free(map->hdr_copy_buf);
+	buffer_free(&map->hdr_copy_buf);
 	i_free(map);
 }
 
--- a/src/lib-index/mail-index-sync-ext.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/lib-index/mail-index-sync-ext.c	Sun Sep 16 12:09:30 2007 +0300
@@ -245,7 +245,7 @@
 		buffer_append_zero(new_buffer, space);
 	}
 
-	buffer_free(map->rec_map->buffer);
+	buffer_free(&map->rec_map->buffer);
 	map->rec_map->buffer = new_buffer;
 	map->rec_map->records =
 		buffer_get_modifiable_data(map->rec_map->buffer, NULL);
--- a/src/lib-index/mail-index-sync-update.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/lib-index/mail-index-sync-update.c	Sun Sep 16 12:09:30 2007 +0300
@@ -617,7 +617,7 @@
 void mail_index_sync_map_deinit(struct mail_index_sync_map_ctx *sync_map_ctx)
 {
 	if (sync_map_ctx->unknown_extensions != NULL)
-		buffer_free(sync_map_ctx->unknown_extensions);
+		buffer_free(&sync_map_ctx->unknown_extensions);
 	if (sync_map_ctx->expunge_handlers_used)
 		mail_index_sync_deinit_expunge_handlers(sync_map_ctx);
 	mail_index_sync_deinit_handlers(sync_map_ctx);
--- a/src/lib-index/mail-transaction-log-append.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/lib-index/mail-transaction-log-append.c	Sun Sep 16 12:09:30 2007 +0300
@@ -559,10 +559,10 @@
 
 	append_offset = file->sync_offset;
 	if (log_buffer_write(&ctx) < 0) {
-		buffer_free(ctx.output);
+		buffer_free(&ctx.output);
 		return -1;
 	}
-	buffer_free(ctx.output);
+	buffer_free(&ctx.output);
 
 	if ((t->flags & MAIL_INDEX_TRANSACTION_FLAG_HIDE) != 0) {
 		/* mark the area covered by this transaction hidden */
--- a/src/lib-index/mail-transaction-log-file.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/lib-index/mail-transaction-log-file.c	Sun Sep 16 12:09:30 2007 +0300
@@ -76,7 +76,7 @@
 		file->log->head = NULL;
 
 	if (file->buffer != NULL) 
-		buffer_free(file->buffer);
+		buffer_free(&file->buffer);
 
 	if (file->mmap_base != NULL) {
 		if (munmap(file->mmap_base, file->mmap_size) < 0) {
@@ -956,7 +956,7 @@
 {
 	if (file->buffer != NULL) {
 		/* in case we just switched to mmaping */
-		buffer_free(file->buffer);
+		buffer_free(&file->buffer);
 	}
 	file->mmap_size = file->last_size;
 	file->mmap_base = mmap(NULL, file->mmap_size, PROT_READ, MAP_SHARED,
@@ -996,7 +996,7 @@
 	}
 	file->mmap_base = NULL;
 	file->mmap_size = 0;
-	buffer_free(file->buffer);
+	buffer_free(&file->buffer);
 }
 
 int mail_transaction_log_file_map(struct mail_transaction_log_file *file,
@@ -1111,7 +1111,7 @@
 
 		buf = buffer_create_dynamic(default_pool, file->mmap_size);
 		buffer_append(buf, file->mmap_base, file->mmap_size);
-		buffer_free(file->buffer);
+		buffer_free(&file->buffer);
 		file->buffer = buf;
 
 		/* and lose the mmap */
--- a/src/lib-index/mailbox-list-index-sync.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/lib-index/mailbox-list-index-sync.c	Sun Sep 16 12:09:30 2007 +0300
@@ -888,7 +888,7 @@
 	}
 	if (ctx->index->mmap_base == NULL) {
 		o_stream_destroy(&ctx->output);
-		buffer_free(ctx->output_buf);
+		buffer_free(&ctx->output_buf);
 	}
 	return ret;
 }
--- a/src/lib-mail/message-decoder.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/lib-mail/message-decoder.c	Sun Sep 16 12:09:30 2007 +0300
@@ -66,8 +66,8 @@
 	if (ctx->charset_trans != NULL)
 		charset_to_utf8_end(&ctx->charset_trans);
 
-	buffer_free(ctx->buf);
-	buffer_free(ctx->buf2);
+	buffer_free(&ctx->buf);
+	buffer_free(&ctx->buf2);
 	i_free(ctx->content_charset);
 	i_free(ctx);
 }
--- a/src/lib-mail/message-header-parser.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/lib-mail/message-header-parser.c	Sun Sep 16 12:09:30 2007 +0300
@@ -45,7 +45,7 @@
 
 	i_stream_skip(ctx->input, ctx->skip);
 	if (ctx->value_buf != NULL)
-		buffer_free(ctx->value_buf);
+		buffer_free(&ctx->value_buf);
 	str_free(&ctx->name);
 	i_free(ctx);
 
--- a/src/lib-ntlm/ntlm-encrypt.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/lib-ntlm/ntlm-encrypt.c	Sun Sep 16 12:09:30 2007 +0300
@@ -29,7 +29,7 @@
 	}
 
 	*size = buffer_get_used_size(wstr);
-	return buffer_free_without_data(wstr);
+	return buffer_free_without_data(&wstr);
 }
 
 const unsigned char *
--- a/src/lib-ntlm/ntlm-message.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/lib-ntlm/ntlm-message.c	Sun Sep 16 12:09:30 2007 +0300
@@ -170,7 +170,7 @@
 				   NTPLMSSP_V2_TARGET_END);
 
 	*size = buffer_get_used_size(buf);
-	return buffer_free_without_data(buf);
+	return buffer_free_without_data(&buf);
 }
 
 static int ntlmssp_check_buffer(const struct ntlmssp_buffer *buffer,
--- a/src/lib-storage/index/index-mail.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/lib-storage/index/index-mail.c	Sun Sep 16 12:09:30 2007 +0300
@@ -1101,7 +1101,7 @@
 	mail->mail.v.close(_mail);
 
 	if (mail->header_data != NULL)
-		buffer_free(mail->header_data);
+		buffer_free(&mail->header_data);
 	if (array_is_created(&mail->header_lines))
 		array_free(&mail->header_lines);
 	if (array_is_created(&mail->header_match))
--- a/src/lib/array.h	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/lib/array.h	Sun Sep 16 12:09:30 2007 +0300
@@ -78,8 +78,7 @@
 static inline void
 _array_free(struct array *array)
 {
-	buffer_free(array->buffer);
-	array->buffer = NULL;
+	buffer_free(&array->buffer);
 }
 #define array_free(array) \
 	_array_free(&(array)->arr)
--- a/src/lib/buffer.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/lib/buffer.c	Sun Sep 16 12:09:30 2007 +0300
@@ -113,7 +113,7 @@
 	return (buffer_t *)buf;
 }
 
-void _buffer_free(buffer_t **_buf)
+void buffer_free(buffer_t **_buf)
 {
 	struct real_buffer *buf = (struct real_buffer *)*_buf;
 
@@ -123,7 +123,7 @@
 	p_free(buf->pool, buf);
 }
 
-void *_buffer_free_without_data(buffer_t **_buf)
+void *buffer_free_without_data(buffer_t **_buf)
 {
 	struct real_buffer *buf = (struct real_buffer *)*_buf;
 	void *data;
--- a/src/lib/buffer.h	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/lib/buffer.h	Sun Sep 16 12:09:30 2007 +0300
@@ -27,12 +27,10 @@
 buffer_t *buffer_create_dynamic(pool_t pool, size_t init_size);
 /* Free the memory used by buffer. Not needed if the memory is free'd
    directly from the memory pool. */
-void _buffer_free(buffer_t **buf);
-#define buffer_free(buf) _buffer_free(&(buf))
+void buffer_free(buffer_t **buf);
 /* Free the memory used by buffer structure, but return the buffer data
    unfree'd. */
-void *_buffer_free_without_data(buffer_t **buf);
-#define buffer_free_without_data(buf) _buffer_free_without_data(&(buf))
+void *buffer_free_without_data(buffer_t **buf);
 
 /* Returns the pool buffer was created with. */
 pool_t buffer_get_pool(buffer_t *buf);
--- a/src/lib/file-cache.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/lib/file-cache.c	Sun Sep 16 12:09:30 2007 +0300
@@ -36,7 +36,7 @@
 		if (munmap_anon(cache->mmap_base, cache->mmap_length) < 0)
 			i_error("munmap_anon() failed: %m");
 	}
-	buffer_free(cache->page_bitmask);
+	buffer_free(&cache->page_bitmask);
 	i_free(cache);
 }
 
--- a/src/lib/istream-seekable.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/lib/istream-seekable.c	Sun Sep 16 12:09:30 2007 +0300
@@ -47,7 +47,7 @@
 	unsigned int i;
 
 	if (sstream->buffer != NULL)
-		buffer_free(sstream->buffer);
+		buffer_free(&sstream->buffer);
 	if (sstream->fd_input != NULL)
 		i_stream_unref(&sstream->fd_input);
 	for (i = 0; sstream->input[i] != NULL; i++)
@@ -117,8 +117,7 @@
 	}
 	sstream->write_peak = sstream->buffer->used;
 
-	buffer_free(sstream->buffer);
-	sstream->buffer = NULL;
+	buffer_free(&sstream->buffer);
 
 	sstream->fd = fd;
 	sstream->fd_input =
--- a/src/lib/str.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/lib/str.c	Sun Sep 16 12:09:30 2007 +0300
@@ -19,7 +19,7 @@
 
 void str_free(string_t **str)
 {
-	buffer_free(*str);
+	buffer_free(str);
 }
 
 static void str_add_nul(string_t *str)
@@ -36,7 +36,7 @@
 char *str_free_without_data(string_t **str)
 {
 	str_add_nul(*str);
-	return buffer_free_without_data(*str);
+	return buffer_free_without_data(str);
 }
 
 const char *str_c(string_t *str)
--- a/src/plugins/fts-squat/squat-trie.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/plugins/fts-squat/squat-trie.c	Sun Sep 16 12:09:30 2007 +0300
@@ -737,7 +737,7 @@
 void squat_trie_close(struct squat_trie *trie)
 {
 	squat_trie_unmap(trie);
-	buffer_free(trie->buf);
+	buffer_free(&trie->buf);
 	squat_uidlist_deinit(trie->uidlist);
 	i_free(trie->uidlist_filepath);
 	i_free(trie->filepath);
--- a/src/plugins/fts-squat/squat-uidlist.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/plugins/fts-squat/squat-uidlist.c	Sun Sep 16 12:09:30 2007 +0300
@@ -295,8 +295,8 @@
 
 	pool_unref(uidlist->node_pool);
 	array_free(&uidlist->lists);
-	buffer_free(uidlist->tmp_buf);
-	buffer_free(uidlist->list_buf);
+	buffer_free(&uidlist->tmp_buf);
+	buffer_free(&uidlist->list_buf);
 	i_free(uidlist->filepath);
 	i_free(uidlist);
 }
--- a/src/pop3/client.c	Sun Sep 16 12:08:07 2007 +0300
+++ b/src/pop3/client.c	Sun Sep 16 12:09:30 2007 +0300
@@ -116,7 +116,7 @@
 		if (!failed) {
 			client->trans = t;
 			client->message_sizes =
-				buffer_free_without_data(message_sizes_buf);
+				buffer_free_without_data(&message_sizes_buf);
 			return TRUE;
 		}
 
@@ -135,7 +135,7 @@
 
 		*error_r = mail_storage_get_last_error(storage, &error);
 	}
-	buffer_free(message_sizes_buf);
+	buffer_free(&message_sizes_buf);
 	return FALSE;
 }