update: moved code to make_subdir()

This commit is contained in:
Max Kellermann 2008-10-13 16:46:51 +02:00
parent 3e9ed15e76
commit 270a6ebd69
1 changed files with 13 additions and 4 deletions

View File

@ -235,6 +235,18 @@ inodeFoundInParent(struct directory *parent, ino_t inode, dev_t device)
return 0; return 0;
} }
static struct directory *
make_subdir(struct directory *parent, const char *name)
{
struct directory *directory;
directory = directory_get_child(parent, name);
if (directory == NULL)
directory = directory_new_child(parent, name);
return directory;
}
static bool static bool
updateDirectory(struct directory *directory, const struct stat *st); updateDirectory(struct directory *directory, const struct stat *st);
@ -267,10 +279,7 @@ updateInDirectory(struct directory *directory,
if (inodeFoundInParent(directory, st->st_ino, st->st_dev)) if (inodeFoundInParent(directory, st->st_ino, st->st_dev))
return; return;
subdir = directory_get_child(directory, name); subdir = make_subdir(directory, name);
if (subdir == NULL)
subdir = directory_new_child(directory, name);
assert(directory == subdir->parent); assert(directory == subdir->parent);
ret = updateDirectory(subdir, st); ret = updateDirectory(subdir, st);