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]