RPM Package Manager, CVS Repository
http://rpm5.org/cvs/
____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson
Root: /v/rpm/cvs Email: [EMAIL PROTECTED]
Module: rpm Date: 02-Mar-2008 03:11:53
Branch: HEAD Handle: 2008030202115300
Modified files:
rpm/rpmio rpmdav.c rpmdav.h
Log:
- jbj: add acContextAdd argv collector.
Summary:
Revision Changes Path
2.66 +32 -21 rpm/rpmio/rpmdav.c
2.27 +7 -0 rpm/rpmio/rpmdav.h
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: rpm/rpmio/rpmdav.c
============================================================================
$ cvs diff -u -r2.65 -r2.66 rpmdav.c
--- rpm/rpmio/rpmdav.c 2 Mar 2008 01:14:27 -0000 2.65
+++ rpm/rpmio/rpmdav.c 2 Mar 2008 02:11:53 -0000 2.66
@@ -122,6 +122,35 @@
return ctx;
}
+int avContextAdd(avContext ctx, const char * path,
+ mode_t mode, size_t size, time_t mtime)
+{
+ int xx;
+
+if (_av_debug < 0)
+fprintf(stderr, "*** avContextAdd(%p,\"%s\", %06o, 0x%x, 0x%x)\n", ctx,
path, mode, (unsigned)size, (unsigned)mtime);
+
+ xx = argvAdd(&ctx->av, path);
+
+ while (ctx->ac >= ctx->nalloced) {
+ if (ctx->nalloced <= 0)
+ ctx->nalloced = 1;
+ ctx->nalloced *= 2;
+ ctx->modes = xrealloc(ctx->modes,
+ (sizeof(*ctx->modes) * ctx->nalloced));
+ ctx->sizes = xrealloc(ctx->sizes,
+ (sizeof(*ctx->sizes) * ctx->nalloced));
+ ctx->mtimes = xrealloc(ctx->mtimes,
+ (sizeof(*ctx->mtimes) * ctx->nalloced));
+ }
+
+ ctx->modes[ctx->ac] = mode;
+ ctx->sizes[ctx->ac] = size;
+ ctx->mtimes[ctx->ac] = mtime;
+ ctx->ac++;
+ return 0;
+}
+
int avClosedir(/[EMAIL PROTECTED]@*/ DIR * dir)
{
AVDIR avdir = (AVDIR)dir;
@@ -967,23 +996,6 @@
val = ne_path_unescape(val);
/[EMAIL PROTECTED]@*/
- xx = argvAdd(&ctx->av, val);
-if (_dav_debug < 0)
-fprintf(stderr, "*** argvAdd(%p,\"%s\")\n", &ctx->av, val);
- ne_free(val);
-
- while (ctx->ac >= ctx->nalloced) {
- if (ctx->nalloced <= 0)
- ctx->nalloced = 1;
- ctx->nalloced *= 2;
- ctx->modes = xrealloc(ctx->modes,
- (sizeof(*ctx->modes) * ctx->nalloced));
- ctx->sizes = xrealloc(ctx->sizes,
- (sizeof(*ctx->sizes) * ctx->nalloced));
- ctx->mtimes = xrealloc(ctx->mtimes,
- (sizeof(*ctx->mtimes) * ctx->nalloced));
- }
-
switch (current->type) {
case resr_normal:
st_mode = S_IFREG;
@@ -997,10 +1009,9 @@
st_mode = 0;
/[EMAIL PROTECTED]@*/ break;
}
- ctx->modes[ctx->ac] = st_mode;
- ctx->sizes[ctx->ac] = current->size;
- ctx->mtimes[ctx->ac] = current->modtime;
- ctx->ac++;
+
+ xx = avContextAdd(ctx, val, st_mode, current->size, current->modtime);
+ ne_free(val);
current = fetch_destroy_item(current);
}
@@ .
patch -p0 <<'@@ .'
Index: rpm/rpmio/rpmdav.h
============================================================================
$ cvs diff -u -r2.26 -r2.27 rpmdav.h
--- rpm/rpmio/rpmdav.h 2 Mar 2008 01:14:27 -0000 2.26
+++ rpm/rpmio/rpmdav.h 2 Mar 2008 02:11:53 -0000 2.27
@@ -92,6 +92,13 @@
/[EMAIL PROTECTED] *st, internalState @*/;
/**
+ */
+int avContextAdd(avContext ctx, const char * path,
+ mode_t mode, size_t size, time_t mtime)
+ /[EMAIL PROTECTED] internalState @*/
+ /[EMAIL PROTECTED] ctx, internalState @*/;
+
+/**
* Close an argv directory.
* @param dir argv DIR
* @return 0 always
@@ .
______________________________________________________________________
RPM Package Manager http://rpm5.org
CVS Sources Repository [email protected]