]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 265316 via svnmerge from
authorTilghman Lesher <tilghman@meg.abyt.es>
Mon, 24 May 2010 18:30:00 +0000 (18:30 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Mon, 24 May 2010 18:30:00 +0000 (18:30 +0000)
https://origsvn.digium.com/svn/asterisk/trunk

........
  r265316 | tilghman | 2010-05-24 13:19:08 -0500 (Mon, 24 May 2010) | 7 lines

  On systems with a LOT of RAM, a signed integer sometimes printed negative.

  (closes issue #16837)
   Reported by: jlpedrosa
   Patches:
         20100504__issue16837.diff.txt uploaded by tilghman (license 14)
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@265318 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/asterisk.c

index 60737ed67f1842732637a184dd48c2904d9d174a..42829adddebac92b50e48b07bf6a7fe4a7c4132d 100644 (file)
@@ -560,13 +560,14 @@ static int swapmode(int *used, int *total)
 /*! \brief Give an overview of system statistics */
 static char *handle_show_sysinfo(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
 {
-       int64_t physmem, freeram;
-       int totalswap = 0, freeswap = 0, nprocs = 0;
+       uint64_t physmem, freeram;
+       uint64_t totalswap = 0, freeswap = 0;
+       int nprocs = 0;
        long uptime = 0;
 #if defined(HAVE_SYSINFO)
        struct sysinfo sys_info;
        sysinfo(&sys_info);
-       uptime = sys_info.uptime/3600;
+       uptime = sys_info.uptime / 3600;
        physmem = sys_info.totalram * sys_info.mem_unit;
        freeram = (sys_info.freeram * sys_info.mem_unit) / 1024;
        totalswap = (sys_info.totalswap * sys_info.mem_unit) / 1024;
@@ -615,7 +616,7 @@ static char *handle_show_sysinfo(struct ast_cli_entry *e, int cmd, struct ast_cl
        sysctl(mib, 2, &vmtotal, &len, NULL, 0);
        freeram = (vmtotal.t_free << pageshift);
        /* generate swap usage and totals */
-       swapmode(&usedswap, &totalswap); 
+       swapmode(&usedswap, &totalswap);
        freeswap = (totalswap - usedswap);
        /* grab number of processes */
 #if defined(__OpenBSD__)
@@ -639,14 +640,14 @@ static char *handle_show_sysinfo(struct ast_cli_entry *e, int cmd, struct ast_cl
 
        ast_cli(a->fd, "\nSystem Statistics\n");
        ast_cli(a->fd, "-----------------\n");
-       ast_cli(a->fd, "  System Uptime:             %ld hours\n", uptime);
-       ast_cli(a->fd, "  Total RAM:                 %ld KiB\n", (long)physmem/1024);
-       ast_cli(a->fd, "  Free RAM:                  %ld KiB\n", (long)freeram);
+       ast_cli(a->fd, "  System Uptime:             %lu hours\n", uptime);
+       ast_cli(a->fd, "  Total RAM:                 %" PRIu64 " KiB\n", physmem / 1024);
+       ast_cli(a->fd, "  Free RAM:                  %" PRIu64 " KiB\n", freeram);
 #if defined(HAVE_SYSINFO)
-       ast_cli(a->fd, "  Buffer RAM:                %ld KiB\n", (sys_info.bufferram * sys_info.mem_unit)/1024);
+       ast_cli(a->fd, "  Buffer RAM:                %" PRIu64 " KiB\n", ((uint64_t) sys_info.bufferram * sys_info.mem_unit) / 1024);
 #endif
-       ast_cli(a->fd, "  Total Swap Space:          %ld KiB\n", (long)totalswap);
-       ast_cli(a->fd, "  Free Swap Space:           %ld KiB\n\n", (long)freeswap);
+       ast_cli(a->fd, "  Total Swap Space:          %" PRIu64 " KiB\n", totalswap);
+       ast_cli(a->fd, "  Free Swap Space:           %" PRIu64 " KiB\n\n", freeswap);
        ast_cli(a->fd, "  Number of Processes:       %d \n\n", nprocs);
        return CLI_SUCCESS;
 }