fix printf warning
[oweals/busybox.git] / libbb / dump.c
index f169da677bc0ac19570d1abb9d4d56f1ca9f5a2a..98f004ff6acce0643d560c70031ee31bd1d374dd 100644 (file)
@@ -24,6 +24,7 @@
 
 #include <stdlib.h>
 #include <string.h>
+#include <unistd.h>
 #include <ctype.h>             /* for isdigit() */
 #include "libbb.h"
 #include "dump.h"
@@ -311,7 +312,7 @@ static void do_skip(char *fname, int statok)
        struct stat sbuf;
 
        if (statok) {
-               if (fstat(fileno(stdin), &sbuf)) {
+               if (fstat(STDIN_FILENO, &sbuf)) {
                        bb_perror_msg_and_die("%s", fname);
                }
                if ((!(S_ISCHR(sbuf.st_mode) ||
@@ -498,7 +499,7 @@ static void conv_u(PR * pr, u_char * p)
        /* od used nl, not lf */
        if (*p <= 0x1f) {
                *pr->cchar = 's';
-               printf(pr->fmt, list[4 * (int)(*p)]);
+               printf(pr->fmt, list + (4 * (int)*p));
        } else if (*p == 0x7f) {
                *pr->cchar = 's';
                printf(pr->fmt, "del");
@@ -544,7 +545,7 @@ static void display(void)
 /*                      PRINT; */
                                                switch (pr->flags) {
                                                case F_ADDRESS:
-                                                       printf(pr->fmt, address);
+                                                       printf(pr->fmt, (unsigned int) address);
                                                        break;
                                                case F_BPAD:
                                                        printf(pr->fmt, "");