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);
         }
     }