X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=buffy.c;h=68b91650f9f9274eb924b1f1744e985f28af5d8a;hp=f1b39b38070e99ee44ef592e84e123e8e427074b;hb=c98480f8568e6c1bc927c6c5f2b5e80b4aa6548c;hpb=642a770d749788adac51935945426ae3846da226 diff --git a/buffy.c b/buffy.c index f1b39b3..68b9165 100644 --- a/buffy.c +++ b/buffy.c @@ -14,9 +14,12 @@ # include "config.h" #endif +#include +#include +#include + #include "mutt.h" #include "buffy.h" -#include "buffer.h" #include "mx.h" #include "mh.h" #include "sidebar.h" @@ -27,8 +30,6 @@ #include "imap.h" #endif -#include "lib/mem.h" -#include "lib/intl.h" #include #include @@ -59,7 +60,7 @@ static int fseeko_last_message (FILE * f) int bytes_read; int i; /* Index into `buffer' for scanning. */ - memset (buffer, 0, sizeof (buffer)); + p_clear(buffer, 1); fseeko (f, 0, SEEK_END); pos = ftello (f); @@ -72,13 +73,13 @@ static int fseeko_last_message (FILE * f) * reads will be on block boundaries, which might increase efficiency. */ while ((pos -= bytes_read) >= 0) { /* we save in the buffer at the end the first 7 chars from the last read */ - strncpy (buffer + BUFSIZ, buffer, 5 + 2); /* 2 == 2 * str_len(CRLF) */ + strncpy (buffer + BUFSIZ, buffer, 5 + 2); /* 2 == 2 * m_strlen(CRLF) */ fseeko (f, pos, SEEK_SET); bytes_read = fread (buffer, sizeof (char), bytes_read, f); if (bytes_read == -1) return -1; for (i = bytes_read; --i >= 0;) - if (!str_ncmp (buffer + i, "\n\nFrom ", str_len ("\n\nFrom "))) { /* found it - go to the beginning of the From */ + if (!m_strncmp(buffer + i, "\n\nFrom ", m_strlen("\n\nFrom "))) { /* found it - go to the beginning of the From */ fseeko (f, pos + i + 2, SEEK_SET); return 0; } @@ -86,7 +87,7 @@ static int fseeko_last_message (FILE * f) } /* here we are at the beginning of the file */ - if (!str_ncmp ("From ", buffer, 5)) { + if (!m_strncmp("From ", buffer, 5)) { fseeko (f, 0, 0); return (0); } @@ -170,8 +171,8 @@ void buffy_update_mailbox (BUFFY * b) /* func to free buffy for list_del() */ static void buffy_free (BUFFY** p) { - mem_free(&(*p)->path); - mem_free(p); + p_delete(&(*p)->path); + p_delete(p); } int buffy_lookup (const char* path) { @@ -220,8 +221,8 @@ int buffy_parse_mailboxes (BUFFER * path, BUFFER * s, unsigned long data, } if (i < 0) { - tmp = mem_calloc (1, sizeof (BUFFY)); - tmp->path = str_dup (buf); + tmp = p_new(BUFFY, 1); + tmp->path = m_strdup(buf); tmp->magic = 0; list_push_back (&Incoming, tmp); i = Incoming->length-1; @@ -390,10 +391,11 @@ int buffy_check (int force) /* one new and undeleted message is enough */ if (tmp->new == 0) { BuffyCount++; - tmp->new = 1; - if (!count) + if (!count) { /* if sidebar invisible -> done */ + tmp->new = 1; break; + } } tmp->msgcount++; tmp->msg_unread++; @@ -509,7 +511,7 @@ int buffy_list (void) pos = 0; first = 1; buffylist[0] = 0; - pos += str_len (strncat (buffylist, _("New mail in "), sizeof (buffylist) - 1 - pos)); /* __STRNCAT_CHECKED__ */ + pos += m_strlen(strncat (buffylist, _("New mail in "), sizeof (buffylist) - 1 - pos)); /* __STRNCAT_CHECKED__ */ if (Incoming) { for (i = 0; i < Incoming->length; i++) { tmp = (BUFFY*) Incoming->data[i]; @@ -520,19 +522,19 @@ int buffy_list (void) strfcpy (path, tmp->path, sizeof (path)); mutt_pretty_mailbox (path); - if (!first && pos + str_len (path) >= COLS - 7) + if (!first && pos + m_strlen(path) >= COLS - 7) break; if (!first) - pos += str_len (strncat (buffylist + pos, ", ", sizeof (buffylist) - 1 - pos)); /* __STRNCAT_CHECKED__ */ + pos += m_strlen(strncat (buffylist + pos, ", ", sizeof (buffylist) - 1 - pos)); /* __STRNCAT_CHECKED__ */ /* Prepend an asterisk to mailboxes not already notified */ if (!tmp->notified) { - /* pos += str_len (strncat(buffylist + pos, "*", sizeof(buffylist)-1-pos)); __STRNCAT_CHECKED__ */ + /* pos += m_strlen(strncat(buffylist + pos, "*", sizeof(buffylist)-1-pos)); __STRNCAT_CHECKED__ */ tmp->notified = 1; BuffyNotify--; } - pos += str_len (strncat (buffylist + pos, path, sizeof (buffylist) - 1 - pos)); /* __STRNCAT_CHECKED__ */ + pos += m_strlen(strncat (buffylist + pos, path, sizeof (buffylist) - 1 - pos)); /* __STRNCAT_CHECKED__ */ first = 0; } }