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:   02-Mar-2008 01:48:30
  Branch: HEAD                             Handle: 2008030200483000

  Modified files:
    rpm/rpmio               rpmdav.c

  Log:
    - jbj: set all DT_FOO, not just DT_DIR/DT_REG.

  Summary:
    Revision    Changes     Path
    2.64        +17 -5      rpm/rpmio/rpmdav.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/rpmio/rpmdav.c
  ============================================================================
  $ cvs diff -u -r2.63 -r2.64 rpmdav.c
  --- rpm/rpmio/rpmdav.c        2 Mar 2008 00:22:02 -0000       2.63
  +++ rpm/rpmio/rpmdav.c        2 Mar 2008 00:48:30 -0000       2.64
  @@ -244,12 +244,24 @@
       ac = 0;
       if (av != NULL)
       while (av[ac] != NULL) {
  -     nav[nac] = t;
  -     dt[nac] = (unsigned char) (modes && S_ISDIR(modes[ac]) ? DT_DIR : 
DT_REG);
  -     t = stpcpy(t, av[ac]);
  +     if (modes != NULL)
  +         switch (modes[ac] & S_IFMT) {
  +         case S_IFIFO: dt[nac]=(unsigned char)DT_FIFO;/[EMAIL 
PROTECTED]@*/break;
  +         case S_IFCHR: dt[nac]=(unsigned char)DT_CHR; /[EMAIL 
PROTECTED]@*/break;
  +         case S_IFDIR: dt[nac]=(unsigned char)DT_DIR; /[EMAIL 
PROTECTED]@*/break;
  +         case S_IFBLK: dt[nac]=(unsigned char)DT_BLK; /[EMAIL 
PROTECTED]@*/break;
  +         case S_IFREG: dt[nac]=(unsigned char)DT_REG; /[EMAIL 
PROTECTED]@*/break;
  +         case S_IFLNK: dt[nac]=(unsigned char)DT_LNK; /[EMAIL 
PROTECTED]@*/break;
  +/[EMAIL PROTECTED]@*/
  +         case S_IFSOCK:dt[nac]=(unsigned char)DT_SOCK;/[EMAIL 
PROTECTED]@*/break;
  +/[EMAIL PROTECTED]@*/
  +         default:      dt[nac]=(unsigned char)DT_UNKNOWN;/[EMAIL 
PROTECTED]@*/break;
  +         }
  +     else
  +         dt[nac] = (unsigned char)DT_UNKNOWN;
  +     nav[nac++] = t;
  +     t = stpcpy(t, av[ac++]);
        t++;    /* trailing \0 */
  -     ac++;
  -     nac++;
       }
       nav[nac] = NULL;
   
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                [email protected]

Reply via email to