RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: [EMAIL PROTECTED] Module: rpm Date: 04-Feb-2008 22:24:23 Branch: HEAD Handle: 2008020421242300 Added files: rpm/rpmio tmire.c Log: - add on HEAd too. Summary: Revision Changes Path 1.2 +79 -0 rpm/rpmio/tmire.c ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/rpmio/tmire.c ============================================================================ $ cvs diff -u -r0 -r1.2 tmire.c --- /dev/null 2008-02-04 22:22:00 +0100 +++ tmire.c 2008-02-04 22:24:23 +0100 @@ -0,0 +1,79 @@ +#include "system.h" + +#define _MIRE_INTERNAL +#include <rpmio.h> +#include <rpmcb.h> +#include <argv.h> +#include <mire.h> +#include <popt.h> + +#include "debug.h" + +static int _debug = 0; + +static struct poptOption optionsTable[] = { + { "debug", 'd', POPT_ARG_VAL, &_debug, -1, NULL, NULL }, + POPT_AUTOHELP + POPT_TABLEEND +}; + +int +main(int argc, char *argv[]) +{ + poptContext optCon = poptGetContext(argv[0], argc, argv, optionsTable, 0); + miRE mire = NULL; + ARGV_t av = NULL; + int ac = 0; + int rc; + int xx; + int i; + + while ((rc = poptGetNextOpt(optCon)) > 0) { + const char * optArg = poptGetOptArg(optCon); + optArg = _free(optArg); + switch (rc) { + case 'v': + rpmIncreaseVerbosity(); + /[EMAIL PROTECTED]@*/ break; + default: + poptPrintUsage(optCon, stderr, 0); + goto exit; + /[EMAIL PROTECTED]@*/ break; + } + } + + if (_debug) { + rpmIncreaseVerbosity(); + rpmIncreaseVerbosity(); +_mire_debug = 1; + } + + av = poptGetArgs(optCon); + ac = argvCount(av); + if (ac != 1) { + poptPrintUsage(optCon, stderr, 0); + goto exit; + } + + mire = mireNew(RPMMIRE_REGEX, 0); + if ((xx = mireRegcomp(mire, argv[1])) != 0) + goto exit; + + xx = argvFgets(&av, NULL); + ac = argvCount(av); + + for (i = 0; i < ac; i++) { + xx = mireRegexec(mire, av[i]); + if (xx == 0) + fprintf(stdout, "%s\n", av[i]); + } + +exit: + mire = mireFree(mire); + + av = argvFree(av); + + optCon = poptFreeContext(optCon); + + return 0; +} @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org