- c = realloc(entry, SidebarWidth + 1);
- if ( c ) entry = c;
- entry[SidebarWidth] = 0;
- for (; i < SidebarWidth; entry[i++] = ' ' );
-#if USE_IMAP
- if (ImapHomeNamespace && strlen(ImapHomeNamespace)>0) {
- if (strncmp(box,ImapHomeNamespace,strlen(ImapHomeNamespace))==0 && strcmp(box,ImapHomeNamespace)!=0) {
- box+=strlen(ImapHomeNamespace)+1;
- }
- }
-#endif
- if (option(OPTSHORTENHIERARCHY)) {
- box = shortened_hierarchy(box);
+ switch (op) {
+ case 'c':
+ snprintf (tmp, sizeof (tmp), "%%%sd", fmt);
+ snprintf (dest, destlen, tmp, c ? Context->msgcount : b->msgcount);
+ break;
+ case 'n':
+ if (!opt) {
+ snprintf (tmp, sizeof (tmp), "%%%sd", fmt);
+ snprintf (dest, destlen, tmp, c ? Context->unread : b->msg_unread);
+ } else if ((c && Context->unread == 0) || (!c && b->msg_unread == 0))
+ opt = 0;
+ break;
+ case 'f':
+ if (!opt) {
+ snprintf (tmp, sizeof (tmp), "%%%sd", fmt);
+ snprintf (dest, destlen, tmp, c ? Context->flagged : b->msg_flagged);
+ } else if ((c && Context->flagged == 0) || (!c && b->msg_flagged == 0))
+ opt = 0;
+ break;