rpm2cpio.c | rpm2cpio.c | |||
---|---|---|---|---|
skipping to change at line 17 | skipping to change at line 17 | |||
#include <rpmiotypes.h> /* XXX fnpyKey */ | #include <rpmiotypes.h> /* XXX fnpyKey */ | |||
#include <rpmurl.h> | #include <rpmurl.h> | |||
#include <rpmtypes.h> | #include <rpmtypes.h> | |||
#include <rpmtag.h> | #include <rpmtag.h> | |||
#include <pkgio.h> | #include <pkgio.h> | |||
#include <rpmts.h> | #include <rpmts.h> | |||
#include "debug.h" | #include "debug.h" | |||
#ifdef __cplusplus | ||||
#define QVA_ISSET(_qvaflags, _FLAG) ((_qvaflags) & (VERIFY_##_FLAG)) | ||||
#define VSF_ISSET(_vsflags, _FLAG) ((_vsflags) & (RPMVSF_##_FLAG)) | ||||
#define VSF_SET(_vsflags, _FLAG) \ | ||||
(*((unsigned *)&(_vsflags)) |= (RPMVSF_##_FLAG)) | ||||
#define VSF_CLR(_vsflags, _FLAG) \ | ||||
(*((unsigned *)&(_vsflags)) &= ~(RPMVSF_##_FLAG)) | ||||
#else /* __cplusplus */ | ||||
#define QVA_ISSET(_qvaflags, _FLAG) ((_qvaflags) & (VERIFY_##_FLAG)) | ||||
#define VSF_ISSET(_vsflags, _FLAG) ((_vsflags) & (RPMVSF_##_FLAG)) | ||||
#define VSF_SET(_vsflags, _FLAG) (_vsflags) |= (RPMVSF_##_FLAG) | ||||
#define VSF_CLR(_vsflags, _FLAG) (_vsflags) &= ~(RPMVSF_##_FLAG) | ||||
#endif /* __cplusplus */ | ||||
int main(int argc, char **argv) | int main(int argc, char **argv) | |||
{ | { | |||
FD_t fdi, fdo; | FD_t fdi, fdo; | |||
Header h; | Header h; | |||
char * rpmio_flags; | char * rpmio_flags; | |||
rpmRC rc; | rpmRC rc; | |||
FD_t gzdi; | FD_t gzdi; | |||
setprogname(argv[0]); /* Retrofit glibc __progname */ | setprogname(argv[0]); /* Retrofit glibc __progname */ | |||
if (argc == 1 || (argc == 2 && !strcmp(argv[1], "-"))) | if (argc == 1 || (argc == 2 && !strcmp(argv[1], "-"))) | |||
skipping to change at line 46 | skipping to change at line 66 | |||
} | } | |||
if (Ferror(fdi)) { | if (Ferror(fdi)) { | |||
fprintf(stderr, "%s: %s: %s\n", argv[0], | fprintf(stderr, "%s: %s: %s\n", argv[0], | |||
(argc == 1 ? "<stdin>" : argv[1]), Fstrerror(fdi)); | (argc == 1 ? "<stdin>" : argv[1]), Fstrerror(fdi)); | |||
exit(EXIT_FAILURE); | exit(EXIT_FAILURE); | |||
} | } | |||
fdo = fdDup(STDOUT_FILENO); | fdo = fdDup(STDOUT_FILENO); | |||
{ rpmts ts = rpmtsCreate(); | { rpmts ts = rpmtsCreate(); | |||
rpmVSFlags vsflags = 0; | rpmVSFlags vsflags; | |||
/* XXX retain the ageless behavior of rpm2cpio */ | /* XXX retain the ageless behavior of rpm2cpio */ | |||
vsflags |= _RPMVSF_NODIGESTS; | vsflags = (rpmVSFlags) 0; /* XXX FIXME: ignore default disablers. */ | |||
vsflags |= _RPMVSF_NOSIGNATURES; | #if defined(SUPPORT_NOSIGNATURES) | |||
vsflags |= RPMVSF_NOHDRCHK; | /* --nodigests */ | |||
VSF_SET(vsflags, NOSHA1HEADER); | ||||
VSF_SET(vsflags, NOMD5HEADER); | ||||
VSF_SET(vsflags, NOSHA1); | ||||
VSF_SET(vsflags, NOMD5); | ||||
/* --nosignature */ | ||||
VSF_SET(vsflags, NODSAHEADER); | ||||
VSF_SET(vsflags, NORSAHEADER); | ||||
VSF_SET(vsflags, NODSA); | ||||
VSF_SET(vsflags, NORSA); | ||||
/* --nohdrchk */ | ||||
VSF_SET(vsflags, NOHDRCHK); | ||||
VSF_CLR(vsflags, NEEDPAYLOAD); /* XXX needed? */ | ||||
#endif | ||||
(void) rpmtsSetVSFlags(ts, vsflags); | (void) rpmtsSetVSFlags(ts, vsflags); | |||
/*@-mustmod@*/ /* LCL: segfault */ | /*@-mustmod@*/ /* LCL: segfault */ | |||
rc = rpmReadPackageFile(ts, fdi, "rpm2cpio", &h); | rc = rpmReadPackageFile(ts, fdi, "rpm2cpio", &h); | |||
/*@=mustmod@*/ | /*@=mustmod@*/ | |||
(void)rpmtsFree(ts); | (void)rpmtsFree(ts); | |||
ts = NULL; | ts = NULL; | |||
} | } | |||
End of changes. 3 change blocks. | ||||
4 lines changed or deleted | 40 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/ |