X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fincremen.c;h=4400008a87787eb172c958e35abcb6ecd411d563;hb=5416153391152c1d894fbae391ba1ccd6f9d1e0e;hp=c68a88b48e83389359b57eb3cbbccefb19b0a3a9;hpb=8e3f3adf9888cca4acedfe005d277867c999fcb3;p=chaz%2Ftar diff --git a/src/incremen.c b/src/incremen.c index c68a88b..4400008 100644 --- a/src/incremen.c +++ b/src/incremen.c @@ -1,11 +1,11 @@ /* GNU dump extensions to tar. Copyright (C) 1988, 1992, 1993, 1994, 1996, 1997, 1999, 2000, 2001, - 2003, 2004, 2005, 2006 Free Software Foundation, Inc. + 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 2, or (at your option) any later + Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but @@ -20,7 +20,6 @@ #include #include #include -#include #include #include "common.h" @@ -578,7 +577,7 @@ rename_handler (void *data, void *proc_data) { struct directory *prev, *p; - /* Detect eventual cycles and clear DIRF_RENAMED flag, so this entries + /* Detect eventual cycles and clear DIRF_RENAMED flag, so these entries are ignored when hit by this function next time. If the chain forms a cycle, prev points to the entry DIR is renamed from. In this case it still retains DIRF_RENAMED flag, which will be @@ -1437,6 +1436,7 @@ purge_directory (char const *directory_name) void list_dumpdir (char *buffer, size_t size) { + int state = 0; while (size) { switch (*buffer) @@ -1447,7 +1447,12 @@ list_dumpdir (char *buffer, size_t size) case 'R': case 'T': case 'X': - fprintf (stdlis, "%c ", *buffer); + fprintf (stdlis, "%c", *buffer); + if (state == 0) + { + fprintf (stdlis, " "); + state = 1; + } buffer++; size--; break; @@ -1456,6 +1461,7 @@ list_dumpdir (char *buffer, size_t size) fputc ('\n', stdlis); buffer++; size--; + state = 0; break; default: