2 ===================================================================
3 RCS file: /cvs/devel/rpm/lib/depends.c,v
4 retrieving revision 1.325.2.78
5 diff -u -b -B -w -p -r1.325.2.78 depends.c
6 --- rpm/lib/depends.c 16 May 2007 11:47:44 -0000 1.325.2.78
7 +++ rpm/lib/depends.c 22 May 2007 11:41:02 -0000
8 @@ -1264,12 +1264,12 @@ static int checkPackageDeps(rpmts ts, co
9 * Adding: check name/provides dep against each conflict match,
10 * Erasing: check name/provides/filename dep against each requiredby match.
11 * @param ts transaction set
12 - * @param dep dependency name
13 + * @param depName dependency name
14 * @param mi rpm database iterator
15 * @param adding dependency is from added package set?
16 * @return 0 no problems found
18 -static int checkPackageSet(rpmts ts, const char * dep,
19 +static int checkPackageSet(rpmts ts, const char * depName,
20 /*@only@*/ /*@null@*/ rpmdbMatchIterator mi, int adding)
21 /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
22 /*@modifies ts, mi, rpmGlobalMacroContext, fileSystem, internalState @*/
23 @@ -1307,7 +1307,7 @@ static int checkPackageSet(rpmts ts, con
25 rc = checkPackageDeps(ts, pkgNEVRA,
26 requires, conflicts, dirnames, linktos,
27 - dep, tscolor, adding);
28 + depName, tscolor, adding);
30 linktos = rpmdsFree(linktos);
31 dirnames = rpmdsFree(dirnames);
32 @@ -1328,10 +1328,10 @@ static int checkPackageSet(rpmts ts, con
34 * Check to-be-erased dependencies against installed requires.
35 * @param ts transaction set
36 - * @param dep requires name
37 + * @param depName requires name
38 * @return 0 no problems found
40 -static int checkDependentPackages(rpmts ts, const char * dep)
41 +static int checkDependentPackages(rpmts ts, const char * depName)
42 /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
43 /*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState @*/
45 @@ -1340,8 +1340,8 @@ static int checkDependentPackages(rpmts
46 /* XXX rpmdb can be closed here, avoid error msg. */
47 if (rpmtsGetRdb(ts) != NULL) {
48 rpmdbMatchIterator mi;
49 - mi = rpmtsInitIterator(ts, RPMTAG_REQUIRENAME, dep, 0);
50 - rc = checkPackageSet(ts, dep, mi, 0);
51 + mi = rpmtsInitIterator(ts, RPMTAG_REQUIRENAME, depName, 0);
52 + rc = checkPackageSet(ts, depName, mi, 0);
56 @@ -1349,10 +1349,10 @@ static int checkDependentPackages(rpmts
58 * Check to-be-added dependencies against installed conflicts.
59 * @param ts transaction set
60 - * @param dep conflicts name
61 + * @param depName conflicts name
62 * @return 0 no problems found
64 -static int checkDependentConflicts(rpmts ts, const char * dep)
65 +static int checkDependentConflicts(rpmts ts, const char * depName)
66 /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
67 /*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState @*/
69 @@ -1361,8 +1361,8 @@ static int checkDependentConflicts(rpmts
70 /* XXX rpmdb can be closed here, avoid error msg. */
71 if (rpmtsGetRdb(ts) != NULL) {
72 rpmdbMatchIterator mi;
73 - mi = rpmtsInitIterator(ts, RPMTAG_CONFLICTNAME, dep, 0);
74 - rc = checkPackageSet(ts, dep, mi, 1);
75 + mi = rpmtsInitIterator(ts, RPMTAG_CONFLICTNAME, depName, 0);
76 + rc = checkPackageSet(ts, depName, mi, 1);
80 @@ -2277,6 +2277,7 @@ assert(newOrderCount == ts->orderCount);
82 int rpmtsCheck(rpmts ts)
84 + const char * depName = NULL;;
85 rpmdepFlags depFlags = rpmtsDFlags(ts);
86 uint_32 tscolor = rpmtsColor(ts);
87 rpmdbMatchIterator mi = NULL;
88 @@ -2331,17 +2332,15 @@ int rpmtsCheck(rpmts ts)
89 provides = rpmdsInit(provides);
91 while (rpmdsNext(provides) >= 0) {
94 - if ((Name = rpmdsN(provides)) == NULL)
95 - /*@innercontinue@*/ continue; /* XXX can't happen */
96 + depName = _free(depName);
97 + depName = xstrdup(rpmdsN(provides));
100 if (rpmdsNSType(provides) == RPMNS_TYPE_ENVVAR) {
101 const char * EVR = rpmdsEVR(provides);
102 if (rpmdsNegateRC(provides, 0))
104 - rc = envPut(Name, EVR);
105 + rc = envPut(depName, EVR);
107 /*@innercontinue@*/ continue;
108 /*@innerbreak@*/ break;
109 @@ -2349,7 +2348,7 @@ int rpmtsCheck(rpmts ts)
112 /* Adding: check provides key against conflicts matches. */
113 - if (!checkDependentConflicts(ts, Name))
114 + if (!checkDependentConflicts(ts, depName))
115 /*@innercontinue@*/ continue;
117 /*@innerbreak@*/ break;
118 @@ -2377,13 +2376,11 @@ int rpmtsCheck(rpmts ts)
119 provides = rpmdsInit(provides);
120 if (provides != NULL)
121 while (rpmdsNext(provides) >= 0) {
124 - if ((Name = rpmdsN(provides)) == NULL)
125 - /*@innercontinue@*/ continue; /* XXX can't happen */
126 + depName = _free(depName);
127 + depName = xstrdup(rpmdsN(provides));
129 /* Erasing: check provides against requiredby matches. */
130 - if (!checkDependentPackages(ts, Name))
131 + if (!checkDependentPackages(ts, depName))
132 /*@innercontinue@*/ continue;
134 /*@innerbreak@*/ break;
135 @@ -2395,10 +2392,10 @@ int rpmtsCheck(rpmts ts)
136 fi = rpmteFI(p, RPMTAG_BASENAMES);
137 fi = rpmfiInit(fi, 0);
138 while (rpmfiNext(fi) >= 0) {
139 - const char * fn = rpmfiFN(fi);
141 + depName = _free(depName);
142 + depName = xstrdup(rpmfiFN(fi));
143 /* Erasing: check filename against requiredby matches. */
144 - if (!checkDependentPackages(ts, fn))
145 + if (!checkDependentPackages(ts, depName))
146 /*@innercontinue@*/ continue;
148 /*@innerbreak@*/ break;
149 @@ -2429,6 +2426,7 @@ int rpmtsCheck(rpmts ts)
151 mi = rpmdbFreeIterator(mi);
153 + depName = _free(depName);
155 (void) rpmswExit(rpmtsOp(ts, RPMTS_OP_CHECK), 0);