meminfo: Use getprogname(3) in all tools.
Test: procrank2 -h;librank2 -h;procmem2 -h
Bug: none
Change-Id: Ieccd943b7140a7866694eea047969500bb3bb972
Signed-off-by: Sandeep Patil <sspatil@google.com>
diff --git a/libmeminfo/tools/librank.cpp b/libmeminfo/tools/librank.cpp
index 7668640..2c2583d 100644
--- a/libmeminfo/tools/librank.cpp
+++ b/libmeminfo/tools/librank.cpp
@@ -40,7 +40,7 @@
using ::android::meminfo::ProcMemInfo;
using ::android::meminfo::Vma;
-[[noreturn]] static void usage(const char* myname, int exit_status) {
+[[noreturn]] static void usage(int exit_status) {
fprintf(stderr,
"Usage: %s [ -P | -L ] [ -v | -r | -p | -u | -s | -h ]\n"
"\n"
@@ -59,7 +59,7 @@
" -C Only show non-cached (ram/swap backed) pages\n"
" -k Only show pages collapsed by KSM\n"
" -h Display this help screen.\n",
- myname);
+ getprogname());
exit(exit_status);
}
@@ -278,7 +278,7 @@
g_pgflags = g_pgflags_mask = (1 << KPF_SWAPBACKED);
break;
case 'h':
- usage(argv[0], EXIT_SUCCESS);
+ usage(EXIT_SUCCESS);
case 'k':
g_pgflags = g_pgflags_mask = (1 << KPF_KSM);
break;
@@ -307,7 +307,7 @@
g_reverse_sort = true;
break;
default:
- usage(argv[0], EXIT_FAILURE);
+ usage(EXIT_FAILURE);
}
}
diff --git a/libmeminfo/tools/procmem.cpp b/libmeminfo/tools/procmem.cpp
index 56de12d..b9b174d 100644
--- a/libmeminfo/tools/procmem.cpp
+++ b/libmeminfo/tools/procmem.cpp
@@ -42,7 +42,7 @@
// Show working set, mutually exclusive with reset_wss;
bool show_wss = false;
-static void usage(const char* cmd) {
+[[noreturn]] static void usage(int exit_status) {
fprintf(stderr,
"Usage: %s [-i] [ -w | -W ] [ -p | -m ] [ -h ] pid\n"
" -i Uses idle page tracking for working set statistics.\n"
@@ -52,7 +52,9 @@
" -u Sort by USS.\n"
" -m Sort by mapping order (as read from /proc).\n"
" -h Hide maps with no RSS.\n",
- cmd);
+ getprogname());
+
+ exit(exit_status);
}
static void print_separator(std::stringstream& ss) {
@@ -154,17 +156,15 @@
show_wss = true;
break;
case '?':
- usage(argv[0]);
- return 0;
+ usage(EXIT_SUCCESS);
default:
- abort();
+ usage(EXIT_FAILURE);
}
}
if (optind != (argc - 1)) {
fprintf(stderr, "Need exactly one pid at the end\n");
- usage(argv[0]);
- exit(EXIT_FAILURE);
+ usage(EXIT_FAILURE);
}
pid_t pid = atoi(argv[optind]);
diff --git a/libmeminfo/tools/procrank.cpp b/libmeminfo/tools/procrank.cpp
index e39e7fa..a751722 100644
--- a/libmeminfo/tools/procrank.cpp
+++ b/libmeminfo/tools/procrank.cpp
@@ -142,8 +142,9 @@
uint64_t total_uswap = 0;
uint64_t total_zswap = 0;
-static void usage(const char* myname) {
- std::cerr << "Usage: " << myname << " [ -W ] [ -v | -r | -p | -u | -s | -h ]" << std::endl
+[[noreturn]] static void usage(int exit_status) {
+ std::cerr << "Usage: " << getprogname() << " [ -W ] [ -v | -r | -p | -u | -s | -h ]"
+ << std::endl
<< " -v Sort by VSS." << std::endl
<< " -r Sort by RSS." << std::endl
<< " -p Sort by PSS." << std::endl
@@ -159,6 +160,7 @@
<< " -o Show and sort by oom score against lowmemorykiller thresholds."
<< std::endl
<< " -h Display this help screen." << std::endl;
+ exit(exit_status);
}
static bool read_all_pids(std::vector<pid_t>* pids, std::function<bool(pid_t pid)> for_each_pid) {
@@ -386,9 +388,7 @@
pgflags_mask = (1 << KPF_SWAPBACKED);
break;
case 'h':
- usage(argv[0]);
- return 0;
- break;
+ usage(EXIT_SUCCESS);
case 'k':
pgflags = (1 << KPF_KSM);
pgflags_mask = (1 << KPF_KSM);
@@ -422,7 +422,7 @@
reset_wss = true;
break;
default:
- abort();
+ usage(EXIT_FAILURE);
}
}