Improve tar_getcwd

* src/common.h (tar_getcwd): Return pointer is const.
* src/misc.c (wd) <cwd>: New member.
(chdir_arg): Initialize cwd.
(tar_getcwd): Use cwd member to cache the result.  Take into
account absolute pathnames,
(normalize_filename): Don't free the value
returned from tar_getcwd.
* src/names.c (name_next_elt): Remove leftover call chdir().
* tests/Makefile.am: Add new tests.
* tests/testsuite.at: Likewise.

* tests/incr08.at: New testcase.
* tests/remfiles04.at: New testcase.
* tests/remfiles05.at: New testcase.
* tests/remfiles06.at: New testcase.
* tests/remfiles07.at: New testcase.
This commit is contained in:
Sergey Poznyakoff
2013-09-25 15:58:43 +03:00
parent e3d28d84bd
commit b41b004638
10 changed files with 378 additions and 24 deletions

View File

@@ -297,6 +297,7 @@ m4_include([incr04.at])
m4_include([incr05.at])
m4_include([incr06.at])
m4_include([incr07.at])
m4_include([incr08.at])
AT_BANNER([Files removed while archiving])
m4_include([filerem01.at])
@@ -377,6 +378,10 @@ AT_BANNER([Removing files after archiving])
m4_include([remfiles01.at])
m4_include([remfiles02.at])
m4_include([remfiles03.at])
m4_include([remfiles04.at])
m4_include([remfiles05.at])
m4_include([remfiles06.at])
m4_include([remfiles07.at])
AT_BANNER([Extended attributes])
m4_include([xattr01.at])