diff options
author | Nikias Bassen | 2018-10-30 13:12:34 +0800 |
---|---|---|
committer | Nikias Bassen | 2018-10-30 13:12:34 +0800 |
commit | 92c5462adef87b1e577b8557b6b9c64d5a089544 (patch) | |
tree | d8da666f83c1090fe738c1f5837d727ed9a4e989 /tools | |
parent | d72b747e590044f9970ef26827f3af3ea9c1eb4a (diff) | |
download | libimobiledevice-92c5462adef87b1e577b8557b6b9c64d5a089544.tar.gz libimobiledevice-92c5462adef87b1e577b8557b6b9c64d5a089544.tar.bz2 |
idevicebackup2: Fix scan_directory() for platforms not having d_type in struct dirent
Diffstat (limited to 'tools')
-rw-r--r-- | tools/idevicebackup2.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/tools/idevicebackup2.c b/tools/idevicebackup2.c index 02611a1..f7ea53a 100644 --- a/tools/idevicebackup2.c +++ b/tools/idevicebackup2.c @@ -254,7 +254,13 @@ static void scan_directory(const char *path, struct entry **files, struct entry } char *fpath = string_build_path(path, ep->d_name, NULL); if (fpath) { +#ifdef HAVE_DIRENT_D_TYPE if (ep->d_type & DT_DIR) { +#else + struct stat st; + if (stat(fpath, &st) != 0) return; + if (S_ISDIR(st.st_mode)) { +#endif struct entry *ent = malloc(sizeof(struct entry)); if (!ent) return; ent->name = fpath; |