X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=tests%2Flib%2Ftest_ctf_writer.c;h=e0236a380e3aa563762354d144ea20096496e0dc;hp=cef541234a50d0cae03e81eb765ca658d15471d0;hb=5606034769d535dcc6aed8cfe66f9fdce42fb6dc;hpb=684798312e0abbabf445252714adabab179e7584 diff --git a/tests/lib/test_ctf_writer.c b/tests/lib/test_ctf_writer.c index cef54123..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 @@ -28,7 +27,7 @@ #include #include #include -#include +#include #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 @@ -728,7 +728,7 @@ int main(int argc, char **argv) plan_no_plan(); - if (!mkdtemp(trace_path)) { + if (!bt_mkdtemp(trace_path)) { perror("# perror"); } @@ -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); } }