Move the add_traces_recursive out of the library
[babeltrace.git] / lib / context.c
index 3cbafa07c5ba6b09e6af94653d480accda2038f2..5408bc81c942c5ceead7a951b164e8b60c4d46f4 100644 (file)
@@ -91,89 +91,6 @@ int bt_context_add_trace(struct bt_context *ctx, const char *path,
        return trace_collection_add(ctx->tc, td);
 }
 
-/*
- * Unable to open toplevel: failure.
- * Unable to open some subdirectory or file: warn and continue;
- */
-int bt_context_add_traces_recursive(struct bt_context *ctx, const char *path,
-               const char *format_str)
-{
-       FTS *tree;
-       FTSENT *node;
-       GArray *trace_ids;
-       char lpath[PATH_MAX];
-       char * const paths[2] = { lpath, NULL };
-       int ret;
-
-       /*
-        * Need to copy path, because fts_open can change it.
-        * It is the pointer array, not the strings, that are constant.
-        */
-       strncpy(lpath, path, PATH_MAX);
-       lpath[PATH_MAX - 1] = '\0';
-
-       tree = fts_open(paths, FTS_NOCHDIR | FTS_LOGICAL, 0);
-       if (tree == NULL) {
-               fprintf(stderr, "[error] [Context] Cannot traverse \"%s\" for reading.\n",
-                               path);
-               return -EINVAL;
-       }
-
-       trace_ids = g_array_new(FALSE, TRUE, sizeof(int));
-
-       while ((node = fts_read(tree))) {
-               int dirfd, metafd;
-
-               if (!(node->fts_info & FTS_D))
-                       continue;
-
-               dirfd = open(node->fts_accpath, 0);
-               if (dirfd < 0) {
-                       fprintf(stderr, "[error] [Context] Unable to open trace "
-                               "directory file descriptor.\n");
-                       ret = dirfd;
-                       goto error;
-               }
-               metafd = openat(dirfd, "metadata", O_RDONLY);
-               if (metafd < 0) {
-                       ret = close(dirfd);
-                       if (ret < 0) {
-                               perror("close");
-                               goto error;
-                       }
-               } else {
-                       int trace_id;
-
-                       ret = close(metafd);
-                       if (ret < 0) {
-                               perror("close");
-                               goto error;
-                       }
-                       ret = close(dirfd);
-                       if (ret < 0) {
-                               perror("close");
-                               goto error;
-                       }
-
-                       trace_id = bt_context_add_trace(ctx,
-                               node->fts_accpath, format_str);
-                       if (trace_id < 0) {
-                               fprintf(stderr, "[error] [Context] opening trace \"%s\" from %s "
-                                       "for reading.\n", node->fts_accpath, path);
-                               ret = trace_id;
-                               goto error;
-                       }
-                       g_array_append_val(trace_ids, trace_id);
-               }
-       }
-
-       g_array_free(trace_ids, TRUE);
-       return 0;
-
-error:
-       return ret;
-}
-
 void bt_context_remove_trace(struct bt_context *ctx, int handle_id)
 {
        struct bt_trace_handle *handle;
This page took 0.023311 seconds and 4 git commands to generate.