From: Michael Jeanson Date: Fri, 9 Oct 2015 20:19:40 +0000 (-0400) Subject: Port: Replace dirent->d_type by stat S_ISREG X-Git-Tag: v1.3.0~13 X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=commitdiff_plain;h=5606034769d535dcc6aed8cfe66f9fdce42fb6dc Port: Replace dirent->d_type by stat S_ISREG dirent->d_type is Linux specific while 'stat' is part of POSIX Signed-off-by: Michael Jeanson Signed-off-by: Jérémie Galarneau --- diff --git a/tests/lib/test_ctf_writer.c b/tests/lib/test_ctf_writer.c index 4ea02bcc..e0236a38 100644 --- a/tests/lib/test_ctf_writer.c +++ b/tests/lib/test_ctf_writer.c @@ -38,6 +38,7 @@ #include #include #include "tap/tap.h" +#include #define METADATA_LINE_SIZE 512 #define SEQUENCE_TEST_LENGTH 10 @@ -845,7 +846,19 @@ int main(int argc, char **argv) struct dirent *entry; while ((entry = readdir(trace_dir))) { - if (entry->d_type == DT_REG) { + struct stat st; + char filename[PATH_MAX]; + + if (snprintf(filename, sizeof(filename), "%s/%s", + trace_path, entry->d_name) <= 0) { + continue; + } + + if (stat(entry->d_name, &st)) { + continue; + } + + if (S_ISREG(st.st_mode)) { unlinkat(bt_dirfd(trace_dir), entry->d_name, 0); } }