X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=daemon%2Freaddir.c;h=876041eb19a596b8f7e9f9cbaa2a9dca44a8e392;hp=45256b2291776bf1706f275518a5865c681737ed;hb=d600342b7d29c0176ff96a7807ebb38303ecb3a6;hpb=6bda071b5cd8393b37653687027c4ae6c6cf3804 diff --git a/daemon/readdir.c b/daemon/readdir.c index 45256b2..876041e 100644 --- a/daemon/readdir.c +++ b/daemon/readdir.c @@ -28,7 +28,7 @@ #include "actions.h" guestfs_int_dirent_list * -do_readdir (char *path) +do_readdir (const char *path) { guestfs_int_dirent_list *ret; guestfs_int_dirent v; @@ -36,9 +36,6 @@ do_readdir (char *path) struct dirent *d; int i; - NEED_ROOT (return NULL); - ABS_PATH (path, return NULL); - ret = malloc (sizeof *ret); if (ret == NULL) { reply_with_perror ("malloc"); @@ -77,6 +74,7 @@ do_readdir (char *path) ret->guestfs_int_dirent_list_val = p; v.ino = d->d_ino; +#ifdef HAVE_STRUCT_DIRENT_D_TYPE switch (d->d_type) { case DT_BLK: v.ftyp = 'b'; break; case DT_CHR: v.ftyp = 'c'; break; @@ -88,6 +86,9 @@ do_readdir (char *path) case DT_UNKNOWN: v.ftyp = 'u'; break; default: v.ftyp = '?'; break; } +#else + v.ftyp = 'u'; +#endif ret->guestfs_int_dirent_list_val[i] = v;