* support/makebin/makebin.c (usage): Removed getopt as mingw32 doesn't have it....
authormichaelh <michaelh@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sat, 6 Oct 2001 16:59:25 +0000 (16:59 +0000)
committermichaelh <michaelh@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sat, 6 Oct 2001 16:59:25 +0000 (16:59 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@1361 4a8a32a2-be11-0410-ad9d-d568d2c75423

support/makebin/makebin.c

index c44c6c079ec6576660e058f5af7652ac286f3f5a..deb4e78febf8e8534d8c91066ff0cd7876343fb3 100644 (file)
@@ -22,30 +22,51 @@ int getbyte(char **p)
   return (getnibble(p) << 4) | getnibble(p);
 }
 
+void usage(void)
+{
+  fprintf(stderr, 
+          "makebin: convert a Intel IHX file to binary.\n"
+          "Usage: makebin [-p] [-s romsize] [-h]\n");
+}
+
 int main(int argc, char **argv)
 {
-    int opt;
     int size = 32768, pack = 0, real_size = 0;
     BYTE *rom;
     char line[256];
     char *p;
 
-    while ((opt = getopt(argc, argv, "ps:h"))!=-1) {
-       switch (opt) {
+    argc--;
+    argv++;
+
+    while (argc--) {
+        if (**argv != '-') {
+            usage();
+            return -1;
+        }
+        switch (argv[0][1]) {
        case 's':
-           size = atoi(optarg);
+            if (argc < 1) {
+                usage();
+                return -1;
+            }
+            argc--;
+            argv++;
+           size = atoi(*argv);
            break;
        case 'h':
-           printf("makebin: convert a Intel IHX file to binary.\n"
-                  "Usage: %s [-p] [-s romsize] [-h]\n", argv[0]);
+            usage();
            return 0;
        case 'p':
            pack = 1;
            break;
        default:
-           return 1;
+            usage();
+            return -1;
        }
+        argv++;
     }
+
     rom = malloc(size);
     if (rom == NULL) {
        fprintf(stderr, "error: couldn't allocate room for the image.\n");