poldek: poldek/pkg.c - fixed pkg_caps_match_req() (#5762); code cl...

mis mis at pld-linux.org
Sat Mar 18 17:29:06 CET 2006


Author: mis                          Date: Sat Mar 18 16:29:05 2006 GMT
Module: poldek                        Tag: HEAD
---- Log message:
- fixed pkg_caps_match_req() (#5762); code cleanup

---- Files affected:
poldek/poldek:
   pkg.c (1.107 -> 1.108) 

---- Diffs:

================================================================
Index: poldek/poldek/pkg.c
diff -u poldek/poldek/pkg.c:1.107 poldek/poldek/pkg.c:1.108
--- poldek/poldek/pkg.c:1.107	Thu Oct 13 17:39:27 2005
+++ poldek/poldek/pkg.c	Sat Mar 18 17:29:00 2006
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2000 - 2004 Pawel A. Gajda <mis at k2.net.pl>
+  Copyright (C) 2000 - 2006 Pawel A. Gajda (mis at k2.net.pl)
 
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License, version 2 as
@@ -694,8 +694,8 @@
     int n;
         
     DBGF("\npkg_caps_match_req %s %s\n", pkg_snprintf_s(pkg), 
-         capreq_snprintf_s(req));
-        
+           capreq_snprintf_s(req));
+    
     if (pkg->caps == NULL || n_array_size(pkg->caps) == 0)
         return 0;     /* not match */
     
@@ -703,40 +703,25 @@
         return 0;
             
     } else {
-        struct capreq *cap;
         int i;
+        for (i = n; i < n_array_size(pkg->caps); i++) {
+            struct capreq *cap = n_array_nth(pkg->caps, i);
 
-        cap = n_array_nth(pkg->caps, n);
-        if (cap_xmatch_req(cap, req, flags)) {
-            DBGF("chk%d (%s-%s-%s) -> match (flags=%d)\n", n, capreq_name(cap),
-                 capreq_ver(cap), capreq_rel(cap), flags);
-            return 1;
-        }
-        n++;
-            
-        for (i = n; i<n_array_size(pkg->caps); i++) {
-            struct capreq *cap;
-
-            cap = n_array_nth(pkg->caps, n);
-            if (strcmp(capreq_name(cap), capreq_name(req)) != 0) {
-                DBGF("chk%d %s-%s-%s -> NOT match IRET\n", i,
-                     capreq_name(cap), capreq_ver(cap),
-                     capreq_rel(cap));
+            /* names not equal -> return with false;
+               eq test omitting for first cap */
+            if (i > n && n_str_ne(capreq_name(cap), capreq_name(req))) {
+                DBGF("  cap[%d] %s -> NOT match, IRET\n", i,
+                       capreq_snprintf_s(cap));
                 return 0;
             }
-                
-                
+            
             if (cap_xmatch_req(cap, req, flags)) {
-                DBGMSG("chk %s-%s-%s -> match\n", capreq_name(cap),
-                       capreq_ver(cap), capreq_rel(cap));
+                DBGF("  cap[%d] %s -> match\n", i, capreq_snprintf_s(cap));
                 return 1;
-            } else {
-                DBGMSG("chk%d %s-%s-%s -> NOT match\n", i,
-                       capreq_name(cap), capreq_ver(cap),
-                       capreq_rel(cap));
             }
+            
+            DBGF("  cap[%d] %s -> NOT match\n", i, capreq_snprintf_s(cap));
         }
-        DBGMSG("NONE\n");
     }
     
     return 0;
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/poldek/poldek/pkg.c?r1=1.107&r2=1.108&f=u



More information about the pld-cvs-commit mailing list