rpmio/tring.c

Go to the documentation of this file.
00001 #include "system.h"
00002 #include "rpmio_internal.h"
00003 #include "popt.h"
00004 #include "debug.h"
00005 
00006 static int printing = 1;
00007 static int _debug = 0;
00008 
00009 static struct poptOption optionsTable[] = {
00010  { "print", 'p', POPT_ARG_VAL,  &printing, 1,           NULL, NULL },
00011  { "noprint", 'n', POPT_ARG_VAL, &printing, 0,          NULL, NULL },
00012  { "debug", 'd', POPT_ARG_VAL,  &_debug, -1,            NULL, NULL },
00013  { "ftpdebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_ftp_debug, -1,
00014         N_("debug protocol data stream"), NULL},
00015  { "rpmiodebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_rpmio_debug, -1,
00016         N_("debug rpmio I/O"), NULL},
00017  { "urldebug", '\0', POPT_ARG_VAL|POPT_ARGFLAG_DOC_HIDDEN, &_url_debug, -1,
00018         N_("debug URL cache handling"), NULL},
00019  { "verbose", 'v', 0, 0, 'v',                           NULL, NULL },
00020   POPT_AUTOHELP
00021   POPT_TABLEEND
00022 };
00023 
00024 int
00025 main (int argc, const char *argv[])
00026 {
00027     poptContext optCon = poptGetContext(argv[0], argc, argv, optionsTable, 0);
00028     pgpDig dig;
00029     const byte * pkt = NULL;
00030     ssize_t pktlen;
00031     const char ** args;
00032     const char * fn;
00033     int rc, ec = 0;
00034 
00035     while ((rc = poptGetNextOpt(optCon)) > 0)
00036         ;
00037 
00038     if ((args = poptGetArgs(optCon)) != NULL)
00039     while ((fn = *args++) != NULL) {
00040         pgpArmor pa;
00041 
00042         pa = pgpReadPkts(fn, &pkt, &pktlen);
00043         if (pa == PGPARMOR_ERROR
00044          || pa == PGPARMOR_NONE
00045          || pkt == NULL || pktlen <= 0)
00046         {
00047             ec++;
00048             continue;
00049         }
00050 
00051 fprintf(stderr, "===================== %s\n", fn);
00052         dig = xcalloc(1, sizeof(*dig));
00053         (void) pgpPrtPkts(pkt, pktlen, dig, printing);
00054         free((void *)pkt);
00055         pkt = NULL;
00056         free((void *)dig);
00057         dig = NULL;
00058     }
00059 
00060     return ec;
00061 }

Generated on Tue Feb 19 22:26:37 2008 for rpm by  doxygen 1.5.1