break;
case 'f':
+ {
+ char *s;
#ifdef USE_IMAP
if (folder->ff->imap)
- strfcpy (fn, NONULL(folder->ff->desc), sizeof (fn));
+ s = NONULL (folder->ff->desc);
else
#endif
- strfcpy (fn, folder->ff->name, sizeof(fn));
- if (folder->ff->st != NULL)
- {
- strcat (fn, S_ISLNK (folder->ff->st->st_mode) ? "@" : /* __STRCAT_CHECKED__ */
- (S_ISDIR (folder->ff->st->st_mode) ? "/" :
- ((folder->ff->st->st_mode & S_IXUSR) != 0 ? "*" : "")));
- }
+ s = NONULL (folder->ff->name);
+
+ snprintf (fn, sizeof (fn), "%s%s", s,
+ folder->ff->st ? (S_ISLNK (folder->ff->st->st_mode) ? "@" :
+ (S_ISDIR (folder->ff->st->st_mode) ? "/" :
+ ((folder->ff->st->st_mode & S_IXUSR) != 0 ? "*" : ""))) : "");
+
mutt_format_s (dest, destlen, fmt, fn);
break;
-
+ }
case 'F':
if (folder->ff->st != NULL)
{
- sprintf (permission, "%c%c%c%c%c%c%c%c%c%c",
- S_ISDIR(folder->ff->st->st_mode) ? 'd' : (S_ISLNK(folder->ff->st->st_mode) ? 'l' : '-'),
- (folder->ff->st->st_mode & S_IRUSR) != 0 ? 'r': '-',
- (folder->ff->st->st_mode & S_IWUSR) != 0 ? 'w' : '-',
- (folder->ff->st->st_mode & S_ISUID) != 0 ? 's' : (folder->ff->st->st_mode & S_IXUSR) != 0 ? 'x': '-',
- (folder->ff->st->st_mode & S_IRGRP) != 0 ? 'r' : '-',
- (folder->ff->st->st_mode & S_IWGRP) != 0 ? 'w' : '-',
- (folder->ff->st->st_mode & S_ISGID) != 0 ? 's' : (folder->ff->st->st_mode & S_IXGRP) != 0 ? 'x': '-',
- (folder->ff->st->st_mode & S_IROTH) != 0 ? 'r' : '-',
- (folder->ff->st->st_mode & S_IWOTH) != 0 ? 'w' : '-',
- (folder->ff->st->st_mode & S_ISVTX) != 0 ? 't' : (folder->ff->st->st_mode & S_IXOTH) != 0 ? 'x': '-');
+ snprintf (permission, sizeof (permission), "%c%c%c%c%c%c%c%c%c%c",
+ S_ISDIR(folder->ff->st->st_mode) ? 'd' : (S_ISLNK(folder->ff->st->st_mode) ? 'l' : '-'),
+ (folder->ff->st->st_mode & S_IRUSR) != 0 ? 'r': '-',
+ (folder->ff->st->st_mode & S_IWUSR) != 0 ? 'w' : '-',
+ (folder->ff->st->st_mode & S_ISUID) != 0 ? 's' : (folder->ff->st->st_mode & S_IXUSR) != 0 ? 'x': '-',
+ (folder->ff->st->st_mode & S_IRGRP) != 0 ? 'r' : '-',
+ (folder->ff->st->st_mode & S_IWGRP) != 0 ? 'w' : '-',
+ (folder->ff->st->st_mode & S_ISGID) != 0 ? 's' : (folder->ff->st->st_mode & S_IXGRP) != 0 ? 'x': '-',
+ (folder->ff->st->st_mode & S_IROTH) != 0 ? 'r' : '-',
+ (folder->ff->st->st_mode & S_IWOTH) != 0 ? 'w' : '-',
+ (folder->ff->st->st_mode & S_ISVTX) != 0 ? 't' : (folder->ff->st->st_mode & S_IXOTH) != 0 ? 'x': '-');
mutt_format_s (dest, destlen, fmt, permission);
}
#ifdef USE_IMAP
else if (folder->ff->imap)
{
/* mark folders with subfolders AND mail */
- sprintf (permission, "IMAP %c",
- (folder->ff->inferiors && folder->ff->selectable) ? '+' : ' ');
+ snprintf (permission, sizeof (permission), "IMAP %c",
+ (folder->ff->inferiors && folder->ff->selectable) ? '+' : ' ');
mutt_format_s (dest, destlen, fmt, permission);
}
#endif