static void rpmalAddFiles(rpmal al, rpmalNum pkgNum, rpmfi fi) { struct fileNameEntry_s fileName; struct availableIndexEntry_s fileEntry; int i; rpm_color_t ficolor; int skipdoc = (al->tsflags & RPMTRANS_FLAG_NODOCS); int skipconf = (al->tsflags & RPMTRANS_FLAG_NOCONFIGS); fileEntry.pkgNum = pkgNum; fi = rpmfiInit(fi, 0); while ((i = rpmfiNext(fi)) >= 0) { /* Ignore colored provides not in our rainbow. */ ficolor = rpmfiFColor(fi); if (al->tscolor && ficolor && !(al->tscolor & ficolor)) continue; /* Ignore files that wont be installed */ if (skipdoc && (rpmfiFFlags(fi) & RPMFILE_DOC)) continue; if (skipconf && (rpmfiFFlags(fi) & RPMFILE_CONFIG)) continue; fileName.dirName = rpmfiDN(fi); fileName.baseName = rpmfiBN(fi); fileEntry.entryIx = i; rpmalFileHashAddEntry(al->fileHash, fileName, fileEntry); } }
static void rpmalAddFiles(rpmal al, rpmalNum pkgNum, rpmfiles fi) { struct availableIndexFileEntry_s fileEntry; int fc = rpmfilesFC(fi); rpm_color_t ficolor; int skipdoc = (al->tsflags & RPMTRANS_FLAG_NODOCS); int skipconf = (al->tsflags & RPMTRANS_FLAG_NOCONFIGS); fileEntry.pkgNum = pkgNum; for (int i = 0; i < fc; i++) { /* Ignore colored provides not in our rainbow. */ ficolor = rpmfilesFColor(fi, i); if (al->tscolor && ficolor && !(al->tscolor & ficolor)) continue; /* Ignore files that wont be installed */ if (skipdoc && (rpmfilesFFlags(fi, i) & RPMFILE_DOC)) continue; if (skipconf && (rpmfilesFFlags(fi, i) & RPMFILE_CONFIG)) continue; fileEntry.dirName = rpmfilesDNId(fi, rpmfilesDI(fi, i)); fileEntry.entryIx = i; rpmalFileHashAddEntry(al->fileHash, rpmfilesBNId(fi, i), fileEntry); } }