]> Dogcows Code - chaz/tar/commit
Rewrite update algorithm.
authorSergey Poznyakoff <gray@gnu.org.ua>
Wed, 14 Oct 2009 20:26:52 +0000 (23:26 +0300)
committerSergey Poznyakoff <gray@gnu.org.ua>
Wed, 14 Oct 2009 20:26:52 +0000 (23:26 +0300)
commitcac45fffc58cc10056c528582ee4b78b8ee175e0
treeba333658b611bb94febf4e1348ca0bf4529bbba9
parent0c6c288b5360fcdb7f9b5826d05c01ade33253f0
Rewrite update algorithm.

* src/common.h (namebuf_t): New typedef.
(namebuf_create, namebuf_free)
(namebuf_name): New prototypes.
(remname): New prototype.
* src/misc.c (struct namebuf): New structure.
(namebuf_create, namebuf_free)
(namebuf_name): New functions.
* src/create.c (dup_dir0): Remove is_avoided_name
checks. This is taken care of in update_archive.
* src/incremen.c (scan_directory): Use namebuf
to produce full file names.
* src/names.c (nametail): Remove extra level of
indirection. All uses updated.
(avoided_name_table, add_avoided_name)
(is_avoided_name): Remove.
* src/update.c (update_archive): Change algorithm.
Instead of adding unmodified files to the avoided_name
table, create namelist so that it contains only
modified files.

* tests/Makefile.am: Add update01.at, update02.at
* tests/testsuite.at: Likewise.
* tests/update.at (AT_KEYWORDS): Add update00.
src/common.h
src/create.c
src/incremen.c
src/misc.c
src/names.c
src/update.c
tests/Makefile.am
tests/testsuite.at
tests/update.at
tests/update01.at [new file with mode: 0644]
tests/update02.at [new file with mode: 0644]
This page took 0.023786 seconds and 4 git commands to generate.