poldek: poldek/install3/requirements.c - bugfix: don't install all suggeste...

megabajt megabajt at pld-linux.org
Thu Sep 18 20:03:29 CEST 2008


Author: megabajt                     Date: Thu Sep 18 18:03:29 2008 GMT
Module: poldek                        Tag: HEAD
---- Log message:
- bugfix: don't install all suggested packages in "select some of" mode 
  when user chose 'n' for all of them

---- Files affected:
poldek/poldek/install3:
   requirements.c (1.11 -> 1.12) 

---- Diffs:

================================================================
Index: poldek/poldek/install3/requirements.c
diff -u poldek/poldek/install3/requirements.c:1.11 poldek/poldek/install3/requirements.c:1.12
--- poldek/poldek/install3/requirements.c:1.11	Wed Aug 20 22:15:52 2008
+++ poldek/poldek/install3/requirements.c	Thu Sep 18 20:03:24 2008
@@ -662,18 +662,30 @@
     choices = n_array_clone(suggests);
     n_array_ctl_set_freefn(choices, NULL); /* 'weak' ref */
     
-    if (!poldek__choose_suggests(ictx->ts, pkg, suggests, choices, 0)) {
-        n_array_free(choices);
-        n_array_cfree(&suggests);
-        
-    } else {
-        if (!n_array_size(choices))
-            n_array_free(choices);
-        
-        else {
-            n_array_free(suggests);
-            suggests = choices;
-        }
+    switch (poldek__choose_suggests(ictx->ts, pkg, suggests, choices, 0)) {
+	/* do not install any of suggested packages */
+	case 0:
+	    n_array_free(choices);
+	    n_array_cfree(&suggests);
+	    break;
+	/* TOFIX: why 'Q' means install all? */
+	case -1:
+	/* install all suggested packages */
+	case 1:
+	    n_array_free(choices);
+	    break;
+	/* select some of */
+	case 2:
+	    if (n_array_size(choices) == 0) {
+		n_array_free(choices);
+		n_array_cfree(&suggests);
+	    } else {
+		n_array_free(suggests);
+		suggests = choices;
+	    }
+	    break;
+	default:
+	    n_assert(0);
     }
     
     return suggests;
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/poldek/poldek/install3/requirements.c?r1=1.11&r2=1.12&f=u



More information about the pld-cvs-commit mailing list