summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/libalpm/Makefile.am2
-rw-r--r--lib/libalpm/be_files.c7
-rw-r--r--lib/libalpm/db.h3
3 files changed, 9 insertions, 3 deletions
diff --git a/lib/libalpm/Makefile.am b/lib/libalpm/Makefile.am
index f96fdd0e..0381d9d8 100644
--- a/lib/libalpm/Makefile.am
+++ b/lib/libalpm/Makefile.am
@@ -8,7 +8,7 @@ include_HEADERS = alpm_list.h alpm.h
localedir = $(datadir)/locale
DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
-AM_CFLAGS = -fvisibility=hidden -pedantic -D_GNU_SOURCE $(CFLAGS)
+AM_CFLAGS = -fvisibility=hidden -pedantic -D_GNU_SOURCE
EXTRA_DIST = Doxyfile
diff --git a/lib/libalpm/be_files.c b/lib/libalpm/be_files.c
index 6e2f4c4f..30f6f905 100644
--- a/lib/libalpm/be_files.c
+++ b/lib/libalpm/be_files.c
@@ -227,7 +227,12 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
return(-1);
}
- if(info->infolevel & inforeq) {
+ /* bitmask logic here:
+ * infolevel: 00001111
+ * inforeq: 00010100
+ * & result: 00000100
+ * == to inforeq? nope, we need to load more info. */
+ if((info->infolevel & inforeq) == inforeq) {
/* already loaded this info, do nothing */
return(0);
}
diff --git a/lib/libalpm/db.h b/lib/libalpm/db.h
index 4ef1e591..26f1fdf4 100644
--- a/lib/libalpm/db.h
+++ b/lib/libalpm/db.h
@@ -33,7 +33,8 @@ typedef enum _pmdbinfrq_t {
INFRQ_DEPENDS = 0x04,
INFRQ_FILES = 0x08,
INFRQ_SCRIPTLET = 0x10,
- INFRQ_ALL = 0xFF
+ /* ALL should be sum of all above */
+ INFRQ_ALL = 0x1F
} pmdbinfrq_t;
/* Database */