From: Julien Desfossez Date: Fri, 27 Apr 2012 20:02:58 +0000 (-0400) Subject: Fix bt_context_add_traces_recursive error code X-Git-Tag: v1.0.0-rc3~5 X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=commitdiff_plain;h=550cb17d6186e3e3ed2daa1616ceab3da2d86b5d;ds=sidebyside Fix bt_context_add_traces_recursive error code When an empty directory readable by the user was passed to this function, the error was not set appropriately, this patch fixes this problem. Signed-off-by: Julien Desfossez Signed-off-by: Mathieu Desnoyers --- diff --git a/converter/babeltrace.c b/converter/babeltrace.c index c377935e..56772674 100644 --- a/converter/babeltrace.c +++ b/converter/babeltrace.c @@ -355,6 +355,7 @@ int bt_context_add_traces_recursive(struct bt_context *ctx, const char *path, while ((node = fts_read(tree))) { int dirfd, metafd; + int closeret; if (!(node->fts_info & FTS_D)) continue; @@ -368,11 +369,13 @@ int bt_context_add_traces_recursive(struct bt_context *ctx, const char *path, } metafd = openat(dirfd, "metadata", O_RDONLY); if (metafd < 0) { - ret = close(dirfd); - if (ret < 0) { + closeret = close(dirfd); + if (closeret < 0) { perror("close"); goto error; } + ret = -1; + continue; } else { int trace_id;