RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: j...@rpm5.org Module: rpm Date: 06-Jun-2012 22:50:43 Branch: rpm-5_4 Handle: 2012060620504100 Modified files: (Branch: rpm-5_4) rpm/lib poptQV.c verify.c Log: - c++ remove strict aliasing warning from C -> C++ casting. Summary: Revision Changes Path 2.68.2.3 +35 -33 rpm/lib/poptQV.c 2.201.4.10 +3 -1 rpm/lib/verify.c ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/lib/poptQV.c ============================================================================ $ cvs diff -u -r2.68.2.2 -r2.68.2.3 poptQV.c --- rpm/lib/poptQV.c 19 Apr 2012 17:26:06 -0000 2.68.2.2 +++ rpm/lib/poptQV.c 6 Jun 2012 20:50:41 -0000 2.68.2.3 @@ -54,6 +54,7 @@ /*@modifies rpmQVKArgs @*/ { QVA_t qva = &rpmQVKArgs; + unsigned * _sourcep = (unsigned *)&qva->qva_source; switch (opt->val) { case 'q': /* from --query, -q */ @@ -69,49 +70,49 @@ qva->qva_char = ' '; } break; - case 'a': *((unsigned *)&qva->qva_source) |= RPMQV_ALL; qva->qva_sourceCount++; break; - case 'f': *((unsigned *)&qva->qva_source) |= RPMQV_PATH; qva->qva_sourceCount++; break; - case 'g': *((unsigned *)&qva->qva_source) |= RPMQV_GROUP; qva->qva_sourceCount++; break; - case 'p': *((unsigned *)&qva->qva_source) |= RPMQV_RPM; qva->qva_sourceCount++; break; - case POPT_WHATNEEDS: *((unsigned *)&qva->qva_source) |= RPMQV_WHATNEEDS; + case 'a': *_sourcep |= RPMQV_ALL; qva->qva_sourceCount++; break; + case 'f': *_sourcep |= RPMQV_PATH; qva->qva_sourceCount++; break; + case 'g': *_sourcep |= RPMQV_GROUP; qva->qva_sourceCount++; break; + case 'p': *_sourcep |= RPMQV_RPM; qva->qva_sourceCount++; break; + case POPT_WHATNEEDS: *_sourcep |= RPMQV_WHATNEEDS; qva->qva_sourceCount++; break; - case POPT_WHATPROVIDES: *((unsigned *)&qva->qva_source) |= RPMQV_WHATPROVIDES; + case POPT_WHATPROVIDES: *_sourcep |= RPMQV_WHATPROVIDES; qva->qva_sourceCount++; break; - case POPT_WHATREQUIRES: *((unsigned *)&qva->qva_source) |= RPMQV_WHATREQUIRES; + case POPT_WHATREQUIRES: *_sourcep |= RPMQV_WHATREQUIRES; qva->qva_sourceCount++; break; - case POPT_WHATCONFLICTS: *((unsigned *)&qva->qva_source) |= RPMQV_WHATCONFLICTS; + case POPT_WHATCONFLICTS: *_sourcep |= RPMQV_WHATCONFLICTS; qva->qva_sourceCount++; break; - case POPT_WHATOBSOLETES: *((unsigned *)&qva->qva_source) |= RPMQV_WHATOBSOLETES; + case POPT_WHATOBSOLETES: *_sourcep |= RPMQV_WHATOBSOLETES; qva->qva_sourceCount++; break; - case POPT_TRIGGEREDBY: *((unsigned *)&qva->qva_source) |= RPMQV_TRIGGEREDBY; + case POPT_TRIGGEREDBY: *_sourcep |= RPMQV_TRIGGEREDBY; qva->qva_sourceCount++; break; - case POPT_QUERYBYSOURCEPKGID: *((unsigned *)&qva->qva_source) |= RPMQV_SOURCEPKGID; + case POPT_QUERYBYSOURCEPKGID: *_sourcep |= RPMQV_SOURCEPKGID; qva->qva_sourceCount++; break; - case POPT_QUERYBYPKGID: *((unsigned *)&qva->qva_source) |= RPMQV_PKGID; + case POPT_QUERYBYPKGID: *_sourcep |= RPMQV_PKGID; qva->qva_sourceCount++; break; - case POPT_QUERYBYHDRID: *((unsigned *)&qva->qva_source) |= RPMQV_HDRID; + case POPT_QUERYBYHDRID: *_sourcep |= RPMQV_HDRID; qva->qva_sourceCount++; break; - case POPT_QUERYBYFILEID: *((unsigned *)&qva->qva_source) |= RPMQV_FILEID; + case POPT_QUERYBYFILEID: *_sourcep |= RPMQV_FILEID; qva->qva_sourceCount++; break; - case POPT_QUERYBYTID: *((unsigned *)&qva->qva_source) |= RPMQV_TID; + case POPT_QUERYBYTID: *_sourcep |= RPMQV_TID; qva->qva_sourceCount++; break; - case POPT_HDLIST: *((unsigned *)&qva->qva_source) |= RPMQV_HDLIST; + case POPT_HDLIST: *_sourcep |= RPMQV_HDLIST; qva->qva_sourceCount++; break; - case POPT_FTSWALK: *((unsigned *)&qva->qva_source) |= RPMQV_FTSWALK; + case POPT_FTSWALK: *_sourcep |= RPMQV_FTSWALK; qva->qva_sourceCount++; break; /* XXX SPECFILE is not verify sources */ case POPT_SPECFILE: - *((unsigned *)&qva->qva_source) |= RPMQV_SPECFILE; + *_sourcep |= RPMQV_SPECFILE; qva->qva_sourceCount++; break; /* XXX SPECSRPM is not verify sources */ case POPT_SPECSRPM: - *((unsigned *)&qva->qva_source) |= RPMQV_SPECSRPM; + *_sourcep |= RPMQV_SPECSRPM; qva->qva_sourceCount++; break; case POPT_QUERYBYNUMBER: - *((unsigned *)&qva->qva_source) |= RPMQV_DBOFFSET; + *_sourcep |= RPMQV_DBOFFSET; qva->qva_sourceCount++; break; @@ -210,16 +211,17 @@ /*@modifies con, rpmQVKArgs @*/ { QVA_t qva = &rpmQVKArgs; + unsigned * _flagsp = (unsigned *)&qva->qva_flags; /* XXX avoid accidental collisions with POPT_BIT_SET for flags */ if (opt->arg == NULL) switch (opt->val) { - case 'c': *((unsigned *)&qva->qva_flags) |= QUERY_FOR_CONFIG | QUERY_FOR_LIST; break; - case 'd': *((unsigned *)&qva->qva_flags) |= QUERY_FOR_DOCS | QUERY_FOR_LIST; break; - case 'l': *((unsigned *)&qva->qva_flags) |= QUERY_FOR_LIST; break; - case 's': *((unsigned *)&qva->qva_flags) |= QUERY_FOR_STATE | QUERY_FOR_LIST; + case 'c': *_flagsp |= QUERY_FOR_CONFIG | QUERY_FOR_LIST; break; + case 'd': *_flagsp |= QUERY_FOR_DOCS | QUERY_FOR_LIST; break; + case 'l': *_flagsp |= QUERY_FOR_LIST; break; + case 's': *_flagsp |= QUERY_FOR_STATE | QUERY_FOR_LIST; break; - case POPT_DUMP: *((unsigned *)&qva->qva_flags) |= QUERY_FOR_DUMPFILES | QUERY_FOR_LIST; + case POPT_DUMP: *_flagsp |= QUERY_FOR_DUMPFILES | QUERY_FOR_LIST; break; case POPT_QUERYFORMAT: @@ -274,35 +276,35 @@ break; case RPMCLI_POPT_NODIGEST: - *((unsigned *)&qva->qva_flags) |= VERIFY_DIGEST; + *_flagsp |= VERIFY_DIGEST; break; case RPMCLI_POPT_NOSIGNATURE: - *((unsigned *)&qva->qva_flags) |= VERIFY_SIGNATURE; + *_flagsp |= VERIFY_SIGNATURE; break; case RPMCLI_POPT_NOHDRCHK: - *((unsigned *)&qva->qva_flags) |= VERIFY_HDRCHK; + *_flagsp |= VERIFY_HDRCHK; break; case RPMCLI_POPT_NODEPS: - *((unsigned *)&qva->qva_flags) |= VERIFY_DEPS; + *_flagsp |= VERIFY_DEPS; break; case RPMCLI_POPT_NOFDIGESTS: - *((unsigned *)&qva->qva_flags) |= VERIFY_FDIGEST; + *_flagsp |= VERIFY_FDIGEST; break; case RPMCLI_POPT_NOCONTEXTS: - *((unsigned *)&qva->qva_flags) |= VERIFY_CONTEXTS; + *_flagsp |= VERIFY_CONTEXTS; break; case RPMCLI_POPT_NOSCRIPTS: - *((unsigned *)&qva->qva_flags) |= VERIFY_SCRIPT; + *_flagsp |= VERIFY_SCRIPT; break; case RPMCLI_POPT_NOHMACS: - *((unsigned *)&qva->qva_flags) |= VERIFY_HMAC; + *_flagsp |= VERIFY_HMAC; break; /* XXX perhaps POPT_ARG_INT instead of callback. */ @@ . patch -p0 <<'@@ .' Index: rpm/lib/verify.c ============================================================================ $ cvs diff -u -r2.201.4.9 -r2.201.4.10 verify.c --- rpm/lib/verify.c 26 Apr 2012 17:46:50 -0000 2.201.4.9 +++ rpm/lib/verify.c 6 Jun 2012 20:50:41 -0000 2.201.4.10 @@ -163,7 +163,9 @@ vf->digest = fi->digests + (fi->digestlen * i); /* Don't verify any features in omitMask. */ - *((unsigned *)&vf->vflags) &= ~(omitMask | RPMVERIFY_FAILURES); + { unsigned * _vflagsp = (unsigned *)&vf->vflags; + *_vflagsp &= ~(omitMask | RPMVERIFY_FAILURES); + } /* Content checks of %ghost files are meaningless. */ if (FF_ISSET(vf->fflags, GHOST)) { @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org