RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: [EMAIL PROTECTED] Module: rpm Date: 22-Sep-2008 04:35:58 Branch: HEAD Handle: 2008092202355701 Modified files: rpm CHANGES rpm/lib rpmds.c Log: - jbj: add rpmdsType() to name dependency sets status quo ante. Summary: Revision Changes Path 1.2559 +1 -0 rpm/CHANGES 2.104 +32 -21 rpm/lib/rpmds.c ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/CHANGES ============================================================================ $ cvs diff -u -r1.2558 -r1.2559 CHANGES --- rpm/CHANGES 22 Sep 2008 02:12:02 -0000 1.2558 +++ rpm/CHANGES 22 Sep 2008 02:35:57 -0000 1.2559 @@ -1,5 +1,6 @@ 5.1.0 -> 5.2a0: + - jbj: add rpmdsType() to name dependency sets status quo ante. - jbj: common approach to ensure triggers fire only once. - jbj: fire triggers from Provides: dependency set. - jbj: rpmio: add argiCmp and argiSort. @@ . patch -p0 <<'@@ .' Index: rpm/lib/rpmds.c ============================================================================ $ cvs diff -u -r2.103 -r2.104 rpmds.c --- rpm/lib/rpmds.c 21 Sep 2008 18:59:26 -0000 2.103 +++ rpm/lib/rpmds.c 22 Sep 2008 02:35:58 -0000 2.104 @@ -142,6 +142,30 @@ /[EMAIL PROTECTED]@*/ return ds; /[EMAIL PROTECTED]@*/ } +/** + * Return dependency set type string. + * @param tagN dependency set tag + * @return dependency set type string + */ +static const char * rpmdsType(rpmTag tagN) + /[EMAIL PROTECTED]/ +{ + const char * Type; + + /* XXX Preserve existing names in debugging messages. */ + switch (tagN) { + default: Type = tagName(tagN); break; + case RPMTAG_PROVIDENAME: Type = "Provides"; break; + case RPMTAG_REQUIRENAME: Type = "Requires"; break; + case RPMTAG_CONFLICTNAME: Type = "Conflicts"; break; + case RPMTAG_OBSOLETENAME: Type = "Obsoletes"; break; + case RPMTAG_TRIGGERNAME: Type = "Triggers"; break; + case RPMTAG_SUGGESTSNAME: Type = "Suggests"; break; + case RPMTAG_ENHANCESNAME: Type = "Enhances"; break; + } + return Type; +} + rpmds rpmdsFree(rpmds ds) { if (ds == NULL) @@ -213,7 +237,7 @@ HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he)); rpmTag tagEVR, tagF; rpmds ds = NULL; - const char * Type; + const char * Type = NULL; const char ** N; rpmuint32_t Count; int xx; @@ -265,7 +289,8 @@ break; } - Type = tagName(tagN); + if (Type == NULL) + Type = rpmdsType(tagN); he->tag = tagN; xx = headerGet(h, he, 0); @@ -470,7 +495,7 @@ if (tagN == RPMTAG_NAME) tagN = RPMTAG_PROVIDENAME; - Type = tagName(tagN); + Type = rpmdsType(tagN); he->tag = RPMTAG_EPOCH; xx = headerGet(h, he, 0); @@ -533,7 +558,7 @@ rpmds ds = NULL; const char * Type; - Type = tagName(tagN); + Type = rpmdsType(tagN); ds = xcalloc(1, sizeof(*ds)); ds->Type = Type; @@ -802,26 +827,12 @@ void rpmdsNotify(rpmds ds, const char * where, int rc) { - const char * Type; - if (!(ds != NULL && ds->i >= 0 && ds->i < (int)ds->Count)) return; - if (!(ds->Type != NULL && ds->DNEVR != NULL)) + if (ds->DNEVR == NULL) return; - /* XXX Preserve existing names in debugging messages. */ - switch (ds->tagN) { - default: Type = tagName(ds->tagN); break; - case RPMTAG_PROVIDENAME: Type = "Provides"; break; - case RPMTAG_REQUIRENAME: Type = "Requires"; break; - case RPMTAG_CONFLICTNAME: Type = "Conflicts"; break; - case RPMTAG_OBSOLETENAME: Type = "Obsoletes"; break; - case RPMTAG_TRIGGERNAME: Type = "Triggers"; break; - case RPMTAG_SUGGESTSNAME: Type = "Suggests"; break; - case RPMTAG_ENHANCESNAME: Type = "Enhances"; break; - } - - rpmlog(RPMLOG_DEBUG, "%9s: %-45s %-s %s\n", ds->Type, + rpmlog(RPMLOG_DEBUG, "%9s: %-45s %-s %s\n", rpmdsType(ds->tagN), (!strcmp(ds->DNEVR, "cached") ? ds->DNEVR : ds->DNEVR+2), (rc ? _("NO ") : _("YES")), (where != NULL ? where : "")); @@ -2599,7 +2610,7 @@ /[EMAIL PROTECTED]@*/ if (_rpmds_debug < 0) -fprintf(stderr, "*** rpmdsMergePRCO(%p, %p) %s\n", context, ds, tagName(rpmdsTagN(ds))); +fprintf(stderr, "*** rpmdsMergePRCO(%p, %p) %s\n", context, ds, rpmdsType(rpmdsTagN(ds))); /[EMAIL PROTECTED]@*/ switch(rpmdsTagN(ds)) { default: @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org