binman: simplify code a bit
authorAlan Cox <alan@linux.intel.com>
Mon, 9 Mar 2015 19:13:09 +0000 (19:13 +0000)
committerAlan Cox <alan@linux.intel.com>
Mon, 9 Mar 2015 19:13:09 +0000 (19:13 +0000)
fcc now always passes a progbase, so require it

Library/tools/binman.c

index adf2061..fa55948 100644 (file)
@@ -48,50 +48,49 @@ static void ProcessMap(FILE *fp)
 int main(int argc, char *argv[])
 {
   FILE *map, *bin;
-  int argp = 1;
 
-  if (argc != 4 && argc != 5) {
-    fprintf(stderr, "%s: [PROGLOAD address] <binary> <map> <output>\n", argv[0]);
+  if (argc != 5) {
+    fprintf(stderr, "%s: <PROGLOAD address> <binary> <map> <output>\n", argv[0]);
     exit(1);
   }
 
-  if (argc == 5 && sscanf(argv[argp++], "%x", &progload) != 1)
+  if (sscanf(argv[1], "%x", &progload) != 1)
   {
-    fprintf(stderr, "%s: PROGLOAD parse error: %s\n", argv[0], argv[argp - 1]);
+    fprintf(stderr, "%s: PROGLOAD parse error: %s\n", argv[0], argv[1]);
     exit(1);
   }
 
-  bin = fopen(argv[argp++], "r");
+  bin = fopen(argv[2], "r");
   if (bin == NULL) {
-    perror(argv[argp - 1]);
+    perror(argv[2]);
     exit(1);
   }
   if (fread(buf, 1, 65536, bin) == 0) {
-    fprintf(stderr, "%s: read error on %s\n", argv[0], argv[argp - 1]);
+    fprintf(stderr, "%s: read error on %s\n", argv[0], argv[2]);
     exit(1);
   }
   fclose(bin);
-  map = fopen(argv[argp++], "r");
+  map = fopen(argv[3], "r");
   if (map == NULL) {
-    perror(argv[argp - 1]);
+    perror(argv[3]);
     exit(1);
   }
   ProcessMap(map);
   fclose(map);
   
-  bin = fopen(argv[argp], "w");
+  bin = fopen(argv[4], "w");
   if (bin == NULL) {
-    perror(argv[argp]);
+    perror(argv[4]);
     exit(1);
   }
   memcpy(buf + s__INITIALIZED, buf + s__INITIALIZER, l__INITIALIZER);
   /* Write out everything that is data, omit everything that will 
      be zapped */
   if (fwrite(buf + progload, s__DATA - progload, 1, bin) != 1) {
-   perror(argv[argp - 1]);
+   perror(argv[4]);
    exit(1);
   }
   fclose(bin);
-  printf("%s: %d bytes from %d\n", argv[argp], s__DATA - progload, progload);
+  printf("%s: %d bytes from %d\n", argv[4], s__DATA - progload, progload);
   exit(0);
 }