]> git.saurik.com Git - apple/system_cmds.git/blobdiff - zprint.tproj/zprint.c
system_cmds-496.tar.gz
[apple/system_cmds.git] / zprint.tproj / zprint.c
index 1d030ae11f3236bffb1215b807e059df77b09021..e637a454175785772a20803a5846243fe070f44c 100644 (file)
  */
 
 #include <stdio.h>
+#include <stdlib.h>
 #include <string.h>
 #include <mach/mach.h>
 #include <mach_debug/mach_debug.h>
 #include <mach/mach_error.h>
+#include <libutil.h>
+#include <errno.h>
 
 #define streql(a, b)           (strcmp((a), (b)) == 0)
 #define strneql(a, b, n)       (strncmp((a), (b), (n)) == 0)
@@ -71,6 +74,7 @@ usage()
        exit(1);
 }
 
+int
 main(argc, argv)
        int     argc;
        char    *argv[];
@@ -83,11 +87,16 @@ main(argc, argv)
        unsigned int infoCnt = sizeof info_buf/sizeof info_buf[0];
 
        char            *zname = NULL;
-       int             znamelen;
+       int             znamelen = 0;
 
        kern_return_t   kr;
        int             i, j;
 
+       if (0 != reexec_to_match_kernel()) {
+               fprintf(stderr, "Could not re-execute: %d\n", errno);
+               exit(1);
+       }
+
        program = strrchr(argv[0], '/');
        if (program == NULL)
                program = argv[0];
@@ -249,7 +258,7 @@ printzone(name, info)
 {
        unsigned int used, size;
 
-       printf("%.*s zone:\n", sizeof name->zn_name, name->zn_name);
+       printf("%.*s zone:\n", (int)sizeof name->zn_name, name->zn_name);
        printf("\tcur_size:    %dK bytes (%d elements)\n",
               info->zi_cur_size/1024,
               info->zi_cur_size/info->zi_elem_size);
@@ -290,7 +299,7 @@ colprintzone(zone_name, info)
        zone_info_t *info;
 {
        char *name = zone_name->zn_name;
-       int j, namewidth, retval;
+       int j, namewidth;
        unsigned int used, size;
 
        namewidth = 25;