Add -Werror to help us keep the code clean.
authorMyles Watson <mylesgw@gmail.com>
Fri, 8 May 2009 19:39:15 +0000 (19:39 +0000)
committerMyles Watson <mylesgw@gmail.com>
Fri, 8 May 2009 19:39:15 +0000 (19:39 +0000)
Change sizes from unsigned int to int.
Clean up some usage and parameter checking.

Signed-off-by: Myles Watson <mylesgw@gmail.com>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4262 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1

util/cbfstool/Makefile
util/cbfstool/add.c
util/cbfstool/cbfstool.c
util/cbfstool/cbfstool.h
util/cbfstool/create.c
util/cbfstool/extract.c
util/cbfstool/fs.c
util/cbfstool/print.c
util/cbfstool/resize.c
util/cbfstool/tools/Makefile

index 39af38b2805266eaf97d649b66e03dcb87f9c3ec..a779eab1265ba79bc53d8f2f301051d4d7a8b3c0 100644 (file)
@@ -9,7 +9,7 @@ OBJ=$(COMMANDS) cbfstool.o util.o fs.o
 INC=cbfstool.h cbfs.h
 
 CC=gcc
-CFLAGS=-g -Wall -W -Werror
+CFLAGS=-g -Wall -W -Werror
 
 DESTDIR ?= /usr/local/bin
 
index aadb68d84179fbbb33ed2102e7ebff2745625a5f..83f8d29462b93e68b498f568e6bcbb6bba00985e 100644 (file)
@@ -205,25 +205,25 @@ static int add_blob(struct rom *rom, const char *filename,
 
 void add_usage(void)
 {
-       printf("add [FILE] [NAME] [TYPE]\tAdd a component\n");
+       printf("add FILE NAME TYPE\tAdd a component\n");
 }
 
 void add_stage_usage(void)
 {
-       printf("add-stage [FILE] [NAME] [OPTIONS]\tAdd a stage to the ROM\n");
+       printf("add-stage FILE NAME [OPTIONS]\tAdd a stage to the ROM\n");
 }
 
 void add_payload_usage(void)
 {
        printf
-           ("add-payload [FILE] [NAME] [OPTIONS]\tAdd a payload to the ROM\n");
+           ("add-payload FILE NAME [OPTIONS]\tAdd a payload to the ROM\n");
 }
 
 int add_handler(struct rom *rom, int argc, char **argv)
 {
        unsigned int type = CBFS_COMPONENT_NULL;
 
-       if (argc < 2) {
+       if (argc != 3) {
                add_usage();
                return -1;
        }
@@ -235,15 +235,13 @@ int add_handler(struct rom *rom, int argc, char **argv)
 
        /* There are two ways to specify the type - a string or a number */
 
-       if (argc == 3) {
-               if (isdigit(*(argv[2])))
-                       type = strtoul(argv[2], 0, 0);
+       if (isdigit(*(argv[2])))
+               type = strtoul(argv[2], 0, 0);
+       else {
+               ERROR("String types (%s) aren't implemented yet.\n", argv[2]);
+               return -1;
        }
 
-       if (type == CBFS_COMPONENT_NULL)
-               WARN("No file type was given for %s - using default\n",
-                    argv[0]);
-
        return add_blob(rom, argv[0], argv[1], type);
 }
 
index cbf448163f3273dd0256792b479a63ad91b33af9..7760a5610931f10d74030f8b2f0c0e4a0eb9de3f 100644 (file)
@@ -66,7 +66,7 @@ struct {
        "extract", extract_handler, extract_usage}, {
        "print", print_handler, print_usage}, {
        "resize", resize_handler, resize_usage}, {
-"", NULL},};
+"", NULL, NULL},};
 
 static struct rom rom;
 
index 51abd29b58d7ac6ff864ddd12760b87fd29d6ff4..dc52bfb16b10c58f81d284aee4f12807e4120d8b 100644 (file)
@@ -67,15 +67,15 @@ int add_bootblock(struct rom *rom, const char *filename);
 
 /* fs.c */
 
-struct cbfs_file *rom_find(struct rom *rom, unsigned int offset);
+struct cbfs_file *rom_find(struct rom *rom, int offset);
 struct cbfs_file *rom_find_first(struct rom *);
 struct cbfs_file *rom_find_next(struct rom *, struct cbfs_file *);
 int rom_add(struct rom *rom, const char *name, void *, int size, int type);
 int rom_set_header(struct rom *rom, struct cbfs_file *c, 
        const char*name, int size, int type);
-int rom_extract(struct rom *rom, const char *name, void **buf, unsigned long *size);
+int rom_extract(struct rom *rom, const char *name, void **buf, int *size);
 int rom_remove(struct rom *rom, const char *name);
-unsigned int rom_used_space(struct rom *rom);
+int rom_used_space(struct rom *rom);
 int rom_exists(struct rom *rom);
 
 #endif
index ecfb21c956de773d0c64a87ee5fa88fb085c59ab..e83758c992debaf1102e66e5ab88aa3a8a08bc4d 100644 (file)
@@ -24,7 +24,7 @@
 
 void create_usage(void)
 {
-       printf("create SIZE BOOTBLOCKSIZE [ALIGN] [BOOTBLOCK]\tCreate a ROM file\n");
+       printf("create SIZE BOOTBLOCKSIZE BOOTBLOCK [ALIGN]\tCreate a ROM file\n");
 }
 
 int create_handler(struct rom *rom, int argc, char **argv)
@@ -33,7 +33,7 @@ int create_handler(struct rom *rom, int argc, char **argv)
        char *bootblock = NULL;
        int bootblocksize;
 
-       if (argc < 2) {
+       if (argc < 3) {
                create_usage();
                return -1;
        }
@@ -42,11 +42,10 @@ int create_handler(struct rom *rom, int argc, char **argv)
 
        bootblocksize = get_size(argv[1]);
 
-       if (argc == 3) {
-               bootblock = argv[2];
-       } else if (argc >= 4) {
-               align = strtoul(argv[2], NULL, 0);
-               bootblock = argv[3];
+       bootblock = argv[2];
+
+       if (argc >= 4) {
+               align = strtoul(argv[3], NULL, 0);
        }
 
        if (size < bootblocksize) {
index d6944763b77f600068e9be7b2e326ce4df9abfbd..5a30553d2979de631691e8c03b6cc40382e4fa4f 100644 (file)
@@ -28,7 +28,7 @@ static int extract_blob(struct rom *rom, const char *filename, const char *name)
 {
        void *buf;
        int fd, ret;
-       unsigned long size;
+       int size;
 
        ret = rom_extract(rom, name, &buf, &size);
 
@@ -43,7 +43,7 @@ static int extract_blob(struct rom *rom, const char *filename, const char *name)
        }
 
        if (write(fd, buf, size) != size) {
-               ERROR("Couldn't write %ld bytes!\n", size);
+               ERROR("Couldn't write %d bytes!\n", size);
                ret = -1;
        }
 
index 82921639618a71f63869a715311a7f0dc2a6aff5..d724ddae99908139bec75f333acded45592a5b0b 100644 (file)
@@ -152,7 +152,7 @@ struct cbfs_file * rom_alloc(struct rom *rom, unsigned long size)
        return ((struct cbfs_file *)ROM_PTR(rom, ret));
 }
 
-struct cbfs_file *rom_find(struct rom *rom, unsigned int offset)
+struct cbfs_file *rom_find(struct rom *rom, int offset)
 {
        while (offset < rom->fssize) {
                struct cbfs_file *c =
@@ -195,7 +195,7 @@ struct cbfs_file *rom_find_by_name(struct rom *rom, const char *name)
        return NULL;
 }
 
-unsigned int rom_used_space(struct rom *rom)
+int rom_used_space(struct rom *rom)
 {
        struct cbfs_file *c = rom_find_first(rom);
        unsigned int ret = 0;
@@ -235,7 +235,7 @@ int rom_remove(struct rom *rom, const char *name)
        return 0;
 }
 
-int rom_extract(struct rom *rom, const char *name, void** buf, unsigned long *size )
+int rom_extract(struct rom *rom, const char *name, void** buf, int *size )
 {
        struct cbfs_file *c = rom_find_by_name(rom, name);
        unsigned int csize;
@@ -265,8 +265,8 @@ int rom_extract(struct rom *rom, const char *name, void** buf, unsigned long *si
 int rom_add(struct rom *rom, const char *name, void *buffer, int size, int type)
 {
        struct cbfs_file *c = rom_alloc(rom, size);
-       unsigned int offset;
-       unsigned int csize;
+       int offset;
+       int csize;
 
        if (rom_find_by_name(rom, name)) {
                ERROR("Component %s already exists in this rom\n", name);
index 7eb9ee452c587a86cb0b260e27d3be10bab41f23..b23f949e0628f6767429445e275f7cf02d8eaf93 100644 (file)
@@ -27,6 +27,9 @@ void print_usage(void)
 
 int print_handler(struct rom *rom, int argc, char **argv)
 {
+       if (argc > 0 || argv[1] != NULL)
+               printf("print\t\t\t\tShow the contents of the ROM\n");
+
        printf("%s: %d kB, bootblocksize %d, romsize %d, offset 0x%x\n", rom->name, rom->size / 1024, 
                                ntohl(rom->header->bootblocksize), ntohl(rom->header->romsize), ntohl(rom->header->offset));
        printf("Alignment: %d bytes\n\n", ntohl(rom->header->align));
@@ -48,6 +51,9 @@ int print_handler(struct rom *rom, int argc, char **argv)
                case CBFS_COMPONENT_OPTIONROM:
                        strcpy(type, "optionrom");
                        break;
+               case CBFS_COMPONENT_NULL:
+                       strcpy(type, "free");
+                       break;
                default:
                        sprintf(type, "0x%8.8x", htonl(c->type));
                        break;
index 157515619c41c0c2af0a8511e8cb742bce30ce13..d70c6d04efab2021d577c944db8d30513628ee65 100644 (file)
@@ -32,7 +32,8 @@ void resize_usage(void)
 
 int resize_handler(struct rom *rom, int argc, char **argv)
 {
-       unsigned int size, align, offset;
+       unsigned int align, offset;
+       int size;
        char null = '\0';
        int bootblocksize = ntohl(rom->header->bootblocksize);
 
index f5b0e04bcc632fd365e734d5ada47729a23141f1..65ba375fc3703e9a5b59b9fc7542e19fdfad07c1 100644 (file)
@@ -1,6 +1,8 @@
 tobj ?= $(shell pwd)
 tsrc ?= $(shell pwd)
 
+CFLAGS=-g -Wall
+
 TARGETS += $(tobj)/cbfs-mkstage $(tobj)/cbfs-mkpayload
 
 tools: $(tobj)/cbfs-mkstage $(tobj)/cbfs-mkpayload