poptQV.c   poptQV.c 
skipping to change at line 72 skipping to change at line 72
case 'A': /* from --addsign */ case 'A': /* from --addsign */
case 'D': /* from --delsign */ case 'D': /* from --delsign */
case 'I': /* from --import */ case 'I': /* from --import */
case 'K': /* from --checksig, -K */ case 'K': /* from --checksig, -K */
case 'R': /* from --resign */ case 'R': /* from --resign */
if (qva->qva_mode == '\0' || strchr("qQ ", qva->qva_mode)) { if (qva->qva_mode == '\0' || strchr("qQ ", qva->qva_mode)) {
qva->qva_mode = opt->val; qva->qva_mode = opt->val;
qva->qva_char = ' '; qva->qva_char = ' ';
} }
break; break;
case 'a': qva->qva_source |= RPMQV_ALL; qva->qva_sourceCount++; break; case 'a': *((unsigned *)&qva->qva_source) |= RPMQV_ALL; qva->qva_source
case 'f': qva->qva_source |= RPMQV_PATH; qva->qva_sourceCount++; break; Count++; break;
case 'g': qva->qva_source |= RPMQV_GROUP; qva->qva_sourceCount++; break case 'f': *((unsigned *)&qva->qva_source) |= RPMQV_PATH; qva->qva_sourc
; eCount++; break;
case 'p': qva->qva_source |= RPMQV_RPM; qva->qva_sourceCount++; break; case 'g': *((unsigned *)&qva->qva_source) |= RPMQV_GROUP; qva->qva_sour
case POPT_WHATNEEDS: qva->qva_source |= RPMQV_WHATNEEDS; ceCount++; break;
case 'p': *((unsigned *)&qva->qva_source) |= RPMQV_RPM; qva->qva_source
Count++; break;
case POPT_WHATNEEDS: *((unsigned *)&qva->qva_source) |= RPMQV_WHATNEEDS
;
qva->qva_sourceCount++; break; qva->qva_sourceCount++; break;
case POPT_WHATPROVIDES: qva->qva_source |= RPMQV_WHATPROVIDES; case POPT_WHATPROVIDES: *((unsigned *)&qva->qva_source) |= RPMQV_WHATPR OVIDES;
qva->qva_sourceCount++; break; qva->qva_sourceCount++; break;
case POPT_WHATREQUIRES: qva->qva_source |= RPMQV_WHATREQUIRES; case POPT_WHATREQUIRES: *((unsigned *)&qva->qva_source) |= RPMQV_WHATRE QUIRES;
qva->qva_sourceCount++; break; qva->qva_sourceCount++; break;
case POPT_WHATCONFLICTS: qva->qva_source |= RPMQV_WHATCONFLICTS; case POPT_WHATCONFLICTS: *((unsigned *)&qva->qva_source) |= RPMQV_WHATC ONFLICTS;
qva->qva_sourceCount++; break; qva->qva_sourceCount++; break;
case POPT_WHATOBSOLETES: qva->qva_source |= RPMQV_WHATOBSOLETES; case POPT_WHATOBSOLETES: *((unsigned *)&qva->qva_source) |= RPMQV_WHATO BSOLETES;
qva->qva_sourceCount++; break; qva->qva_sourceCount++; break;
case POPT_TRIGGEREDBY: qva->qva_source |= RPMQV_TRIGGEREDBY; case POPT_TRIGGEREDBY: *((unsigned *)&qva->qva_source) |= RPMQV_TRIGGER EDBY;
qva->qva_sourceCount++; break; qva->qva_sourceCount++; break;
case POPT_QUERYBYSOURCEPKGID: qva->qva_source |= RPMQV_SOURCEPKGID; case POPT_QUERYBYSOURCEPKGID: *((unsigned *)&qva->qva_source) |= RPMQV_ SOURCEPKGID;
qva->qva_sourceCount++; break; qva->qva_sourceCount++; break;
case POPT_QUERYBYPKGID: qva->qva_source |= RPMQV_PKGID; case POPT_QUERYBYPKGID: *((unsigned *)&qva->qva_source) |= RPMQV_PKGID;
qva->qva_sourceCount++; break; qva->qva_sourceCount++; break;
case POPT_QUERYBYHDRID: qva->qva_source |= RPMQV_HDRID; case POPT_QUERYBYHDRID: *((unsigned *)&qva->qva_source) |= RPMQV_HDRID;
qva->qva_sourceCount++; break; qva->qva_sourceCount++; break;
case POPT_QUERYBYFILEID: qva->qva_source |= RPMQV_FILEID; case POPT_QUERYBYFILEID: *((unsigned *)&qva->qva_source) |= RPMQV_FILEI D;
qva->qva_sourceCount++; break; qva->qva_sourceCount++; break;
case POPT_QUERYBYTID: qva->qva_source |= RPMQV_TID; case POPT_QUERYBYTID: *((unsigned *)&qva->qva_source) |= RPMQV_TID;
qva->qva_sourceCount++; break; qva->qva_sourceCount++; break;
case POPT_HDLIST: qva->qva_source |= RPMQV_HDLIST; case POPT_HDLIST: *((unsigned *)&qva->qva_source) |= RPMQV_HDLIST;
qva->qva_sourceCount++; break; qva->qva_sourceCount++; break;
case POPT_FTSWALK:qva->qva_source |= RPMQV_FTSWALK; case POPT_FTSWALK: *((unsigned *)&qva->qva_source) |= RPMQV_FTSWALK;
qva->qva_sourceCount++; break; qva->qva_sourceCount++; break;
/* XXX SPECFILE is not verify sources */ /* XXX SPECFILE is not verify sources */
case POPT_SPECFILE: case POPT_SPECFILE:
qva->qva_source |= RPMQV_SPECFILE; *((unsigned *)&qva->qva_source) |= RPMQV_SPECFILE;
qva->qva_sourceCount++; qva->qva_sourceCount++;
break; break;
/* XXX SPECSRPM is not verify sources */ /* XXX SPECSRPM is not verify sources */
case POPT_SPECSRPM: case POPT_SPECSRPM:
qva->qva_source |= RPMQV_SPECSRPM; *((unsigned *)&qva->qva_source) |= RPMQV_SPECSRPM;
qva->qva_sourceCount++; qva->qva_sourceCount++;
break; break;
case POPT_QUERYBYNUMBER: case POPT_QUERYBYNUMBER:
qva->qva_source |= RPMQV_DBOFFSET; *((unsigned *)&qva->qva_source) |= RPMQV_DBOFFSET;
qva->qva_sourceCount++; qva->qva_sourceCount++;
break; break;
case POPT_NOPASSWORD: case POPT_NOPASSWORD:
qva->nopassword = 1; qva->nopassword = 1;
break; break;
} }
} }
/** /**
* Common query/verify mode options. * Common query/verify mode options.
*/ */
/*@unchecked@*/ /*@unchecked@*/
struct poptOption rpmQVSourcePoptTable[] = { struct poptOption rpmQVSourcePoptTable[] = {
/*@-type@*/ /* FIX: cast? */ /*@-type@*/ /* FIX: cast? */
{ NULL, '\0', POPT_ARG_CALLBACK | POPT_CBFLAG_INC_DATA, { NULL, '\0', POPT_ARG_CALLBACK | POPT_CBFLAG_INC_DATA,
rpmQVSourceArgCallback, 0, NULL, NULL }, (void *) rpmQVSourceArgCallback, 0, NULL, NULL },
/*@=type@*/ /*@=type@*/
{ "all", 'a', 0, NULL, 'a', { "all", 'a', 0, NULL, 'a',
N_("query/verify all packages"), NULL }, N_("query/verify all packages"), NULL },
{ "checksig", 'K', POPT_ARGFLAG_DOC_HIDDEN, NULL, 'K', { "checksig", 'K', POPT_ARGFLAG_DOC_HIDDEN, NULL, 'K',
N_("rpm checksig mode"), NULL }, N_("rpm checksig mode"), NULL },
{ "file", 'f', 0, NULL, 'f', { "file", 'f', 0, NULL, 'f',
N_("query/verify package(s) owning file"), "FILE" }, N_("query/verify package(s) owning file"), "FILE" },
{ "group", 'g', 0, NULL, 'g', { "group", 'g', 0, NULL, 'g',
N_("query/verify package(s) in group"), "GROUP" }, N_("query/verify package(s) in group"), "GROUP" },
{ "package", 'p', 0, NULL, 'p', { "package", 'p', 0, NULL, 'p',
skipping to change at line 216 skipping to change at line 216
const struct poptOption * opt, const char * arg, const struct poptOption * opt, const char * arg,
/*@unused@*/ const void * data) /*@unused@*/ const void * data)
/*@globals rpmQVKArgs @*/ /*@globals rpmQVKArgs @*/
/*@modifies con, rpmQVKArgs @*/ /*@modifies con, rpmQVKArgs @*/
{ {
QVA_t qva = &rpmQVKArgs; QVA_t qva = &rpmQVKArgs;
/* XXX avoid accidental collisions with POPT_BIT_SET for flags */ /* XXX avoid accidental collisions with POPT_BIT_SET for flags */
if (opt->arg == NULL) if (opt->arg == NULL)
switch (opt->val) { switch (opt->val) {
case 'c': qva->qva_flags |= QUERY_FOR_CONFIG | QUERY_FOR_LIST; break; case 'c': *((unsigned *)&qva->qva_flags) |= QUERY_FOR_CONFIG | QUERY_FO
case 'd': qva->qva_flags |= QUERY_FOR_DOCS | QUERY_FOR_LIST; break; R_LIST; break;
case 'l': qva->qva_flags |= QUERY_FOR_LIST; break; case 'd': *((unsigned *)&qva->qva_flags) |= QUERY_FOR_DOCS | QUERY_FOR_
case 's': qva->qva_flags |= QUERY_FOR_STATE | QUERY_FOR_LIST; LIST; break;
case 'l': *((unsigned *)&qva->qva_flags) |= QUERY_FOR_LIST; break;
case 's': *((unsigned *)&qva->qva_flags) |= QUERY_FOR_STATE | QUERY_FOR
_LIST;
break; break;
case POPT_DUMP: qva->qva_flags |= QUERY_FOR_DUMPFILES | QUERY_FOR_LIST; case POPT_DUMP: *((unsigned *)&qva->qva_flags) |= QUERY_FOR_DUMPFILES | QUERY_FOR_LIST;
break; break;
case POPT_QUERYFORMAT: case POPT_QUERYFORMAT:
if (arg) { if (arg) {
char * qf = (char *)qva->qva_queryFormat; char * qf = (char *)qva->qva_queryFormat;
char * b = NULL; char * b = NULL;
size_t nb = 0; size_t nb = 0;
/* Read queryformat from file. */ /* Read queryformat from file. */
if (arg[0] == '/') { if (arg[0] == '/') {
skipping to change at line 253 skipping to change at line 253
b[nb--] = '\0'; b[nb--] = '\0';
b[nb] = '\0'; b[nb] = '\0';
arg = b + 1; arg = b + 1;
} else } else
arg = b; arg = b;
} }
/* Append to existing queryformat. */ /* Append to existing queryformat. */
if (qf) { if (qf) {
size_t len = strlen(qf) + strlen(arg) + 1; size_t len = strlen(qf) + strlen(arg) + 1;
qf = xrealloc(qf, len); qf = (char *) xrealloc(qf, len);
strcat(qf, arg); strcat(qf, arg);
} else { } else {
qf = xmalloc(strlen(arg) + 1); qf = (char *) xmalloc(strlen(arg) + 1);
strcpy(qf, arg); strcpy(qf, arg);
} }
qva->qva_queryFormat = qf; qva->qva_queryFormat = qf;
_qfexit: _qfexit:
b = _free(b); b = _free(b);
} }
break; break;
case 'i': case 'i':
if (qva->qva_mode == 'q') { if (qva->qva_mode == 'q') {
/*@-nullassign -readonlytrans@*/ /*@-nullassign -readonlytrans@*/
const char * infoCommand[] = { "--info", NULL }; const char * infoCommand[] = { "--info", NULL };
/*@=nullassign =readonlytrans@*/ /*@=nullassign =readonlytrans@*/
(void) poptStuffArgs(con, infoCommand); (void) poptStuffArgs(con, infoCommand);
} }
break; break;
case RPMCLI_POPT_NODIGEST: case RPMCLI_POPT_NODIGEST:
qva->qva_flags |= VERIFY_DIGEST; *((unsigned *)&qva->qva_flags) |= VERIFY_DIGEST;
break; break;
case RPMCLI_POPT_NOSIGNATURE: case RPMCLI_POPT_NOSIGNATURE:
qva->qva_flags |= VERIFY_SIGNATURE; *((unsigned *)&qva->qva_flags) |= VERIFY_SIGNATURE;
break; break;
case RPMCLI_POPT_NOHDRCHK: case RPMCLI_POPT_NOHDRCHK:
qva->qva_flags |= VERIFY_HDRCHK; *((unsigned *)&qva->qva_flags) |= VERIFY_HDRCHK;
break; break;
case RPMCLI_POPT_NODEPS: case RPMCLI_POPT_NODEPS:
qva->qva_flags |= VERIFY_DEPS; *((unsigned *)&qva->qva_flags) |= VERIFY_DEPS;
break; break;
case RPMCLI_POPT_NOFDIGESTS: case RPMCLI_POPT_NOFDIGESTS:
qva->qva_flags |= VERIFY_FDIGEST; *((unsigned *)&qva->qva_flags) |= VERIFY_FDIGEST;
break; break;
case RPMCLI_POPT_NOCONTEXTS: case RPMCLI_POPT_NOCONTEXTS:
qva->qva_flags |= VERIFY_CONTEXTS; *((unsigned *)&qva->qva_flags) |= VERIFY_CONTEXTS;
break; break;
case RPMCLI_POPT_NOSCRIPTS: case RPMCLI_POPT_NOSCRIPTS:
qva->qva_flags |= VERIFY_SCRIPT; *((unsigned *)&qva->qva_flags) |= VERIFY_SCRIPT;
break; break;
case RPMCLI_POPT_NOHMACS: case RPMCLI_POPT_NOHMACS:
qva->qva_flags |= VERIFY_HMAC; *((unsigned *)&qva->qva_flags) |= VERIFY_HMAC;
break; break;
/* XXX perhaps POPT_ARG_INT instead of callback. */ /* XXX perhaps POPT_ARG_INT instead of callback. */
case POPT_TRUST: case POPT_TRUST:
{ char * end = NULL; { char * end = NULL;
long trust = (int) strtol(arg, &end, 0); long trust = (int) strtol(arg, &end, 0);
/* XXX range checks on trust. */ /* XXX range checks on trust. */
/* XXX if (end && *end) argerror(_("non-numeric trust metric.")); */ /* XXX if (end && *end) argerror(_("non-numeric trust metric.")); */
qva->trust = trust; qva->trust = trust;
} break; } break;
} }
} }
/** /**
* Query mode options. * Query mode options.
*/ */
/*@unchecked@*/ /*@unchecked@*/
struct poptOption rpmQueryPoptTable[] = { struct poptOption rpmQueryPoptTable[] = {
/*@-type@*/ /* FIX: cast? */ /*@-type@*/ /* FIX: cast? */
{ NULL, '\0', POPT_ARG_CALLBACK | POPT_CBFLAG_INC_DATA | POPT_CBFLAG_CONTI NUE, { NULL, '\0', POPT_ARG_CALLBACK | POPT_CBFLAG_INC_DATA | POPT_CBFLAG_CONTI NUE,
queryArgCallback, 0, NULL, NULL }, (void *) queryArgCallback, 0, NULL, NULL },
/*@=type@*/ /*@=type@*/
{ NULL, '\0', POPT_ARG_INCLUDE_TABLE, rpmQVSourcePoptTable, 0, { NULL, '\0', POPT_ARG_INCLUDE_TABLE, rpmQVSourcePoptTable, 0,
NULL, NULL }, NULL, NULL },
{ "configfiles", 'c', 0, 0, 'c', { "configfiles", 'c', 0, 0, 'c',
N_("list all configuration files"), NULL }, N_("list all configuration files"), NULL },
{ "docfiles", 'd', 0, 0, 'd', { "docfiles", 'd', 0, 0, 'd',
N_("list all documentation files"), NULL }, N_("list all documentation files"), NULL },
{ "dump", '\0', 0, 0, POPT_DUMP, { "dump", '\0', 0, 0, POPT_DUMP,
N_("dump basic file information"), NULL }, N_("dump basic file information"), NULL },
{ NULL, 'i', POPT_ARGFLAG_DOC_HIDDEN, 0, 'i', { NULL, 'i', POPT_ARGFLAG_DOC_HIDDEN, 0, 'i',
skipping to change at line 382 skipping to change at line 382
N_("specify target platform"), N_("CPU-VENDOR-OS") }, N_("specify target platform"), N_("CPU-VENDOR-OS") },
POPT_TABLEEND POPT_TABLEEND
}; };
/** /**
* Verify mode options. * Verify mode options.
*/ */
struct poptOption rpmVerifyPoptTable[] = { struct poptOption rpmVerifyPoptTable[] = {
/*@-type@*/ /* FIX: cast? */ /*@-type@*/ /* FIX: cast? */
{ NULL, '\0', POPT_ARG_CALLBACK | POPT_CBFLAG_INC_DATA | POPT_CBFLAG_CONTI NUE, { NULL, '\0', POPT_ARG_CALLBACK | POPT_CBFLAG_INC_DATA | POPT_CBFLAG_CONTI NUE,
queryArgCallback, 0, NULL, NULL }, (void *) queryArgCallback, 0, NULL, NULL },
/*@=type@*/ /*@=type@*/
{ NULL, '\0', POPT_ARG_INCLUDE_TABLE, rpmQVSourcePoptTable, 0, { NULL, '\0', POPT_ARG_INCLUDE_TABLE, rpmQVSourcePoptTable, 0,
NULL, NULL }, NULL, NULL },
{ "aid", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE|POPT_ARGFLAG_DOC_HIDDEN, { "aid", '\0', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE|POPT_ARGFLAG_DOC_HIDDEN,
&rpmQVKArgs.depFlags, RPMDEPS_FLAG_ADDINDEPS, &rpmQVKArgs.depFlags, RPMDEPS_FLAG_ADDINDEPS,
N_("add suggested packages to transaction"), NULL }, N_("add suggested packages to transaction"), NULL },
/* Duplicate file attr flags from packages into command line options. */ /* Duplicate file attr flags from packages into command line options. */
{ "noconfig", '\0', POPT_BIT_SET|POPT_ARGFLAG_DOC_HIDDEN, { "noconfig", '\0', POPT_BIT_SET|POPT_ARGFLAG_DOC_HIDDEN,
skipping to change at line 489 skipping to change at line 489
POPT_TABLEEND POPT_TABLEEND
}; };
/** /**
* Signature mode options. * Signature mode options.
*/ */
/*@unchecked@*/ /*@unchecked@*/
struct poptOption rpmSignPoptTable[] = { struct poptOption rpmSignPoptTable[] = {
/*@-type@*/ /* FIX: cast? */ /*@-type@*/ /* FIX: cast? */
{ NULL, '\0', POPT_ARG_CALLBACK | POPT_CBFLAG_INC_DATA | POPT_CBFLAG_CONTI NUE, { NULL, '\0', POPT_ARG_CALLBACK | POPT_CBFLAG_INC_DATA | POPT_CBFLAG_CONTI NUE,
rpmQVSourceArgCallback, 0, NULL, NULL }, (void *) rpmQVSourceArgCallback, 0, NULL, NULL },
/*@=type@*/ /*@=type@*/
{ "addsign", '\0', 0, NULL, 'A', { "addsign", '\0', 0, NULL, 'A',
N_("sign package(s) (identical to --resign)"), NULL }, N_("sign package(s) (identical to --resign)"), NULL },
{ "checksig", 'K', 0, NULL, 'K', { "checksig", 'K', 0, NULL, 'K',
N_("verify package signature(s)"), NULL }, N_("verify package signature(s)"), NULL },
{ "delsign", '\0', 0, NULL, 'D', { "delsign", '\0', 0, NULL, 'D',
N_("delete package signatures"), NULL }, N_("delete package signatures"), NULL },
{ "import", '\0', 0, NULL, 'I', { "import", '\0', 0, NULL, 'I',
N_("import an armored public key"), NULL }, N_("import an armored public key"), NULL },
{ "resign", '\0', 0, NULL, 'R', { "resign", '\0', 0, NULL, 'R',
 End of changes. 32 change blocks. 
40 lines changed or deleted 47 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/