Browse Source

[PATCH] compat: missing dirent.d_type field

Not everybody has "d_type".
maint
Edgar Toernig 20 years ago committed by Linus Torvalds
parent
commit
b682969367
  1. 9
      cache.h
  2. 2
      show-files.c

9
cache.h

@ -21,6 +21,15 @@ @@ -21,6 +21,15 @@
#define deflateBound(c,s) ((s) + (((s) + 7) >> 3) + (((s) + 63) >> 6) + 11)
#endif

#ifdef DT_UNKNOWN
#define DTYPE(de) ((de)->d_type)
#else
#define DT_UNKNOWN 0
#define DT_DIR 1
#define DT_REG 2
#define DTYPE(de) DT_UNKNOWN
#endif

/*
* Basic data structures for the directory cache
*

2
show-files.c

@ -129,7 +129,7 @@ static void read_directory(const char *path, const char *base, int baselen) @@ -129,7 +129,7 @@ static void read_directory(const char *path, const char *base, int baselen)
len = strlen(de->d_name);
memcpy(fullname + baselen, de->d_name, len+1);

switch (de->d_type) {
switch (DTYPE(de)) {
struct stat st;
default:
continue;

Loading…
Cancel
Save