poldek: poldek/cli/install.c - --pmopt: do not dash dashed pmopt's...

mis mis at pld-linux.org
Thu Aug 31 20:59:32 CEST 2006


Author: mis                          Date: Thu Aug 31 18:59:32 2006 GMT
Module: poldek                        Tag: HEAD
---- Log message:
- --pmopt: do not dash dashed pmopt's arg - --pmopt=foo and 
           --pmopt="--foo" are equivalents
- --pmopt: multiple pm's options are allowed (i.e. --pmopt="--foo --bar")

---- Files affected:
poldek/poldek/cli:
   install.c (1.40 -> 1.41) 

---- Diffs:

================================================================
Index: poldek/poldek/cli/install.c
diff -u poldek/poldek/cli/install.c:1.40 poldek/poldek/cli/install.c:1.41
--- poldek/poldek/cli/install.c:1.40	Sun Nov  6 20:26:27 2005
+++ poldek/poldek/cli/install.c	Thu Aug 31 20:59:27 2006
@@ -501,9 +501,26 @@
             break;
 
         case OPT_PM: {
-            char opt[256];
-            n_snprintf(opt, sizeof(opt), "--%s", arg);
-            poldek_ts_configure(ts, POLDEK_CONF_RPMOPTS, opt);
+            tn_array *tl = NULL;
+            int i;
+            
+            if ((tl = n_str_etokl_ext(arg, "\t ", "", "\"'", '\\')) == NULL) {
+                logn(LOGERR, _("%s: parse error"), arg);
+                return ARGP_ERR_UNKNOWN;
+            }
+
+            for (i=0; i < n_array_size(tl); i++) {
+                char *a, opt[256], *dash = "--";
+
+                a = n_array_nth(tl, i);
+                if (*a == '-')
+                    dash = "";
+            
+                n_snprintf(opt, sizeof(opt), "%s%s", dash, a);
+                poldek_ts_configure(ts, POLDEK_CONF_RPMOPTS, opt);
+            }
+
+            n_array_cfree(&tl);
         }
             break;
             
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/poldek/poldek/cli/install.c?r1=1.40&r2=1.41&f=u



More information about the pld-cvs-commit mailing list