diff options
author | David Härdeman <david@hardeman.nu> | 2008-03-20 14:25:47 +0100 |
---|---|---|
committer | David Härdeman <david@hardeman.nu> | 2008-03-20 14:25:47 +0100 |
commit | 2d6671c648942d46522fc53c5cff2142d4572eeb (patch) | |
tree | b329bb025ab3501a83bc8ff3030fcf07e5ab2a05 /metaentry.c | |
parent | 84e8f95743199deec9db0a87da517252af3cd6d8 (diff) |
First stab at supporting the option of automatically creating empty
directories which are missing.
This should help with Debian BR #460998
Diffstat (limited to 'metaentry.c')
-rw-r--r-- | metaentry.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/metaentry.c b/metaentry.c index efd8d3a..c06fd3d 100644 --- a/metaentry.c +++ b/metaentry.c @@ -175,7 +175,7 @@ mentries_print(const struct metahash *mhash) #endif /* Creates a metaentry for the file/dir/etc at path */ -static struct metaentry * +struct metaentry * mentry_create(const char *path) { ssize_t lsize, vsize; @@ -208,6 +208,7 @@ mentry_create(const char *path) mentry = mentry_alloc(); mentry->path = xstrdup(path); + mentry->pathlen = strlen(mentry->path); mentry->owner = xstrdup(pbuf->pw_name); mentry->group = xstrdup(gbuf->gr_name); mentry->mode = sbuf.st_mode & 0177777; @@ -473,6 +474,7 @@ mentries_fromfile(struct metahash **mhash, const char *path) mentry = mentry_alloc(); mentry->path = read_string(&ptr, max); + mentry->pathlen = strlen(mentry->path); mentry->owner = read_string(&ptr, max); mentry->group = read_string(&ptr, max); mentry->mtime = (time_t)read_int(&ptr, 8, max); @@ -549,8 +551,8 @@ mentry_compare_xattr(struct metaentry *left, struct metaentry *right) } /* Compares two metaentries and returns an int with a bitmask of differences */ -static int -mentry_compare(struct metaentry *left, struct metaentry *right, int do_mtime) +int +mentry_compare(struct metaentry *left, struct metaentry *right, bool do_mtime) { int retval = DIFF_NONE; @@ -592,8 +594,8 @@ void mentries_compare(struct metahash *mhashreal, struct metahash *mhashstored, void (*pfunc) - (struct metaentry *real, struct metaentry *stored, int do_mtime), - int do_mtime) + (struct metaentry *real, struct metaentry *stored, int cmp), + bool do_mtime) { struct metaentry *real, *stored; int key; |