X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-mx%2Fmbox.c;h=d3c59485fe368526eca349c0223ab8112789cc3e;hp=57f287a5608bb0373007af4c3981392c38285a42;hb=e3acf47563fd21378bb5e955948af13ee19774d6;hpb=0ab517261694b001d2eb17f06f167a4cdd2c7c07 diff --git a/lib-mx/mbox.c b/lib-mx/mbox.c index 57f287a..d3c5948 100644 --- a/lib-mx/mbox.c +++ b/lib-mx/mbox.c @@ -25,18 +25,17 @@ /* struct used by mutt_sync_mailbox() to store new offsets */ struct m_update_t { - short valid; - off_t hdr; - off_t body; - long lines; - off_t length; + short valid; + off_t hdr; + off_t body; + long lines; + off_t length; }; - -static int mbox_open_new_message (MESSAGE * msg, CONTEXT * dest, HEADER * hdr __attribute__ ((unused))) +static int mbox_open_new_message(MESSAGE *msg, CONTEXT *dest, HEADER *hdr) { - msg->fp = dest->fp; - return 0; + msg->fp = dest->fp; + return 0; } /* prototypes */ @@ -47,11 +46,11 @@ static int mbox_reopen_mailbox (CONTEXT*, int*); * excl - exclusive lock? * retry - should retry if unable to lock? */ -int mbox_lock_mailbox (CONTEXT * ctx, int excl, int retry) +int mbox_lock_mailbox(CONTEXT *ctx, int excl, int retry) { int r; - if ((r = mx_lock_file (ctx->path, fileno (ctx->fp), excl, 1, retry)) == 0) + if ((r = mx_lock_file(ctx->path, fileno(ctx->fp), excl, 1, retry)) == 0) ctx->locked = 1; else if (retry && !excl) { ctx->readonly = 1; @@ -227,26 +226,24 @@ static int mbox_parse_mailbox (CONTEXT * ctx) /* open a mbox style mailbox */ static int mbox_open_mailbox (CONTEXT * ctx) { - int rc; + int rc; - if ((ctx->fp = fopen (ctx->path, "r")) == NULL) { - mutt_perror (ctx->path); - return (-1); - } - mutt_block_signals (); - if (mbox_lock_mailbox (ctx, 0, 1) == -1) { - mutt_unblock_signals (); - return (-1); - } + if (!(ctx->fp = fopen(ctx->path, "r"))) { + mutt_perror(ctx->path); + return -1; + } - if (ctx->magic == M_MBOX) - rc = mbox_parse_mailbox (ctx); - else - rc = -1; + mutt_block_signals(); + if (mbox_lock_mailbox(ctx, 0, 1) < 0) { + mutt_unblock_signals(); + return -1; + } - mbox_unlock_mailbox (ctx); - mutt_unblock_signals (); - return (rc); + rc = ctx->magic == M_MBOX ? mbox_parse_mailbox(ctx) : -1; + + mbox_unlock_mailbox(ctx); + mutt_unblock_signals(); + return rc; } /* check to see if the mailbox has changed on disk. @@ -344,24 +341,25 @@ static int _mbox_check_mailbox (CONTEXT * ctx, int *index_hint) return (-1); } -static int mbox_check_mailbox (CONTEXT* ctx, int* index_hint, int lock) { - int rc = 0; +static int mbox_check_mailbox(CONTEXT *ctx, int *index_hint, int lock) +{ + int rc = 0; - if (lock) { - mutt_block_signals (); - if (mbox_lock_mailbox (ctx, 0, 0) == -1) { - mutt_unblock_signals (); - return M_LOCKED; + if (lock) { + mutt_block_signals(); + if (mbox_lock_mailbox(ctx, 0, 0) < 0) { + mutt_unblock_signals(); + return M_LOCKED; + } } - } - rc = _mbox_check_mailbox (ctx, index_hint); + rc = _mbox_check_mailbox(ctx, index_hint); - if (lock) { - mutt_unblock_signals (); - mbox_unlock_mailbox (ctx); - } - return rc; + if (lock) { + mutt_unblock_signals (); + mbox_unlock_mailbox (ctx); + } + return rc; } /* return values: @@ -883,4 +881,3 @@ mx_t const mbox_mx = { mbox_sync_mailbox, mbox_commit_message, }; -