diff packages/redboot/current/src/load.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 460b70d39a50
children 74dbf4c3f2e1
line wrap: on
line diff
--- a/packages/redboot/current/src/load.c
+++ b/packages/redboot/current/src/load.c
@@ -116,8 +116,8 @@ extern struct load_io_entry __RedBoot_LO
 struct {
     getc_io_funcs_t *io;
     int (*fun)(char *, int len, int *err);
-    unsigned char  buf[BUF_SIZE];
-    unsigned char *bufp;
+    char  buf[BUF_SIZE];
+    char *bufp;
     int   avail, len, err;
     int   verbose, decompress, tick;
 #ifdef CYGBLD_BUILD_REDBOOT_WITH_ZLIB
@@ -165,7 +165,7 @@ redboot_getc(void)
         }
     }
     getc_info.avail--;
-    return *getc_info.bufp++;
+    return ((int)*getc_info.bufp++) & 0x00FF;
 }
 
 #ifdef CYGBLD_BUILD_REDBOOT_WITH_ZLIB
@@ -310,7 +310,7 @@ load_elf_image(getc_t getc, unsigned lon
     unsigned long addr_offset = 0;
     unsigned long highest_address = 0;
     unsigned long lowest_address = 0xFFFFFFFF;
-    unsigned char *SHORT_DATA = "Short data reading ELF file\n";
+    const char SHORT_DATA[] = "Short data reading ELF file\n";
 
     // Read the header
     if (_read(getc, (unsigned char *)&ehdr, sizeof(ehdr)) != sizeof(ehdr)) {