diff options
Diffstat (limited to 'lib/fstree/node_stat.c')
-rw-r--r-- | lib/fstree/node_stat.c | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/lib/fstree/node_stat.c b/lib/fstree/node_stat.c deleted file mode 100644 index d17d244..0000000 --- a/lib/fstree/node_stat.c +++ /dev/null @@ -1,49 +0,0 @@ -/* SPDX-License-Identifier: GPL-3.0-or-later */ -/* - * node_stat.c - * - * Copyright (C) 2019 David Oberhollenzer <goliath@infraroot.at> - */ -#include "config.h" - -#include "fstree.h" - -#include <string.h> - -void fstree_node_stat(fstree_t *fs, tree_node_t *node, struct stat *sb) -{ - tree_node_t *n; - - *sb = fs->defaults; - sb->st_ino = node->inode_num; - sb->st_mode = node->mode; - sb->st_nlink = 1; - sb->st_uid = node->uid; - sb->st_gid = node->gid; - sb->st_mtime = node->mod_time; - sb->st_atime = node->mod_time; - sb->st_ctime = node->mod_time; - - switch (node->mode & S_IFMT) { - case S_IFDIR: - sb->st_nlink = 2; - - for (n = node->data.dir->children; n != NULL; n = n->next) - sb->st_nlink += 1; - - sb->st_size = node->data.dir->size; - break; - case S_IFREG: - sb->st_size = node->data.file->size; - break; - case S_IFLNK: - sb->st_size = strlen(node->data.slink_target); - break; - case S_IFBLK: - case S_IFCHR: - sb->st_rdev = node->data.devno; - break; - } - - sb->st_blocks = sb->st_size / fs->block_size; -} |