From e068fd1cf68b6ca3239a9930130f856878797f05 Mon Sep 17 00:00:00 2001 From: Vreixo Formoso Date: Sat, 1 Dec 2007 01:45:35 +0100 Subject: [PATCH] Getter for number of children in a dir. --- src/libisofs.h | 10 ++++++++++ src/node.c | 16 ++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/src/libisofs.h b/src/libisofs.h index 5c21556..365fead 100644 --- a/src/libisofs.h +++ b/src/libisofs.h @@ -124,4 +124,14 @@ int iso_dir_add_node(IsoDir *dir, IsoNode *child); */ int iso_dir_get_node(IsoDir *dir, const char *name, IsoNode **node); +/** + * Get the number of children of a directory. + * + * @return + * >= 0 number of items, < 0 error + * Possible errors: + * ISO_NULL_POINTER, if dir is NULL + */ +int iso_dir_get_nchildren(IsoDir *dir); + #endif /*LIBISO_LIBISOFS_H_*/ diff --git a/src/node.c b/src/node.c index 74a53bc..2458dd9 100644 --- a/src/node.c +++ b/src/node.c @@ -198,3 +198,19 @@ int iso_dir_get_node(IsoDir *dir, const char *name, IsoNode **node) *node = pos; return 1; } + +/** + * Get the number of children of a directory. + * + * @return + * >= 0 number of items, < 0 error + * Possible errors: + * ISO_NULL_POINTER, if dir is NULL + */ +int iso_dir_get_nchildren(IsoDir *dir) +{ + if (dir == NULL) { + return ISO_NULL_POINTER; + } + return dir->nchildren; +}