From a68ea1cb93c29125bc4f30ddd415fca02249e010 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Mon, 30 Jan 2006 22:48:39 +0000 Subject: fix up yet more annoying signed/unsigned and mixed type errors --- editors/vi.c | 26 +++++++++++++------------- loginutils/login.c | 4 ++-- miscutils/devfsd.c | 3 ++- miscutils/hdparm.c | 6 +++--- networking/udhcp/dhcpc.c | 8 ++++---- networking/udhcp/packet.c | 2 +- networking/udhcp/serverpacket.c | 4 ++-- procps/fuser.c | 4 ++-- procps/sysctl.c | 2 +- shell/ash.c | 26 ++++++++++++++------------ shell/hush.c | 6 +++--- shell/lash.c | 2 +- shell/msh.c | 2 +- 13 files changed, 49 insertions(+), 46 deletions(-) diff --git a/editors/vi.c b/editors/vi.c index 553561b21..bf537ee62 100644 --- a/editors/vi.c +++ b/editors/vi.c @@ -347,7 +347,7 @@ extern int vi_main(int argc, char **argv) (void) srand((long) my_pid); #endif /* CONFIG_FEATURE_VI_CRASHME */ - status_buffer = STATUS_BUFFER; + status_buffer = (Byte *)STATUS_BUFFER; last_status_cksum = 0; #ifdef CONFIG_FEATURE_VI_READONLY @@ -729,7 +729,7 @@ static void colon(Byte * buf) while (isblnk(*buf)) buf++; strcpy((char *) args, (char *) buf); - buf1 = last_char_is((char *)cmd, '!'); + buf1 = (Byte*)last_char_is((char *)cmd, '!'); if (buf1) { useforce = TRUE; *buf1 = '\0'; // get rid of ! @@ -763,7 +763,7 @@ static void colon(Byte * buf) place_cursor(rows - 1, 0, FALSE); // go to Status line clear_to_eol(); // clear the line cookmode(); - system(orig_buf+1); // run the cmd + system((char*)(orig_buf+1)); // run the cmd rawmode(); Hit_Return(); // let user see results (void) alarm(3); // done waiting for input @@ -787,10 +787,10 @@ static void colon(Byte * buf) psbs("No write since last change (:edit! overrides)"); goto vc1; } - if (strlen(args) > 0) { + if (strlen((char*)args) > 0) { // the user supplied a file name fn= args; - } else if (cfn != 0 && strlen(cfn) > 0) { + } else if (cfn != 0 && strlen((char*)cfn) > 0) { // no user supplied name- use the current filename fn= cfn; goto vc5; @@ -2397,7 +2397,7 @@ static Byte *get_input_line(Byte * prompt) // get input line- use "status line" last_status_cksum = 0; // force status update place_cursor(rows - 1, 0, FALSE); // go to Status line, bottom of screen clear_to_eol(); // clear the line - write1(prompt); // write out the :, /, or ? prompt + write1((char *) prompt); // write out the :, /, or ? prompt for (i = strlen((char *) buf); i < BUFSIZ;) { c = get_one_char(); // read user input @@ -2430,7 +2430,7 @@ static int file_size(const Byte * fn) // what is the byte size of "fn" struct stat st_buf; int cnt, sr; - if (fn == 0 || strlen(fn) <= 0) + if (fn == 0 || strlen((char *)fn) <= 0) return (-1); cnt = -1; sr = stat((char *) fn, &st_buf); // see if file exists @@ -2586,7 +2586,7 @@ static void place_cursor(int row, int col, int opti) strcat(cm2, "\r"); // start at col 0 // just send out orignal source char to get to correct place screenp = &screen[row * columns]; // start of screen line - strncat(cm2, screenp, col); + strncat(cm2, (char* )screenp, col); //----- 3. Try some other way of moving cursor //--------------------------------------------- @@ -2657,10 +2657,10 @@ static void screen_erase(void) memset(screen, ' ', screensize); // clear new screen } -static int bufsum(char *buf, int count) +static int bufsum(unsigned char *buf, int count) { int sum = 0; - char *e = buf + count; + unsigned char *e = buf + count; while (buf < e) sum += *buf++; return sum; @@ -2680,10 +2680,10 @@ static void show_status_line(void) if (have_status_msg || ((cnt > 0 && last_status_cksum != cksum))) { last_status_cksum= cksum; // remember if we have seen this line place_cursor(rows - 1, 0, FALSE); // put cursor on status line - write1(status_buffer); + write1((char*)status_buffer); clear_to_eol(); if (have_status_msg) { - if (((int)strlen(status_buffer) - (have_status_msg - 1)) > + if (((int)strlen((char*)status_buffer) - (have_status_msg - 1)) > (columns - 1) ) { have_status_msg = 0; Hit_Return(); @@ -2937,7 +2937,7 @@ static void refresh(int full_screen) // write line out to terminal { int nic = ce-cs+1; - char *out = sp+cs; + char *out = (char*)sp+cs; while(nic-- > 0) { putchar(*out); diff --git a/loginutils/login.c b/loginutils/login.c index b2f3166e2..4d513dcb2 100644 --- a/loginutils/login.c +++ b/loginutils/login.c @@ -450,7 +450,7 @@ static void checkutmp(int picky) /* XXX - assumes /dev/tty?? */ strncpy(utent.ut_id, utent.ut_line + 3, sizeof utent.ut_id); strncpy(utent.ut_user, "LOGIN", sizeof utent.ut_user); - time(&utent.ut_time); + time((time_t*)&utent.ut_time); } } @@ -465,7 +465,7 @@ static void setutmp(const char *name, const char *line) { utent.ut_type = USER_PROCESS; strncpy(utent.ut_user, name, sizeof utent.ut_user); - time(&utent.ut_time); + time((time_t*)&utent.ut_time); /* other fields already filled in by checkutmp above */ setutent(); pututline(&utent); diff --git a/miscutils/devfsd.c b/miscutils/devfsd.c index d8a630c04..fce63e54d 100644 --- a/miscutils/devfsd.c +++ b/miscutils/devfsd.c @@ -476,7 +476,8 @@ int devfsd_main (int argc, char **argv) if (fcntl (fd, F_SETFD, FD_CLOEXEC) != 0) devfsd_perror_msg_and_die("FD_CLOEXEC"); - do_ioctl_and_die(fd, DEVFSDIOC_GET_PROTO_REV,(int )&proto_rev); + if (ioctl (fd, DEVFSDIOC_GET_PROTO_REV, &proto_rev) == -1) + msg_logger_and_die(LOG_ERR, "ioctl"); /*setup initial entries */ for (curr = initial_symlinks; curr->dest != NULL; ++curr) diff --git a/miscutils/hdparm.c b/miscutils/hdparm.c index 4bf0d45ce..750cb499b 100644 --- a/miscutils/hdparm.c +++ b/miscutils/hdparm.c @@ -1945,7 +1945,7 @@ static void process_dev (char *devname) { no_scsi(); printf(" attempting to unregister hwif#%u\n", hwif); - bb_ioctl(fd, HDIO_UNREGISTER_HWIF,(int *)hwif,"HDIO_UNREGISTER_HWIF"); + bb_ioctl(fd, HDIO_UNREGISTER_HWIF,(int *)(unsigned long)hwif,"HDIO_UNREGISTER_HWIF"); } #endif #ifdef CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF @@ -1977,7 +1977,7 @@ static void process_dev (char *devname) else printf("set UDMA mode to %d\n", (piomode-200)); } - bb_ioctl(fd, HDIO_SET_PIO_MODE, (int *)piomode, "HDIO_SET_PIO_MODE"); + bb_ioctl(fd, HDIO_SET_PIO_MODE, (int *)(unsigned long)piomode, "HDIO_SET_PIO_MODE"); } if (set_io32bit) { @@ -2435,7 +2435,7 @@ identify_abort: printf(" setting bus state to %d", busstate); bus_state_value(busstate); } - bb_ioctl(fd, HDIO_SET_BUSSTATE, (int *)busstate, "HDIO_SET_BUSSTATE"); + bb_ioctl(fd, HDIO_SET_BUSSTATE, (int *)(unsigned long)busstate, "HDIO_SET_BUSSTATE"); } #endif #ifdef CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c index a4afb0c46..8568ac1e7 100644 --- a/networking/udhcp/dhcpc.c +++ b/networking/udhcp/dhcpc.c @@ -220,7 +220,7 @@ int main(int argc, char *argv[]) client_config.clientid[OPT_CODE] = DHCP_CLIENT_ID; client_config.clientid[OPT_LEN] = len; client_config.clientid[OPT_DATA] = '\0'; - strncpy(client_config.clientid + OPT_DATA, optarg, len); + strncpy((char*)client_config.clientid + OPT_DATA, optarg, len); break; case 'C': if (client_config.clientid) show_usage(); @@ -232,7 +232,7 @@ int main(int argc, char *argv[]) client_config.vendorclass = xmalloc(len + 2); client_config.vendorclass[OPT_CODE] = DHCP_VENDOR; client_config.vendorclass[OPT_LEN] = len; - strncpy(client_config.vendorclass + OPT_DATA, optarg, len); + strncpy((char*)client_config.vendorclass + OPT_DATA, optarg, len); break; case 'f': client_config.foreground = 1; @@ -247,7 +247,7 @@ int main(int argc, char *argv[]) client_config.hostname = xmalloc(len + 2); client_config.hostname[OPT_CODE] = DHCP_HOST_NAME; client_config.hostname[OPT_LEN] = len; - strncpy(client_config.hostname + 2, optarg, len); + strncpy((char*)client_config.hostname + 2, optarg, len); break; case 'F': len = strlen(optarg) > 255 ? 255 : strlen(optarg); @@ -264,7 +264,7 @@ int main(int argc, char *argv[]) client_config.fqdn[OPT_LEN + 1] = 0x1; client_config.fqdn[OPT_LEN + 2] = 0; client_config.fqdn[OPT_LEN + 3] = 0; - strncpy(client_config.fqdn + 5, optarg, len); + strncpy((char*)client_config.fqdn + 5, optarg, len); break; case 'i': client_config.interface = optarg; diff --git a/networking/udhcp/packet.c b/networking/udhcp/packet.c index 64a910031..1baec55e2 100644 --- a/networking/udhcp/packet.c +++ b/networking/udhcp/packet.c @@ -70,7 +70,7 @@ int get_packet(struct dhcpMessage *packet, int fd) if (packet->op == BOOTREQUEST && (vendor = get_option(packet, DHCP_VENDOR))) { for (i = 0; broken_vendors[i][0]; i++) { if (vendor[OPT_LEN - 2] == (uint8_t) strlen(broken_vendors[i]) && - !strncmp(vendor, broken_vendors[i], vendor[OPT_LEN - 2])) { + !strncmp((char*)vendor, broken_vendors[i], vendor[OPT_LEN - 2])) { DEBUG(LOG_INFO, "broken client (%s), forcing broadcast", broken_vendors[i]); packet->flags |= htons(BROADCAST_FLAG); diff --git a/networking/udhcp/serverpacket.c b/networking/udhcp/serverpacket.c index 1b89862b2..fe880b4a0 100644 --- a/networking/udhcp/serverpacket.c +++ b/networking/udhcp/serverpacket.c @@ -98,9 +98,9 @@ static void add_bootp_options(struct dhcpMessage *packet) { packet->siaddr = server_config.siaddr; if (server_config.sname) - strncpy(packet->sname, server_config.sname, sizeof(packet->sname) - 1); + strncpy((char*)packet->sname, server_config.sname, sizeof(packet->sname) - 1); if (server_config.boot_file) - strncpy(packet->file, server_config.boot_file, sizeof(packet->file) - 1); + strncpy((char*)packet->file, server_config.boot_file, sizeof(packet->file) - 1); } diff --git a/procps/fuser.c b/procps/fuser.c index 7ee56fbd9..c0101e635 100644 --- a/procps/fuser.c +++ b/procps/fuser.c @@ -143,7 +143,7 @@ static int fuser_scan_proc_net(int opts, const char *proto, char addr[128]; ino_t tmp_inode; dev_t tmp_dev; - uint64_t uint64_inode; + long long uint64_inode; int tmp_port; FILE *f; @@ -194,7 +194,7 @@ static int fuser_scan_pid_maps(int opts, const char *fname, pid_t pid, char line[FUSER_MAX_LINE + 1]; int major, minor; ino_t inode; - uint64_t uint64_inode; + long long uint64_inode; dev_t dev; if (!(file = fopen(fname, "r"))) return 0; diff --git a/procps/sysctl.c b/procps/sysctl.c index dbb82e69c..b8835c0d8 100644 --- a/procps/sysctl.c +++ b/procps/sysctl.c @@ -209,7 +209,7 @@ int sysctl_write_setting(const char *setting, int output) return -2; } - tmpname = bb_xasprintf("%s%.*s", PROC_PATH, (equals - name), name); + tmpname = bb_xasprintf("%s%.*s", PROC_PATH, (int)(equals - name), name); outname = bb_xstrdup(tmpname + strlen(PROC_PATH)); while ((cptr = strchr(tmpname, '.')) != NULL) diff --git a/shell/ash.c b/shell/ash.c index 3564d850b..e9e6def22 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -1402,8 +1402,10 @@ static void unsetfunc(const char *); #ifdef CONFIG_ASH_MATH_SUPPORT_64 typedef int64_t arith_t; +#define arith_t_type (long long) #else typedef long arith_t; +#define arith_t_type (long) #endif #ifdef CONFIG_ASH_MATH_SUPPORT @@ -10132,15 +10134,15 @@ readtoken1(int firstc, int syntax, char *eofmark, int striptabs) char *out; int len; char line[EOFMARKLEN + 1]; - struct nodelist *bqlist; - int quotef; - int dblquote; - int varnest; /* levels of variables expansion */ - int arinest; /* levels of arithmetic expansion */ - int parenlevel; /* levels of parens in arithmetic */ - int dqvarnest; /* levels of variables expansion within double quotes */ - int oldstyle; - int prevsyntax; /* syntax before arithmetic */ + struct nodelist *bqlist = 0; + int quotef = 0; + int dblquote = 0; + int varnest = 0; /* levels of variables expansion */ + int arinest = 0; /* levels of arithmetic expansion */ + int parenlevel = 0; /* levels of parens in arithmetic */ + int dqvarnest = 0; /* levels of variables expansion within double quotes */ + int oldstyle = 0; + int prevsyntax = 0; /* syntax before arithmetic */ #if __GNUC__ /* Avoid longjmp clobbering */ (void) &out; @@ -10563,7 +10565,7 @@ parsebackq: { struct jmploc jmploc; struct jmploc *volatile savehandler; size_t savelen; - int saveprompt; + int saveprompt = 0; #ifdef __GNUC__ (void) &saveprompt; #endif @@ -13380,9 +13382,9 @@ arith_apply(operator op, v_n_t *numstack, v_n_t **numstackptr) } /* save to shell variable */ #ifdef CONFIG_ASH_MATH_SUPPORT_64 - snprintf(buf, sizeof(buf), "%lld", rez); + snprintf(buf, sizeof(buf), "%lld", arith_t_type rez); #else - snprintf(buf, sizeof(buf), "%ld", rez); + snprintf(buf, sizeof(buf), "%ld", arith_t_type rez); #endif setvar(numptr_m1->var, buf, 0); /* after saving, make previous value for v++ or v-- */ diff --git a/shell/hush.c b/shell/hush.c index ff29974b6..096b40251 100644 --- a/shell/hush.c +++ b/shell/hush.c @@ -2614,10 +2614,10 @@ int parse_stream(o_string *dest, struct p_context *ctx, return 0; } -static void mapset(const unsigned char *set, int code) +static void mapset(const char *set, int code) { - const unsigned char *s; - for (s=set; *s; s++) map[*s] = code; + const char *s; + for (s=set; *s; s++) map[(int)*s] = code; } static void update_ifs_map(void) diff --git a/shell/lash.c b/shell/lash.c index 56a3a23dd..1b8aca506 100644 --- a/shell/lash.c +++ b/shell/lash.c @@ -1440,7 +1440,7 @@ static int busy_loop(FILE * input) char *next_command = NULL; struct job newjob; int i; - int inbg; + int inbg = 0; int status; #ifdef CONFIG_LASH_JOB_CONTROL pid_t parent_pgrp; diff --git a/shell/msh.c b/shell/msh.c index 08ca792fa..d56db5714 100644 --- a/shell/msh.c +++ b/shell/msh.c @@ -1622,7 +1622,7 @@ static void initarea() brkaddr = malloc(AREASIZE); brktop = brkaddr + AREASIZE; - while ((int) sbrk(0) & ALIGN) + while ((long) sbrk(0) & ALIGN) sbrk(1); areabot = (struct region *) sbrk(REGSIZE); -- cgit v1.2.3