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:   04-Jul-2017 05:14:56
  Branch: rpm-5_4                          Handle: 2017070403145600

  Modified files:           (Branch: rpm-5_4)
    rpm/rpmio               rpmzstd.h zstdio.c

  Log:
    - zstd: permit building --without-zstd.

  Summary:
    Revision    Changes     Path
    1.1.2.3     +2  -2      rpm/rpmio/rpmzstd.h
    1.1.2.5     +31 -3      rpm/rpmio/zstdio.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/rpmio/rpmzstd.h
  ============================================================================
  $ cvs diff -u -r1.1.2.2 -r1.1.2.3 rpmzstd.h
  --- rpm/rpmio/rpmzstd.h       3 Jun 2017 09:02:27 -0000       1.1.2.2
  +++ rpm/rpmio/rpmzstd.h       4 Jul 2017 03:14:56 -0000       1.1.2.3
  @@ -48,9 +48,9 @@
       void * b;
   
       size_t nib;
  -    ZSTD_inBuffer zib;
  +    void * zib;              /*!< ZSTD_inBuffer */
       size_t nob;
  -    ZSTD_outBuffer zob;
  +    void * zob;              /*!< ZSTD_outBuffer */
   };
   
   #ifdef       NOTYET
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmio/zstdio.c
  ============================================================================
  $ cvs diff -u -r1.1.2.4 -r1.1.2.5 zstdio.c
  --- rpm/rpmio/zstdio.c        3 Jun 2017 09:02:27 -0000       1.1.2.4
  +++ rpm/rpmio/zstdio.c        4 Jul 2017 03:14:56 -0000       1.1.2.5
  @@ -44,12 +44,14 @@
   /* =============================================================== */
   int rpmzstdDump(const char * msg, void * _zstd, FILE *fp)
   {
  -    rpmzstd zstd = (rpmzstd) _zstd;
       int rc = 0;
   
       if (fp == NULL)  fp = stderr;
       if (msg) fprintf(fp, "========================== %s\n", msg);
  +#if defined(WITH_ZSTD)
  +    rpmzstd zstd = (rpmzstd) _zstd;
       if (zstd) {
  +
   #define PRINT(_fmt, _foo) \
       {   fprintf(fp, "%25s: %"#_fmt"\n", #_foo, zstd->_foo); }
        PRINT(s,  path);
  @@ -83,6 +85,7 @@
   #undef       PRINT
   
       }
  +#endif       /* WITH_ZSTD */
       return rc;
   }
   
  @@ -90,7 +93,11 @@
   static
   const char * rpmzstdError(rpmzstd zstd, ssize_t rc)
   {
  +#if defined(WITH_ZSTD)
       return ZSTD_getErrorName(rc);
  +#else
  +    return "ZSTD not configured.";
  +#endif       /* WITH_ZSTD */
   }
   
   #define ANSI_BRIGHT_BLUE     "\x1b[34;1m"
  @@ -102,9 +109,11 @@
   
   static ssize_t rpmzstdCheck(rpmzstd zstd, const char * msg, ssize_t rc)
   {
  +#if defined(WITH_ZSTD)
   SPEW("<--\t    %s: rc %6zd\t%s%s%s\n", msg, rc, ANSI_INVERSE_BOLD, 
ZSTD_getErrorName(rc), ANSI_RESET);
       if (ZSTD_isError(rc))
        fprintf(stderr, "%s error: %s\n", msg, rpmzstdError(zstd, rc));
  +#endif       /* WITH_ZSTD */
       return rc;
   }
   
  @@ -122,6 +131,8 @@
        if (colorize) be = stpcpy(be, ANSI_BRIGHT_BLUE);
        be += sprintf(be, "========================== zstd(%p) use %ld\n",
                zstd, use);
  +
  +#if defined(WITH_ZSTD)
   #define PRINT(_fmt, _foo) \
       {        be += sprintf(be, "%25s: %"#_fmt"\n", #_foo, zstd->_foo); }
        PRINT(s,  path);
  @@ -155,6 +166,8 @@
        }
   
   #undef       PRINT
  +#endif       /* WITH_ZSTD */
  +
        be--;
        if (colorize) be = stpcpy(be, ANSI_RESET);
        *be = '\0';
  @@ -171,6 +184,7 @@
   {
       rpmzstd zstd = (rpmzstd) _zstd;
       if (zstd) {
  +#if defined(WITH_ZSTD)
        size_t rc;
        if (zstd->_stream) {
            if (ZSTDF_ISSET(DECOMPRESS))
  @@ -210,6 +224,7 @@
        zstd->zob.dst = NULL;
        zstd->zob.pos = 0;
        zstd->zob.size = 0;
  +#endif       /* WITH_ZSTD */
       }
   }
   
  @@ -228,7 +243,6 @@
       char *t = stdio;
       char *te = t + sizeof(stdio) - 2;
       int c;
  -    ssize_t rc;
   
   SPEW("--> %s(%s,%s,%d,0x%x)\n", __FUNCTION__, path, fmode, fdno, flags);
       switch ((c = *s++)) {
  @@ -328,6 +342,8 @@
   
       zstd->level = level;
   
  +#if defined(WITH_ZSTD)
  +    ssize_t rc;
       if (ZSTDF_ISSET(DECOMPRESS)) {   /* decompress */
        zstd->_stream = (void *) ZSTD_createDStream();
   assert(zstd->_stream);
  @@ -359,15 +375,18 @@
        zstd->nb = zstd->nob;
        zstd->b = xmalloc(zstd->nb);
       }
  +#endif       /* WITH_ZSTD */
   
       return rpmzstdLink(zstd);
   }
   
   int rpmzstdFlush(void * _zstd)
   {
  -    rpmzstd zstd = (rpmzstd) _zstd;
       int rc = -2;
   
  +#if defined(WITH_ZSTD)
  +    rpmzstd zstd = (rpmzstd) _zstd;
  +
   assert(zstd->_stream);
       if (ZSTDF_ISSET(DECOMPRESS)) {   /* decompress */
       } else {                         /* compress */
  @@ -390,6 +409,8 @@
       }
   
   SPEW("<--\t%s(%p) rc %d\n", __FUNCTION__, zstd, rc);
  +#endif       /* WITH_ZSTD */
  +
       return rc;
   }
   
  @@ -397,6 +418,7 @@
   {
       int rc = -2;
   
  +#if defined(WITH_ZSTD)
   SPEW("-->\t%s(%p)\n", __FUNCTION__, zstd);
   assert(zstd->_stream);
       if (ZSTDF_ISSET(DECOMPRESS)) {   /* decompress */
  @@ -424,12 +446,14 @@
       }
   
   SPEW("<--\t%s(%p) rc %d\n", __FUNCTION__, zstd, rc);
  +#endif       /* WITH_ZSTD */
       return rc;
   }
   
   ssize_t rpmzstdRead(rpmzstd zstd, void *b, size_t nb)
   {
       ssize_t rc = -2;
  +#if defined(WITH_ZSTD)
       ssize_t nr = 0;
       size_t ipos = 0;
   
  @@ -474,12 +498,14 @@
    
   exit:
   SPEW("<--\t%s(%p,%p[%zd]) rc %ld\n", __FUNCTION__, zstd, b, nb, rc);
  +#endif       /* WITH_ZSTD */
       return rc;
   }
   
   ssize_t rpmzstdWrite(rpmzstd zstd, const void *b, size_t nb)
   {
       ssize_t rc = -2;
  +#if defined(WITH_ZSTD)
       ssize_t nw = 0;
       size_t opos = 0;
   
  @@ -524,6 +550,8 @@
   
   exit:
   SPEW("<--\t%s(%p,%p[%zd]) rc %ld\n", __FUNCTION__, zstd, b, nb, rc);
  +#endif       /* WITH_ZSTD */
  +
       return rc;
   }
   
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                rpm-cvs@rpm5.org

Reply via email to