- rename map_and_not to map_subtract
authorMichael Schroeder <mls@suse.de>
Wed, 28 Mar 2012 10:31:22 +0000 (12:31 +0200)
committerMichael Schroeder <mls@suse.de>
Wed, 28 Mar 2012 10:31:22 +0000 (12:31 +0200)
src/bitmap.c
src/bitmap.h
src/libsolv.ver

index 5a8dcd80cc95ebf268a3e2b99c9e2d7de2d468c0..21630ade35c3fbbefe80fbaaa60bef9383cfc2ba 100644 (file)
@@ -66,19 +66,19 @@ map_and(Map *t, Map *s)
     unsigned char *ti, *si, *end;
     ti = t->map;
     si = s->map;
-    end = ti + t->size;
+    end = ti + (t->size < s->size ? t->size : s->size);
     while (ti < end)
        *ti++ &= *si++;
 }
 
-/* like map_and but negates value in s first, i.e. t & ~s */
+/* remove all set bits in s from t. */
 void
-map_and_not(Map *t, Map *s)
+map_subtract(Map *t, Map *s)
 {
     unsigned char *ti, *si, *end;
     ti = t->map;
     si = s->map;
-    end = ti + t->size;
+    end = ti + (t->size < s->size ? t->size : s->size);
     while (ti < end)
        *ti++ &= ~*si++;
 }
index b098b260db9b96c89c0185ffd4c39b427d20377e..3a60c51705d0e65f1100c1d24f3ca98fc9bde490 100644 (file)
@@ -35,7 +35,7 @@ extern void map_init_clone(Map *t, Map *s);
 extern void map_grow(Map *m, int n);
 extern void map_free(Map *m);
 extern void map_and(Map *t, Map *s);
-extern void map_and_not(Map *t, Map *s);
+extern void map_subtract(Map *t, Map *s);
 
 static inline void map_empty(Map *m)
 {
index 3902354b3d9c5fabbf7ddbdf97a3a59210af99a4..9c77fc4ed4c5bd75552484e08990156958a0d741 100644 (file)
@@ -27,7 +27,7 @@ SOLV_1.0 {
                dirpool_init;
                dirpool_make_dirtraverse;
                map_and;
-               map_and_not;
+               map_subtract;
                map_free;
                map_grow;
                map_init;