X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=tests%2Flib%2Ftest_ctf_writer.c;h=e0236a380e3aa563762354d144ea20096496e0dc;hp=ce656b318c3320740bebbe0241a73de97750508c;hb=5606034769d535dcc6aed8cfe66f9fdce42fb6dc;hpb=559455a97078bcf4040a95f611a33b7fd569402b diff --git a/tests/lib/test_ctf_writer.c b/tests/lib/test_ctf_writer.c index ce656b31..e0236a38 100644 --- a/tests/lib/test_ctf_writer.c +++ b/tests/lib/test_ctf_writer.c @@ -19,7 +19,6 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#define _GNU_SOURCE #include #include #include @@ -37,8 +36,9 @@ #include #include #include -#include +#include #include "tap/tap.h" +#include #define METADATA_LINE_SIZE 512 #define SEQUENCE_TEST_LENGTH 10 @@ -846,8 +846,20 @@ int main(int argc, char **argv) struct dirent *entry; while ((entry = readdir(trace_dir))) { - if (entry->d_type == DT_REG) { - unlinkat(dirfd(trace_dir), entry->d_name, 0); + 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); } }