00001
00002
00003 #include "system.h"
00004
00005 #include <rpmlib.h>
00006 #include "rpmlead.h"
00007 #include "signature.h"
00008
00009 #include "debug.h"
00010
00011 int main(int argc, char **argv)
00012 {
00013 FD_t fdi, fdo;
00014 char buffer[1024];
00015 struct rpmlead lead;
00016 Header hd;
00017 int ct;
00018
00019 setprogname(argv[0]);
00020 if (argc == 1) {
00021 fdi = Fopen("-", "r.ufdio");
00022 } else {
00023 fdi = Fopen(argv[1], "r.ufdio");
00024 }
00025 if (Ferror(fdi)) {
00026 fprintf(stderr, "%s: %s: %s\n", argv[0],
00027 (argc == 1 ? "<stdin>" : argv[1]), Fstrerror(fdi));
00028 exit(EXIT_FAILURE);
00029 }
00030
00031 readLead(fdi, &lead);
00032 rpmReadSignature(fdi, NULL, lead.signature_type, NULL);
00033 hd = headerRead(fdi, (lead.major >= 3) ?
00034 HEADER_MAGIC_YES : HEADER_MAGIC_NO);
00035
00036 fdo = Fopen("-", "w.ufdio");
00037 while ((ct = Fread(buffer, sizeof(buffer), 1, fdi))) {
00038 Fwrite(buffer, ct, 1, fdo);
00039 }
00040
00041 return 0;
00042 }