Mercurial > dovecot > original-hg > dovecot-1.2
changeset 6975:f2c37fe48668 HEAD
Use less space from data stack.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sun, 09 Dec 2007 15:01:14 +0200 |
parents | ec6cc297dd82 |
children | 7cedc391e6c5 |
files | src/lib-storage/index/dbox/dbox-file.c src/lib-storage/index/dbox/dbox-save.c |
diffstat | 2 files changed, 21 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/index/dbox/dbox-file.c Sun Dec 09 14:15:56 2007 +0200 +++ b/src/lib-storage/index/dbox/dbox-file.c Sun Dec 09 15:01:14 2007 +0200 @@ -37,10 +37,11 @@ { static unsigned int create_count = 0; - return i_strdup_printf("temp.%s.P%sQ%uM%s.%s", - dec2str(ioloop_timeval.tv_sec), my_pid, + return i_strdup_printf("temp.%lu.P%sQ%uM%u.%s", + (unsigned long)ioloop_timeval.tv_sec, my_pid, create_count++, - dec2str(ioloop_timeval.tv_usec), my_hostname); + (unsigned int)ioloop_timeval.tv_usec, + my_hostname); } void dbox_file_set_syscall_error(struct dbox_file *file, const char *function) @@ -419,7 +420,9 @@ *deleted_r = FALSE; if (file->fd == -1) { - ret = dbox_file_open_fd(file); + T_FRAME( + ret = dbox_file_open_fd(file); + ); if (ret <= 0) { if (ret < 0) return -1; @@ -490,11 +493,16 @@ int dbox_file_open_or_create(struct dbox_file *file, bool read_header, bool *deleted_r) { + int ret; + *deleted_r = FALSE; - if (file->file_id == 0) - return dbox_file_create(file) < 0 ? -1 : 1; - else if (file->input != NULL) + if (file->file_id == 0) { + T_FRAME( + ret = dbox_file_create(file) < 0 ? -1 : 1; + ); + return ret; + } else if (file->input != NULL) return 1; else return dbox_file_open(file, read_header, deleted_r);
--- a/src/lib-storage/index/dbox/dbox-save.c Sun Dec 09 14:15:56 2007 +0200 +++ b/src/lib-storage/index/dbox/dbox-save.c Sun Dec 09 15:01:14 2007 +0200 @@ -74,7 +74,6 @@ struct dbox_message_header dbox_msg_hdr; struct dbox_save_mail *save_mail; struct istream *crlf_input; - const char *cur_path; enum mail_flags save_flags; const struct stat *st; uoff_t mail_size; @@ -99,7 +98,6 @@ ctx->failed = TRUE; return -1; } - cur_path = dbox_file_get_path(ctx->cur_file); /* add to index */ save_flags = flags & ~MAIL_RECENT; @@ -136,7 +134,8 @@ if (o_stream_send(ctx->cur_output, &dbox_msg_hdr, sizeof(dbox_msg_hdr)) < 0) { mail_storage_set_critical(_t->box->storage, - "o_stream_send(%s) failed: %m", cur_path); + "o_stream_send(%s) failed: %m", + dbox_file_get_path(ctx->cur_file)); ctx->failed = TRUE; } @@ -224,7 +223,6 @@ struct dbox_save_context *ctx = (struct dbox_save_context *)_ctx; struct mail_storage *storage = &ctx->mbox->storage->storage; struct dbox_save_mail *save_mail; - const char *cur_path; uoff_t offset = 0; unsigned int count; @@ -235,7 +233,9 @@ index_mail_cache_parse_deinit(ctx->cur_dest_mail, ctx->cur_received_date); - if (!ctx->failed) { + if (!ctx->failed) T_FRAME_BEGIN { + const char *cur_path; + cur_path = dbox_file_get_path(ctx->cur_file); offset = ctx->cur_output->offset; dbox_save_write_metadata(ctx); @@ -244,7 +244,7 @@ "o_stream_flush(%s) failed: %m", cur_path); ctx->failed = TRUE; } - } + } T_FRAME_END; o_stream_unref(&ctx->cur_output); i_stream_unref(&ctx->input);