fixed typo. Thanks Thierry\!
[build.git] / parseSpec.c
index 2d955dc..3f3bb10 100644 (file)
@@ -6,7 +6,7 @@
  * Mark Huang <mlhuang@cs.princeton.edu>
  * Copyright (C) 2006 The Trustees of Princeton University
  *
- * $Id: parseSpec.c,v 1.3 2006/03/09 16:30:33 mlhuang Exp $
+ * $Id: parseSpec.c,v 1.7 2007/07/23 15:12:44 mef Exp $
  */
 
 #include <stdio.h>
@@ -69,7 +69,6 @@ main(int argc, char *argv[])
        int tlen = strlen("--target");
 
        /* walk argv list looking for --target */
-#if 0
        while ((args+1)<argc) {
          if(strncmp(argv[args],"--target",tlen)==0){
            char **dash;
@@ -80,9 +79,10 @@ main(int argc, char *argv[])
 
            /* copy arch component of --target option to target */
            alen = strnlen(argv[args+1],32);
-           target = (char*)malloc(alen);
+           target = (char*)malloc(alen+1);
            if (target == NULL) return errno;
            strncpy(target,argv[args+1],alen);
+           target[alen]='\0';
 
            /* change argc, argv to take out the "--target xxx" */
            for (i=args;i<argc;i++) argv[i]=argv[i+2];
@@ -90,17 +90,16 @@ main(int argc, char *argv[])
 
            break;
          }
+         args++;
        }
        argv[1]=argv[argc-1];
        argv[2]=0;
-#endif
+       argc=2;
        /* END: support to pull out --target from the args list */
 
        /* Parse common options for all rpm modes and executables */
        context = rpmcliInit(argc, argv, optionsTable);
 
-       exit(0);
-
        /* Create transaction state */
        ts = rpmtsCreate();