]> git.sur5r.net Git - cc65/commitdiff
fix for previous change: the last vlir chains could be blank, do not pad the last...
authorizydorst <izydorst@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Fri, 9 May 2003 19:52:23 +0000 (19:52 +0000)
committerizydorst <izydorst@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Fri, 9 May 2003 19:52:23 +0000 (19:52 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@2154 b7a2c559-68d2-44c3-8de9-860c34a00d81

src/grc/grc.c

index b59fcf90683f65bc66b811b6ad0f4d79da16d5e7..1fb73e18e3c4565bc5698931118c44ff1ce7abfa 100644 (file)
@@ -38,7 +38,7 @@ FILE *outCVT, *input;
 unsigned char buffer[BLOODY_BIG_BUFFER];
 unsigned char vlirtabt[127];
 unsigned char vlirtabs[127];
-int i,j;
+int i,j,lastarg;
 int bytes;
 int blocks,rest;
 
@@ -77,6 +77,15 @@ int blocks,rest;
                vlirtabs[j]=0;
        }
 
+       /* scan arguments for the last one that is not blank or nonexistant */
+       j=argc;
+       lastarg=argc-1;
+       while (j!=3) {
+               --j;
+               if ((strcmp(argv[j],"blank")==0)||(strcmp(argv[j],"noexist")==0))
+                       --lastarg;
+       }
+
        /* now read all VLIR chains, align to 254 bytes */
 
        ++i;
@@ -106,7 +115,7 @@ int blocks,rest;
                        vlirtabt[j]=blocks+1; vlirtabs[j]=rest;
                        /* do not pad the last chain - it doesn't change or break anything
                           but filesize in bytes of .cvt will be identical to native cvt */
-                       if (i==(argc-1))
+                       if (i==lastarg)
                                fwrite(buffer,1,bytes,outCVT);
                        else
                                fwrite(buffer,1,(blocks+1)*254,outCVT);