RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  ____________________________________________________________________________

  Server: rpm5.org                         Name:   Jeff Johnson
  Root:   /v/rpm/cvs                       Email:  j...@rpm5.org
  Module: rpm                              Date:   20-Jun-2017 09:39:07
  Branch: rpm-5_4                          Handle: 2017062007390601

  Modified files:           (Branch: rpm-5_4)
    rpm                     CHANGES
    rpm/rpmio               argv.c argv.h rpmdate.c rpmnix.c rpmsed.c tgit.c
                            thkp.c tmire.c tmount.c
    rpm/tools               roto.c rpmcmp.c rpmdeps.c

  Log:
    - argv: attempt input trimming in argvFgets (if requested).

  Summary:
    Revision    Changes     Path
    1.3501.2.578+1  -0      rpm/CHANGES
    1.20.4.7    +30 -5      rpm/rpmio/argv.c
    1.17.4.6    +2  -1      rpm/rpmio/argv.h
    1.1.2.7     +1  -1      rpm/rpmio/rpmdate.c
    2.17.2.7    +3  -3      rpm/rpmio/rpmnix.c
    1.1.2.8     +2  -2      rpm/rpmio/rpmsed.c
    1.1.2.54    +3  -3      rpm/rpmio/tgit.c
    2.49.2.3    +1  -1      rpm/rpmio/thkp.c
    1.6.8.2     +2  -2      rpm/rpmio/tmire.c
    1.1.2.4     +1  -1      rpm/rpmio/tmount.c
    1.1.2.12    +1  -1      rpm/tools/roto.c
    2.5.6.1     +1  -1      rpm/tools/rpmcmp.c
    2.21.6.2    +1  -1      rpm/tools/rpmdeps.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.3501.2.577 -r1.3501.2.578 CHANGES
  --- rpm/CHANGES       13 Jun 2017 22:25:22 -0000      1.3501.2.577
  +++ rpm/CHANGES       20 Jun 2017 07:39:06 -0000      1.3501.2.578
  @@ -1,4 +1,5 @@
   5.4.17 -> 5.4.18:
  +    - jbj: argv: attempt input trimming in argvFgets (if requested).
       - jbj: rpmeio: stub in libeio wrapper(s).
       - jbj: rpmev: stub in libev wrapper(s).
       - jbj: rpmio: add rpmioB2N/rpmioN2B to display/set bit soup.
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmio/argv.c
  ============================================================================
  $ cvs diff -u -r1.20.4.6 -r1.20.4.7 argv.c
  --- rpm/rpmio/argv.c  20 May 2017 13:42:47 -0000      1.20.4.6
  +++ rpm/rpmio/argv.c  20 Jun 2017 07:39:07 -0000      1.20.4.7
  @@ -16,16 +16,15 @@
   
   void argvPrint(const char * msg, ARGV_t argv, FILE * fp)
   {
  +    int argc = argvCount(argv);
       ARGV_t av;
   
       if (fp == NULL) fp = stderr;
  -
  -    if (msg)
  -     fprintf(fp, "===================================== %s\n", msg);
  +    if (msg) fprintf(fp, "%25s: [%d]\n", msg, argc);
   
       if (argv)
       for (av = argv; *av; av++)
  -     fprintf(fp, "\t%s\n", *av);
  +     fprintf(fp, "%25s: |%s|\n", "", *av);
   
   }
   
  @@ -291,7 +290,7 @@
       return t;
   }
   
  -int argvFgets(ARGV_t * argvp, void * _fd)
  +int argvFgets(ARGV_t * argvp, void * _fd, int trim)
   {
       FD_t fd = (FD_t) _fd;
       FILE * fp = (fd ? (FILE *) fdGetFILE(fd) : stdin);
  @@ -302,11 +301,37 @@
   
       if (fp == NULL)
        return -2;
  +
       while (!rc && (b = fgets(buf, (int)sizeof(buf), fp)) != NULL) {
        buf[sizeof(buf)-1] = '\0';
  +
        be = b + strlen(buf);
        while (--be >= b && strchr("\r\n", *be) != NULL)
            *be = '\0';
  +
  +     if (trim) {
  +         /* rtrim */
  +         while (--be >= b && strchr(" \t", *be) != NULL)
  +             *be = '\0';
  +         /* ltrim */
  +         while (b < be && strchr(" \t", *b) != NULL)
  +             *b++ = '\0';
  +
  +         /* Skip shell comments */
  +         if (b[0] == '#') continue;
  +         /* Skip single line C comments */
  +         if (b[0] == '/' && b[1] == '/') continue;
  +         if (b[0] == '/' && b[1] == '*') continue;
  +         /* Unquote */
  +         if (b[0] == '"' && be[-1] == '"') {
  +             *b++ = '\0';
  +             *(--be) = '\0';
  +         }
  +     }
  +         
  +     /* Skip empty lines */
  +     if (b >= be) continue;
  +
        rc = argvAdd(&av, b);
       }
   
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmio/argv.h
  ============================================================================
  $ cvs diff -u -r1.17.4.5 -r1.17.4.6 argv.h
  --- rpm/rpmio/argv.h  25 Jun 2016 07:31:07 -0000      1.17.4.5
  +++ rpm/rpmio/argv.h  20 Jun 2017 07:39:07 -0000      1.17.4.6
  @@ -207,9 +207,10 @@
    * Read lines into an argv array.
    * @retval *argvp    argv array
    * @param fd         rpmio FD_t (NULL uses stdin)
  + * @param trim               trim white space, skip shell/C comments?
    * @return           0 on success
    */
  -int argvFgets(ARGV_t * argvp, void * fd);
  +int argvFgets(ARGV_t * argvp, void * fd, int trim);
   
   #ifdef __cplusplus
   }
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmio/rpmdate.c
  ============================================================================
  $ cvs diff -u -r1.1.2.6 -r1.1.2.7 rpmdate.c
  --- rpm/rpmio/rpmdate.c       26 May 2017 20:49:23 -0000      1.1.2.6
  +++ rpm/rpmio/rpmdate.c       20 Jun 2017 07:39:07 -0000      1.1.2.7
  @@ -121,7 +121,7 @@
            rpmlog(RPMLOG_ERR, _("%s: Fopen failed\n"), fn);
            goto exit;
        }
  -     xx = argvFgets(&nav, fd);
  +     xx = argvFgets(&nav, fd, 0);
        xx = Fclose(fd);
        nac = argvCount(nav);
       }
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmio/rpmnix.c
  ============================================================================
  $ cvs diff -u -r2.17.2.6 -r2.17.2.7 rpmnix.c
  --- rpm/rpmio/rpmnix.c        26 May 2017 20:49:23 -0000      2.17.2.6
  +++ rpm/rpmio/rpmnix.c        20 Jun 2017 07:39:07 -0000      2.17.2.7
  @@ -641,7 +641,7 @@
       }
       /* XXX skip comments todo++ */
       nix->channels = argvFree(nix->channels);
  -    xx = argvFgets(&nix->channels, fd);
  +    xx = argvFgets(&nix->channels, fd, 0);
       xx = Fclose(fd);
   }
   
  @@ -1778,7 +1778,7 @@
            fn = _free(fn);
            goto exit;
        }
  -     xx = argvFgets(&expanded, fd);
  +     xx = argvFgets(&expanded, fd, 0);
        xx = Fclose(fd);
   
        fn = _free(fn);
  @@ -2379,7 +2379,7 @@
                if (fd) xx = Fclose(fd);
                exit(1);
            }
  -         xx = argvFgets(&uav, fd);
  +         xx = argvFgets(&uav, fd, 0);
            xx = Fclose(fd);
            url2 = xstrdup(uav[0]);
            uav = argvFree(uav);
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmio/rpmsed.c
  ============================================================================
  $ cvs diff -u -r1.1.2.7 -r1.1.2.8 rpmsed.c
  --- rpm/rpmio/rpmsed.c        26 May 2017 20:49:23 -0000      1.1.2.7
  +++ rpm/rpmio/rpmsed.c        20 Jun 2017 07:39:07 -0000      1.1.2.8
  @@ -123,7 +123,7 @@
       sed->iav = argvFree(sed->iav);
   
       /* Fill per-line input array. */
  -    xx = argvFgets(&sed->iav, ifd);
  +    xx = argvFgets(&sed->iav, ifd, 0);
   
       rc = RPMRC_OK;
   
  @@ -318,7 +318,7 @@
            fprintf(stderr, _("Fopen(%s, \"r.fpio\") failed\n"), fn);
            goto exit;
        }
  -     xx = argvFgets(&sed->subcmds, ifd);
  +     xx = argvFgets(&sed->subcmds, ifd, 0);
        xx = Fclose(ifd);
        ifd = NULL;
       }
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmio/tgit.c
  ============================================================================
  $ cvs diff -u -r1.1.2.53 -r1.1.2.54 tgit.c
  --- rpm/rpmio/tgit.c  20 May 2017 13:42:50 -0000      1.1.2.53
  +++ rpm/rpmio/tgit.c  20 Jun 2017 07:39:06 -0000      1.1.2.54
  @@ -2624,7 +2624,7 @@
       if (HO_ISSET(STDIN_PATHS)) {
        ARGV_t nav = NULL;
        /* XXX white space in paths? */
  -     xx = argvFgets(&nav, NULL);
  +     xx = argvFgets(&nav, NULL, 0);
        xx = argvAppend(&git->av, nav);
        nav = argvFree(nav);
       }
  @@ -2773,7 +2773,7 @@
   
       if (CF_ISSET(BATCH) || CF_ISSET(CHECK)) {
        ARGV_t nav = NULL;
  -     xx = argvFgets(&nav, NULL);
  +     xx = argvFgets(&nav, NULL, 0);
        xx = argvAppend(&git->av, nav);
        nav = argvFree(nav);
        cf_flags |= (_CF_SHA1|_CF_TYPE|_CF_SIZE);
  @@ -3072,7 +3072,7 @@
       if (UI_ISSET(STDIN)) {
        ARGV_t nav = NULL;
        /* XXX white space in paths? */
  -     xx = argvFgets(&nav, NULL);
  +     xx = argvFgets(&nav, NULL, 0);
        xx = argvAppend(&git->av, nav);
        nav = argvFree(nav);
       }
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmio/thkp.c
  ============================================================================
  $ cvs diff -u -r2.49.2.2 -r2.49.2.3 thkp.c
  --- rpm/rpmio/thkp.c  17 May 2017 12:34:41 -0000      2.49.2.2
  +++ rpm/rpmio/thkp.c  20 Jun 2017 07:39:06 -0000      2.49.2.3
  @@ -150,7 +150,7 @@
            if (gotstdin)
                continue;
            gotstdin++;
  -         if (argvFgets(&keyids, NULL))
  +         if (argvFgets(&keyids, NULL, 0))
                goto exit;
        }
       }
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmio/tmire.c
  ============================================================================
  $ cvs diff -u -r1.6.8.1 -r1.6.8.2 tmire.c
  --- rpm/rpmio/tmire.c 20 May 2017 13:42:50 -0000      1.6.8.1
  +++ rpm/rpmio/tmire.c 20 Jun 2017 07:39:06 -0000      1.6.8.2
  @@ -42,7 +42,7 @@
       int i;
   
       if (__debug) {
  -_mire_debug = 1;
  +_rpmmire_debug = 1;
       }
   
       av = poptGetArgs(optCon);
  @@ -55,7 +55,7 @@
       mire->notmatch ^= invert;
   
       av = NULL;
  -    if ((rc = argvFgets(&av, NULL)) != 0)
  +    if ((rc = argvFgets(&av, NULL, 0)) != 0)
        goto exit;
   
       rc = 1;  /* assume nomatch failure. */
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmio/tmount.c
  ============================================================================
  $ cvs diff -u -r1.1.2.3 -r1.1.2.4 tmount.c
  --- rpm/rpmio/tmount.c        12 Jun 2017 06:55:34 -0000      1.1.2.3
  +++ rpm/rpmio/tmount.c        20 Jun 2017 07:39:06 -0000      1.1.2.4
  @@ -93,7 +93,7 @@
        if (fd && !Ferror(fd)) {
            ARGV_t nav = NULL;
            int nac;
  -         xx = argvFgets(&nav, fd);
  +         xx = argvFgets(&nav, fd, 0);
            xx = Fclose(fd);
            nac = argvCount(nav);
            for (int i = 0; i < nac; i++) {
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/tools/roto.c
  ============================================================================
  $ cvs diff -u -r1.1.2.11 -r1.1.2.12 roto.c
  --- rpm/tools/roto.c  9 Jun 2017 04:39:12 -0000       1.1.2.11
  +++ rpm/tools/roto.c  20 Jun 2017 07:39:07 -0000      1.1.2.12
  @@ -1756,7 +1756,7 @@
       FD_t fd = Fopen("/proc/mounts", "r.fpio");
       if (fd) {
        mountpoints = NULL;
  -     xx = argvFgets(&mountpoints, fd);
  +     xx = argvFgets(&mountpoints, fd, 0);
        xx = Fclose(fd);
       }
       nmountpoints = argvCount(mountpoints);
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/tools/rpmcmp.c
  ============================================================================
  $ cvs diff -u -r2.5 -r2.5.6.1 rpmcmp.c
  --- rpm/tools/rpmcmp.c        30 Jul 2008 22:14:37 -0000      2.5
  +++ rpm/tools/rpmcmp.c        20 Jun 2017 07:39:07 -0000      2.5.6.1
  @@ -70,7 +70,7 @@
   
       if (ac == 0 || !strcmp(*av, "-")) {
        av = NULL;
  -     xx = argvFgets(&av, NULL);
  +     xx = argvFgets(&av, NULL, 0);
        ac = argvCount(av);
       }
       
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/tools/rpmdeps.c
  ============================================================================
  $ cvs diff -u -r2.21.6.1 -r2.21.6.2 rpmdeps.c
  --- rpm/tools/rpmdeps.c       16 May 2017 21:22:05 -0000      2.21.6.1
  +++ rpm/tools/rpmdeps.c       20 Jun 2017 07:39:07 -0000      2.21.6.2
  @@ -243,7 +243,7 @@
   
       if (rpmdeps_mode == RPMDEP_RPMFC && ac == 0) {
        av = NULL;
  -     xx = argvFgets(&av, NULL);
  +     xx = argvFgets(&av, NULL, 0);
        ac = argvCount(av);
       }
   
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                rpm-cvs@rpm5.org

Reply via email to