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
Don't set last_io_out in check_timeout.
[rsync/rsync.git]
/
token.c
diff --git
a/token.c
b/token.c
index
181e734
..
be882e9
100644
(file)
--- a/
token.c
+++ b/
token.c
@@
-3,7
+3,7
@@
*
* Copyright (C) 1996 Andrew Tridgell
* Copyright (C) 1996 Paul Mackerras
*
* Copyright (C) 1996 Andrew Tridgell
* Copyright (C) 1996 Paul Mackerras
- * Copyright (C) 2003-200
7
Wayne Davison
+ * Copyright (C) 2003-200
9
Wayne Davison
*
* 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
*
* 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
@@
-20,6
+20,7
@@
*/
#include "rsync.h"
*/
#include "rsync.h"
+#include "itypes.h"
#include "zlib/zlib.h"
extern int do_compression;
#include "zlib/zlib.h"
extern int do_compression;
@@
-44,12
+45,12
@@
static void add_suffix(struct suffix_tree **prior, char ltr, const char *str)
if (ltr == '[') {
const char *after = strchr(str, ']');
if (ltr == '[') {
const char *after = strchr(str, ']');
- /* Just skip bogus character classes. */
- if (!after++)
+ /* Treat "[foo" and "[]" as having a literal '['. */
+ if (after && after++ != str+1) {
+ while ((ltr = *str++) != ']')
+ add_suffix(prior, ltr, after);
return;
return;
- while ((ltr = *str++) != ']')
- add_suffix(prior, ltr, after);
- return;
+ }
}
for (node = *prior; node; prior = &node->sibling, node = node->sibling) {
}
for (node = *prior; node; prior = &node->sibling, node = node->sibling) {
@@
-99,7
+100,6
@@
static void add_nocompress_suffixes(const char *str)
} while (*++f != '/' && *f);
*t++ = '\0';
} while (*++f != '/' && *f);
*t++ = '\0';
- fprintf(stderr, "adding `%s'\n", buf);
add_suffix(&suftree, *buf, buf+1);
}
add_suffix(&suftree, *buf, buf+1);
}
@@
-306,7
+306,7
@@
send_deflated_token(int f, int32 token, struct map_struct *buf, OFF_T offset,
Z_DEFLATED, -15, 8,
Z_DEFAULT_STRATEGY) != Z_OK) {
rprintf(FERROR, "compression init failed\n");
Z_DEFLATED, -15, 8,
Z_DEFAULT_STRATEGY) != Z_OK) {
rprintf(FERROR, "compression init failed\n");
- exit_cleanup(RERR_
STREAMIO
);
+ exit_cleanup(RERR_
PROTOCOL
);
}
if ((obuf = new_array(char, OBUF_SIZE)) == NULL)
out_of_memory("send_deflated_token");
}
if ((obuf = new_array(char, OBUF_SIZE)) == NULL)
out_of_memory("send_deflated_token");
@@
-450,7
+450,7
@@
static int32 recv_deflated_token(int f, char **data)
rx_strm.zfree = NULL;
if (inflateInit2(&rx_strm, -15) != Z_OK) {
rprintf(FERROR, "inflate init failed\n");
rx_strm.zfree = NULL;
if (inflateInit2(&rx_strm, -15) != Z_OK) {
rprintf(FERROR, "inflate init failed\n");
- exit_cleanup(RERR_
STREAMIO
);
+ exit_cleanup(RERR_
PROTOCOL
);
}
if (!(cbuf = new_array(char, MAX_DATA_COUNT))
|| !(dbuf = new_array(char, AVAIL_OUT_SIZE(CHUNK_SIZE))))
}
if (!(cbuf = new_array(char, MAX_DATA_COUNT))
|| !(dbuf = new_array(char, AVAIL_OUT_SIZE(CHUNK_SIZE))))