Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Mention a few more things.
[rsync/rsync.git]
/
util.c
diff --git
a/util.c
b/util.c
index
e18f991
..
6887d67
100644
(file)
--- a/
util.c
+++ b/
util.c
@@
-32,7
+32,7
@@
extern int dry_run;
extern int module_id;
extern int modify_window;
extern char *partial_dir;
extern int module_id;
extern int modify_window;
extern char *partial_dir;
-extern struct
exclude_list_struct server_exclude
_list;
+extern struct
filter_list_struct server_filter
_list;
int sanitize_paths = 0;
int sanitize_paths = 0;
@@
-130,22
+130,22
@@
void overflow(char *str)
int set_modtime(char *fname, time_t modtime)
{
int set_modtime(char *fname, time_t modtime)
{
- if (dry_run)
- return 0;
-
if (verbose > 2) {
rprintf(FINFO, "set modtime of %s to (%ld) %s",
fname, (long)modtime,
asctime(localtime(&modtime)));
}
if (verbose > 2) {
rprintf(FINFO, "set modtime of %s to (%ld) %s",
fname, (long)modtime,
asctime(localtime(&modtime)));
}
+ if (dry_run)
+ return 0;
+
{
{
-#if
def
HAVE_UTIMBUF
+#if HAVE_UTIMBUF
struct utimbuf tbuf;
tbuf.actime = time(NULL);
tbuf.modtime = modtime;
return utime(fname,&tbuf);
struct utimbuf tbuf;
tbuf.actime = time(NULL);
tbuf.modtime = modtime;
return utime(fname,&tbuf);
-#elif
defined(HAVE_UTIME)
+#elif
HAVE_UTIME
time_t t[2];
t[0] = time(NULL);
t[1] = modtime;
time_t t[2];
t[0] = time(NULL);
t[1] = modtime;
@@
-197,7
+197,7
@@
int create_directory_path(char *fname, int base_umask)
*
* Derived from GNU C's cccp.c.
*/
*
* Derived from GNU C's cccp.c.
*/
-
static
int full_write(int desc, char *ptr, size_t len)
+int full_write(int desc, char *ptr, size_t len)
{
int total_written;
{
int total_written;
@@
-245,7
+245,7
@@
static int safe_read(int desc, char *ptr, size_t len)
/** Copy a file.
*
/** Copy a file.
*
- * This is used in conjunction with the --temp-dir
option
*/
+ * This is used in conjunction with the --temp-dir
and --backup options
*/
int copy_file(char *source, char *dest, mode_t mode)
{
int ifd;
int copy_file(char *source, char *dest, mode_t mode)
{
int ifd;
@@
-479,14
+479,14
@@
int lock_range(int fd, int offset, int len)
return fcntl(fd,F_SETLK,&lock) == 0;
}
return fcntl(fd,F_SETLK,&lock) == 0;
}
-static int
exclude
_server_path(char *arg)
+static int
filter
_server_path(char *arg)
{
char *s;
{
char *s;
- if (server_
exclude
_list.head) {
+ if (server_
filter
_list.head) {
for (s = arg; (s = strchr(s, '/')) != NULL; ) {
*s = '\0';
for (s = arg; (s = strchr(s, '/')) != NULL; ) {
*s = '\0';
- if (check_
exclude(&server_exclude
_list, arg, 1) < 0) {
+ if (check_
filter(&server_filter
_list, arg, 1) < 0) {
/* We must leave arg truncated! */
return 1;
}
/* We must leave arg truncated! */
return 1;
}
@@
-502,7
+502,7
@@
static void glob_expand_one(char *s, char ***argv_ptr, int *argc_ptr,
char **argv = *argv_ptr;
int argc = *argc_ptr;
int maxargs = *maxargs_ptr;
char **argv = *argv_ptr;
int argc = *argc_ptr;
int maxargs = *maxargs_ptr;
-#if !(
defined(HAVE_GLOB) && defined(HAVE_GLOB_H)
)
+#if !(
HAVE_GLOB && HAVE_GLOB_H
)
if (argc == maxargs) {
maxargs += MAX_ARGS;
if (!(argv = realloc_array(argv, char *, maxargs)))
if (argc == maxargs) {
maxargs += MAX_ARGS;
if (!(argv = realloc_array(argv, char *, maxargs)))
@@
-513,7
+513,7
@@
static void glob_expand_one(char *s, char ***argv_ptr, int *argc_ptr,
if (!*s)
s = ".";
s = argv[argc++] = strdup(s);
if (!*s)
s = ".";
s = argv[argc++] = strdup(s);
-
exclude
_server_path(s);
+
filter
_server_path(s);
#else
glob_t globbuf;
int i;
#else
glob_t globbuf;
int i;
@@
-529,7
+529,7
@@
static void glob_expand_one(char *s, char ***argv_ptr, int *argc_ptr,
s = strdup(s);
memset(&globbuf, 0, sizeof globbuf);
s = strdup(s);
memset(&globbuf, 0, sizeof globbuf);
- if (!
exclude
_server_path(s))
+ if (!
filter
_server_path(s))
glob(s, 0, NULL, &globbuf);
if (MAX((int)globbuf.gl_pathc, 1) > maxargs - argc) {
maxargs += globbuf.gl_pathc + MAX_ARGS;
glob(s, 0, NULL, &globbuf);
if (MAX((int)globbuf.gl_pathc, 1) > maxargs - argc) {
maxargs += globbuf.gl_pathc + MAX_ARGS;
@@
-704,9
+704,7
@@
unsigned int clean_fname(char *name, BOOL collapse_dot_dot)
f += 2;
continue;
}
f += 2;
continue;
}
- *t++ = *f++;
- *t++ = *f++;
- limit = t;
+ limit = t + 2;
}
}
while (*f && (*t++ = *f++) != '/') {}
}
}
while (*f && (*t++ = *f++) != '/') {}
@@
-732,8
+730,8
@@
unsigned int clean_fname(char *name, BOOL collapse_dot_dot)
* The rootdir string contains a value to use in place of a leading slash.
* Specify NULL to get the default of lp_path(module_id).
*
* The rootdir string contains a value to use in place of a leading slash.
* Specify NULL to get the default of lp_path(module_id).
*
- * If depth is > 0, it is a count of how many '..'s to allow at the start
- * of the path.
+ * If depth is >
=
0, it is a count of how many '..'s to allow at the start
+ * of the path.
Use -1 to allow unlimited depth.
*
* We also clean the path in a manner similar to clean_fname() but with a
* few differences:
*
* We also clean the path in a manner similar to clean_fname() but with a
* few differences:
@@
-968,8
+966,8
@@
char *partial_dir_fname(const char *fname)
fn = fname;
if ((int)pathjoin(t, sz, partial_dir, fn) >= sz)
return NULL;
fn = fname;
if ((int)pathjoin(t, sz, partial_dir, fn) >= sz)
return NULL;
- if (server_
exclude
_list.head
- && check_
exclude(&server_exclude
_list, partial_fname, 0) < 0)
+ if (server_
filter
_list.head
+ && check_
filter(&server_filter
_list, partial_fname, 0) < 0)
return NULL;
return partial_fname;
return NULL;
return partial_fname;
@@
-992,11
+990,7
@@
int handle_partial_dir(const char *fname, int create)
dir = partial_fname;
if (create) {
STRUCT_STAT st;
dir = partial_fname;
if (create) {
STRUCT_STAT st;
-#if SUPPORT_LINKS
int statret = do_lstat(dir, &st);
int statret = do_lstat(dir, &st);
-#else
- int statret = do_stat(dir, &st);
-#endif
if (statret == 0 && !S_ISDIR(st.st_mode)) {
if (do_unlink(dir) < 0)
return 0;
if (statret == 0 && !S_ISDIR(st.st_mode)) {
if (do_unlink(dir) < 0)
return 0;
@@
-1100,7
+1094,7
@@
char *timestring(time_t t)
static char TimeBuf[200];
struct tm *tm = localtime(&t);
static char TimeBuf[200];
struct tm *tm = localtime(&t);
-#if
def
HAVE_STRFTIME
+#if HAVE_STRFTIME
strftime(TimeBuf, sizeof TimeBuf - 1, "%Y/%m/%d %H:%M:%S", tm);
#else
strlcpy(TimeBuf, asctime(tm), sizeof TimeBuf);
strftime(TimeBuf, sizeof TimeBuf - 1, "%Y/%m/%d %H:%M:%S", tm);
#else
strlcpy(TimeBuf, asctime(tm), sizeof TimeBuf);