free: replace -a/--available with -w/--wide
This renames the --available switch to the --wide switch and changes the default layout so that it includes the 'available' column and joins buffers and cache into a common column called 'buff/cache'.
This commit is contained in:
parent
5380ef9022
commit
5a0b972ca0
29
free.c
29
free.c
@ -54,7 +54,7 @@
|
|||||||
#define FREE_SI (1 << 5)
|
#define FREE_SI (1 << 5)
|
||||||
#define FREE_REPEAT (1 << 6)
|
#define FREE_REPEAT (1 << 6)
|
||||||
#define FREE_REPEATCOUNT (1 << 7)
|
#define FREE_REPEATCOUNT (1 << 7)
|
||||||
#define FREE_AVAILABLE (1 << 8)
|
#define FREE_WIDE (1 << 8)
|
||||||
|
|
||||||
struct commandline_arguments {
|
struct commandline_arguments {
|
||||||
int exponent; /* demanded in kilos, magas... */
|
int exponent; /* demanded in kilos, magas... */
|
||||||
@ -86,7 +86,7 @@ static void __attribute__ ((__noreturn__))
|
|||||||
fputs(_(" -t, --total show total for RAM + swap\n"), out);
|
fputs(_(" -t, --total show total for RAM + swap\n"), out);
|
||||||
fputs(_(" -s N, --seconds N repeat printing every N seconds\n"), out);
|
fputs(_(" -s N, --seconds N repeat printing every N seconds\n"), out);
|
||||||
fputs(_(" -c N, --count N repeat printing N times, then exit\n"), out);
|
fputs(_(" -c N, --count N repeat printing N times, then exit\n"), out);
|
||||||
fputs(_(" -a, --available show available memory\n"), out);
|
fputs(_(" -w, --wide wide output\n"), out);
|
||||||
fputs(USAGE_SEPARATOR, out);
|
fputs(USAGE_SEPARATOR, out);
|
||||||
fputs(_(" --help display this help and exit\n"), out);
|
fputs(_(" --help display this help and exit\n"), out);
|
||||||
fputs(USAGE_VERSION, out);
|
fputs(USAGE_VERSION, out);
|
||||||
@ -215,7 +215,7 @@ int main(int argc, char **argv)
|
|||||||
{ "total", no_argument, NULL, 't' },
|
{ "total", no_argument, NULL, 't' },
|
||||||
{ "seconds", required_argument, NULL, 's' },
|
{ "seconds", required_argument, NULL, 's' },
|
||||||
{ "count", required_argument, NULL, 'c' },
|
{ "count", required_argument, NULL, 'c' },
|
||||||
{ "available", no_argument, NULL, 'a' },
|
{ "wide", no_argument, NULL, 'w' },
|
||||||
{ "help", no_argument, NULL, HELP_OPTION },
|
{ "help", no_argument, NULL, HELP_OPTION },
|
||||||
{ "version", no_argument, NULL, 'V' },
|
{ "version", no_argument, NULL, 'V' },
|
||||||
{ NULL, 0, NULL, 0 }
|
{ NULL, 0, NULL, 0 }
|
||||||
@ -234,7 +234,7 @@ int main(int argc, char **argv)
|
|||||||
textdomain(PACKAGE);
|
textdomain(PACKAGE);
|
||||||
atexit(close_stdout);
|
atexit(close_stdout);
|
||||||
|
|
||||||
while ((c = getopt_long(argc, argv, "bkmghlotc:as:V", longopts, NULL)) != -1)
|
while ((c = getopt_long(argc, argv, "bkmghlotc:ws:V", longopts, NULL)) != -1)
|
||||||
switch (c) {
|
switch (c) {
|
||||||
case 'b':
|
case 'b':
|
||||||
args.exponent = 1;
|
args.exponent = 1;
|
||||||
@ -284,8 +284,8 @@ int main(int argc, char **argv)
|
|||||||
error(EXIT_FAILURE, ERANGE,
|
error(EXIT_FAILURE, ERANGE,
|
||||||
_("failed to parse count argument: '%s'"), optarg);
|
_("failed to parse count argument: '%s'"), optarg);
|
||||||
break;
|
break;
|
||||||
case 'a':
|
case 'w':
|
||||||
flags |= FREE_AVAILABLE;
|
flags |= FREE_WIDE;
|
||||||
break;
|
break;
|
||||||
case HELP_OPTION:
|
case HELP_OPTION:
|
||||||
usage(stdout);
|
usage(stdout);
|
||||||
@ -302,17 +302,24 @@ int main(int argc, char **argv)
|
|||||||
/* Translation Hint: You can use 9 character words in
|
/* Translation Hint: You can use 9 character words in
|
||||||
* the header, and the words need to be right align to
|
* the header, and the words need to be right align to
|
||||||
* beginning of a number. */
|
* beginning of a number. */
|
||||||
printf(_(" total used free shared buffers cached"));
|
if (flags & FREE_WIDE) {
|
||||||
if (flags & FREE_AVAILABLE) printf(_(" available"));
|
printf(_(" total used free shared buffers cache available"));
|
||||||
|
} else {
|
||||||
|
printf(_(" total used free shared buff/cache available"));
|
||||||
|
}
|
||||||
printf("\n");
|
printf("\n");
|
||||||
printf("%-7s", _("Mem:"));
|
printf("%-7s", _("Mem:"));
|
||||||
printf(" %10s", scale_size(kb_main_total, flags, args));
|
printf(" %10s", scale_size(kb_main_total, flags, args));
|
||||||
printf(" %10s", scale_size(kb_main_used, flags, args));
|
printf(" %10s", scale_size(kb_main_used, flags, args));
|
||||||
printf(" %10s", scale_size(kb_main_free, flags, args));
|
printf(" %10s", scale_size(kb_main_free, flags, args));
|
||||||
printf(" %10s", scale_size(kb_main_shared, flags, args));
|
printf(" %10s", scale_size(kb_main_shared, flags, args));
|
||||||
printf(" %10s", scale_size(kb_main_buffers, flags, args));
|
if (flags & FREE_WIDE) {
|
||||||
printf(" %10s", scale_size(kb_main_cached, flags, args));
|
printf(" %10s", scale_size(kb_main_buffers, flags, args));
|
||||||
if (flags & FREE_AVAILABLE) printf(" %10s", scale_size(kb_main_available, flags, args));
|
printf(" %10s", scale_size(kb_main_cached, flags, args));
|
||||||
|
} else {
|
||||||
|
printf(" %10s", scale_size(kb_main_buffers+kb_main_cached, flags, args));
|
||||||
|
}
|
||||||
|
printf(" %10s", scale_size(kb_main_available, flags, args));
|
||||||
printf("\n");
|
printf("\n");
|
||||||
/*
|
/*
|
||||||
* Print low vs. high information, if the user requested it.
|
* Print low vs. high information, if the user requested it.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user