Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

rpmsignature.c

Go to the documentation of this file.
00001 /* rpmsignature: spit out the signature portion of a package */
00002 
00003 #include "system.h"
00004 
00005 #include "rpmlead.h"
00006 #include "signature.h"
00007 #include "debug.h"
00008 
00009 int main(int argc, char **argv)
00010 {
00011     FD_t fdi, fdo;
00012     struct rpmlead lead;
00013     Header sig;
00014     
00015     setprogname(argv[0]);       /* Retrofit glibc __progname */
00016     if (argc == 1) {
00017         fdi = Fopen("-", "r.ufdio");
00018     } else {
00019         fdi = Fopen(argv[1], "r.ufdio");
00020     }
00021     if (Ferror(fdi)) {
00022         fprintf(stderr, "%s: %s: %s\n", argv[0],
00023                 (argc == 1 ? "<stdin>" : argv[1]), Fstrerror(fdi));
00024         exit(1);
00025     }
00026 
00027     readLead(fdi, &lead);
00028     rpmReadSignature(fdi, &sig, lead.signature_type);
00029     switch (lead.signature_type) {
00030     case RPMSIGTYPE_NONE:
00031         fprintf(stderr, _("No signature available.\n"));
00032         break;
00033     default:
00034         fdo = Fopen("-", "w.ufdio");
00035         rpmWriteSignature(fdo, sig);
00036         break;
00037     }
00038     
00039     return 0;
00040 }

Generated on Mon Apr 4 20:06:33 2005 for rpm by  doxygen 1.4.1