|
@@ -1,6 +1,18 @@
|
|
|
|
|
+Index: include/xar.h.in
|
|
|
|
|
+--- include/xar.h.in.orig 2007-12-29 19:49:57 +0100
|
|
|
|
|
++++ include/xar.h.in 2008-01-05 10:12:25 +0100
|
|
|
|
|
+@@ -138,7 +138,7 @@
|
|
|
|
|
+ int32_t xar_prop_create(xar_file_t f, const char *key, const char *value);
|
|
|
|
|
+ int32_t xar_prop_get(xar_file_t f, const char *key, const char **value);
|
|
|
|
|
+
|
|
|
|
|
+-xar_iter_t xar_iter_new();
|
|
|
|
|
++xar_iter_t xar_iter_new(void);
|
|
|
|
|
+ void xar_iter_free(xar_iter_t i);
|
|
|
|
|
+
|
|
|
|
|
+ const char *xar_prop_first(xar_file_t f, xar_iter_t i);
|
|
|
Index: lib/Makefile.inc.in
|
|
Index: lib/Makefile.inc.in
|
|
|
--- lib/Makefile.inc.in.orig 2007-12-29 19:49:57 +0100
|
|
--- lib/Makefile.inc.in.orig 2007-12-29 19:49:57 +0100
|
|
|
-+++ lib/Makefile.inc.in 2007-12-30 12:45:20 +0100
|
|
|
|
|
|
|
++++ lib/Makefile.inc.in 2008-01-05 10:12:25 +0100
|
|
|
@@ -24,32 +24,14 @@
|
|
@@ -24,32 +24,14 @@
|
|
|
# Libraries. librxar is created such that it's possible to run xar without
|
|
# Libraries. librxar is created such that it's possible to run xar without
|
|
|
# first installing libxar.
|
|
# first installing libxar.
|
|
@@ -72,3 +84,36 @@ Index: lib/Makefile.inc.in
|
|
|
ifneq ($(words "" $(LIBXAR_L)), 1)
|
|
ifneq ($(words "" $(LIBXAR_L)), 1)
|
|
|
rm -f $(LIBXAR_L)
|
|
rm -f $(LIBXAR_L)
|
|
|
ln -s $(LIBXAR_SNAME) $(LIBXAR_L)
|
|
ln -s $(LIBXAR_SNAME) $(LIBXAR_L)
|
|
|
|
|
+Index: lib/filetree.c
|
|
|
|
|
+--- lib/filetree.c.orig 2007-12-29 19:49:57 +0100
|
|
|
|
|
++++ lib/filetree.c 2008-01-05 10:12:25 +0100
|
|
|
|
|
+@@ -263,7 +263,7 @@
|
|
|
|
|
+ * Returns a newly allocated iterator for use on files, properties, or
|
|
|
|
|
+ * attributes.
|
|
|
|
|
+ */
|
|
|
|
|
+-xar_iter_t xar_iter_new() {
|
|
|
|
|
++xar_iter_t xar_iter_new(void) {
|
|
|
|
|
+ xar_iter_t ret = malloc(sizeof(struct __xar_iter_t));
|
|
|
|
|
+ if(!ret) return NULL;
|
|
|
|
|
+
|
|
|
|
|
+Index: lib/stat.c
|
|
|
|
|
+--- lib/stat.c.orig 2007-12-29 19:49:57 +0100
|
|
|
|
|
++++ lib/stat.c 2008-01-05 10:12:25 +0100
|
|
|
|
|
+@@ -724,7 +724,7 @@
|
|
|
|
|
+ if( errno == ENOENT ) {
|
|
|
|
|
+ xar_iter_t i;
|
|
|
|
|
+ const char *ptr;
|
|
|
|
|
+- i = xar_iter_new(x);
|
|
|
|
|
++ i = xar_iter_new();
|
|
|
|
|
+ for(ptr = xar_prop_first(tmpf, i); ptr; ptr = xar_prop_next(i)) {
|
|
|
|
|
+ xar_iter_t a;
|
|
|
|
|
+ const char *val = NULL;
|
|
|
|
|
+@@ -736,7 +736,7 @@
|
|
|
|
|
+ continue;
|
|
|
|
|
+
|
|
|
|
|
+ xar_prop_set(f, ptr, val);
|
|
|
|
|
+- a = xar_iter_new(x);
|
|
|
|
|
++ a = xar_iter_new();
|
|
|
|
|
+ for(akey = xar_attr_first(tmpf, ptr, a); akey; akey = xar_attr_next(a)) {
|
|
|
|
|
+ aval = xar_attr_get(tmpf, ptr, akey);
|
|
|
|
|
+ xar_attr_set(f, ptr, akey, aval);
|