CLI: Fix 'core show sysinfo' function ordering.
authorCorey Farrell <git@cfware.com>
Sat, 9 Dec 2017 06:35:12 +0000 (01:35 -0500)
committerCorey Farrell <git@cfware.com>
Tue, 12 Dec 2017 01:21:16 +0000 (20:21 -0500)
Handle CLI initialization before any processing occurs.

Change-Id: I598b911d2e409214bbdfd0ba0882be1d602d221c

main/asterisk.c

index 5c658d0..86f252c 100644 (file)
@@ -733,6 +733,27 @@ static char *handle_show_sysinfo(struct ast_cli_entry *e, int cmd, struct ast_cl
        int totalswap = 0;
 #if defined(HAVE_SYSINFO)
        struct sysinfo sys_info;
+#elif defined(HAVE_SYSCTL)
+       static int pageshift;
+       struct vmtotal vmtotal;
+       struct timeval  boottime;
+       time_t  now;
+       int mib[2], pagesize, usedswap = 0;
+       size_t len;
+#endif
+
+       switch (cmd) {
+       case CLI_INIT:
+               e->command = "core show sysinfo";
+               e->usage =
+                       "Usage: core show sysinfo\n"
+                       "       List current system information.\n";
+               return NULL;
+       case CLI_GENERATE:
+               return NULL;
+       }
+
+#if defined(HAVE_SYSINFO)
        sysinfo(&sys_info);
        uptime = sys_info.uptime / 3600;
        physmem = sys_info.totalram * sys_info.mem_unit;
@@ -741,12 +762,6 @@ static char *handle_show_sysinfo(struct ast_cli_entry *e, int cmd, struct ast_cl
        freeswap = (sys_info.freeswap * sys_info.mem_unit) / 1024;
        nprocs = sys_info.procs;
 #elif defined(HAVE_SYSCTL)
-       static int pageshift;
-       struct vmtotal vmtotal;
-       struct timeval  boottime;
-       time_t  now;
-       int mib[2], pagesize, usedswap = 0;
-       size_t len;
        /* calculate the uptime by looking at boottime */
        time(&now);
        mib[0] = CTL_KERN;
@@ -794,17 +809,6 @@ static char *handle_show_sysinfo(struct ast_cli_entry *e, int cmd, struct ast_cl
 #endif
 #endif
 
-       switch (cmd) {
-       case CLI_INIT:
-               e->command = "core show sysinfo";
-               e->usage =
-                       "Usage: core show sysinfo\n"
-                       "       List current system information.\n";
-               return NULL;
-       case CLI_GENERATE:
-               return NULL;
-       }
-
        ast_cli(a->fd, "\nSystem Statistics\n");
        ast_cli(a->fd, "-----------------\n");
        ast_cli(a->fd, "  System Uptime:             %ld hours\n", uptime);