Mercurial > ecos
diff packages/redboot/current/src/net/net_io.c @ 2614:6cbecf3cc2e4
* src/fconfig.c, src/flash.c, src/io.c, src/load.c, src/main.c,
src/xyzModem.c, include/redboot.h: more signed vs. unsigned char
issues.
* src/fs/e2fs.c (e2fs_mount): Avoid compiler strict aliasing
problem.
* include/fis.h (struct fis_image_desc): Make fis name be
signed char to reduce warnings.
* include/flash_config.h (struct _config): Make config_data
be signed char to reduce warnings.
* include/redboot.h: mon_write_char and mon_read_char_with_timeout
take unsigned char, to reduce warnings.
* src/parse.c: Add const to err_printf format.
* src/fconfig.c: Many signed/unsigned warning cleanups.
* src/io.c: Ditto.
* src/xyzModem.c: Ditto.
* src/load.c: Ditto.
* src/flash.c: Ditto.
* src/fconfig.c (flash_write_config): Warning cleanup.
* src/net/net_io.c (do_ip_addr): Warning cleanup.
* src/flash.c (fis_create): Warning cleanup.
* include/net/net.h: Include redboot.h for tick functions.
* include/net/net.h: Pull tick functions into redboot.h as they
are used more widely than the net stack.
* include/redboot.h: Declare tick functions.
* src/main.c (cyg_start): Correctly compute workspace_end so it
works even on high RAM values [bug #1000202].
Don't use workspace_end directly for context init - it gets
modified.
(do_go): Don't use workspace_end directly for context init -
it gets modified.
| author | jlarmour |
|---|---|
| date | Tue, 11 Nov 2008 04:32:10 +0000 |
| parents | b8111f0a6f98 |
| children | 74dbf4c3f2e1 |
line wrap: on
line diff
--- a/packages/redboot/current/src/net/net_io.c +++ b/packages/redboot/current/src/net/net_io.c @@ -10,6 +10,7 @@ // This file is part of eCos, the Embedded Configurable Operating System. // Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 Red Hat, Inc. // Copyright (C) 2002, 2003, 2004 Gary Thomas +// Copyright (C) 2004,2005 eCosCentric Limited // // eCos is free software; you can redistribute it and/or modify it under // the terms of the GNU General Public License as published by the Free @@ -887,12 +888,11 @@ do_ip_addr(int argc, char *argv[]) char *slash_pos; /* see if the (optional) mask length was given */ if( (slash_pos = strchr(ip_addr, '/')) ) { - int mask_len; - unsigned long mask; + unsigned long mask, mask_len; *slash_pos = '\0'; slash_pos++; - if( !parse_num(slash_pos, (unsigned long *)&mask_len, 0, 0) || - mask_len <= 0 || mask_len > 32 ) { + if( !parse_num(slash_pos, &mask_len, 0, 0) || + mask_len == 0 || mask_len > 32 ) { diag_printf("Invalid mask length: %s\n", slash_pos); return; }
