From 9940efe053263478c5f29367b11d6f7ed1276aa4 Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Sun, 2 Apr 2023 17:22:24 +0200 Subject: Move fstree CLI code to libcommon Signed-off-by: David Oberhollenzer --- lib/fstree/src/get_by_path.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'lib/fstree/src/get_by_path.c') diff --git a/lib/fstree/src/get_by_path.c b/lib/fstree/src/get_by_path.c index 8742892..f5e7374 100644 --- a/lib/fstree/src/get_by_path.c +++ b/lib/fstree/src/get_by_path.c @@ -56,12 +56,20 @@ tree_node_t *fstree_get_node_by_path(fstree_t *fs, tree_node_t *root, n = child_by_name(root, path, len); if (n == NULL) { + struct stat sb; + if (!create_implicitly) { errno = ENOENT; return NULL; } - n = fstree_mknode(root, path, len, NULL, &fs->defaults); + memset(&sb, 0, sizeof(sb)); + sb.st_mode = S_IFDIR | (fs->defaults.mode & 07777); + sb.st_uid = fs->defaults.uid; + sb.st_gid = fs->defaults.gid; + sb.st_mtime = fs->defaults.mtime; + + n = fstree_mknode(root, path, len, NULL, &sb); if (n == NULL) return NULL; -- cgit v1.2.3