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:   23-Feb-2009 20:12:54
  Branch: HEAD                             Handle: 2009022319124700

  Modified files:
    rpm/rpmio               rpmz.c

  Log:
    - jbj: rpmz: attempt to preserve directory stat through recursion.

  Summary:
    Revision    Changes     Path
    1.37        +4  -2      rpm/rpmio/rpmz.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/rpmio/rpmz.c
  ============================================================================
  $ cvs diff -u -r1.36 -r1.37 rpmz.c
  --- rpm/rpmio/rpmz.c  22 Feb 2009 23:55:26 -0000      1.36
  +++ rpm/rpmio/rpmz.c  23 Feb 2009 19:12:47 -0000      1.37
  @@ -797,6 +797,7 @@
   
        /* Recurse into directory */
        if (S_ISDIR(st->st_mode)) {
  +         struct stat sb = *st;       /* structure assignment. */
            struct dirent * dp;
            DIR * dir;
            ARGV_t av = NULL;
  @@ -807,12 +808,12 @@
   
            if (!F_ISSET(z->flags, RECURSE)) {
                fprintf(stderr, "%s: input %s is a directory -- skipping\n",
  -                     __progname, z->ifn);
  +                     __progname, z->_ifn);
                goto exit;
            }
            len = strlen(z->_ifn);
            te = z->_ifn + len;
  -         if ((dir = Opendir(z->ifn)) == NULL)
  +         if ((dir = Opendir(z->_ifn)) == NULL)
                goto exit;
            while ((dp = Readdir(dir)) != NULL) {
                if (dp->d_name[0] == '\0' ||
  @@ -831,6 +832,7 @@
                *te = '\0';
            }
            av = argvFree(av);
  +         *st = sb;                   /* structure assignment. */
            rc = RPMRC_OK;
            goto exit;
        }
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                [email protected]

Reply via email to