if (showdetail) {
if (ndents) {
- static char ind;
- ind = '\0';
+ static char ind[2] = "\0\0";
+ static char sort[9];
+
+ if (mtimeorder)
+ sprintf(sort, "by time ");
+ else if (sizeorder)
+ sprintf(sort, "by size ");
+ else
+ sort[0] = '\0';
if (S_ISDIR(dents[cur].mode))
- ind = '/';
+ ind[0] = '/';
else if (S_ISLNK(dents[cur].mode))
- ind = '@';
+ ind[0] = '@';
else if (S_ISSOCK(dents[cur].mode))
- ind = '=';
+ ind[0] = '=';
else if (S_ISFIFO(dents[cur].mode))
- ind = '|';
+ ind[0] = '|';
else if (dents[cur].mode & S_IXUSR)
- ind = '*';
-
- ind ? sprintf(cwd, "%d items [%s%c]",
- ndents, dents[cur].name, ind)
- : sprintf(cwd, "%d items [%s]",
- ndents, dents[cur].name);
+ ind[0] = '*';
+ else
+ ind[0] = '\0';
+ sprintf(cwd, "total %d %s[%s%s]", ndents, sort,
+ dents[cur].name, ind);
printmsg(cwd);
} else
printmsg("0 items");