diff -u -r --new-file --exclude=CVS rsync-2.0.9/cvs.log rsync-2.0.10/cvs.log --- rsync-2.0.9/cvs.log Mon May 18 20:31:05 1998 +++ rsync-2.0.10/cvs.log Tue May 19 00:30:31 1998 @@ -4460,3 +4460,58 @@ Log Message: preparing for release of 2.0.9 + +**************************************** +Date: Tuesday May 19, 1998 @ 0:00 +Author: tridge + +Update of /data/cvs/rsync +In directory samba:/tmp/cvs-serv8468 + +Modified Files: + main.c util.c +Log Message: +fixed a bug in the glob expansion code (pointed out by +hazard.bsn@blkseanet.net.eu.org) + + + +**************************************** +Date: Tuesday May 19, 1998 @ 0:11 +Author: tridge + +Update of /data/cvs/rsync +In directory samba:/tmp/cvs-serv20349 + +Modified Files: + flist.c +Log Message: +strip any leading / off absolute paths when using relative path names + + + +**************************************** +Date: Tuesday May 19, 1998 @ 0:30 +Author: rsync-bu + +Update of /data/cvs/rsync +In directory samba:/data/people/rsync-bugs/rsync + +Modified Files: + version.h +Log Message: +preparing for release of 2.0.10 + + +**************************************** +Date: Tuesday May 19, 1998 @ 0:30 +Author: rsync-bu + +Update of /data/cvs/rsync/packaging/redhat/5.0 +In directory samba:/data/people/rsync-bugs/rsync/packaging/redhat/5.0 + +Modified Files: + rsync.spec +Log Message: +preparing for release of 2.0.10 + diff -u -r --new-file --exclude=CVS rsync-2.0.9/flist.c rsync-2.0.10/flist.c --- rsync-2.0.9/flist.c Sat May 16 00:10:47 1998 +++ rsync-2.0.10/flist.c Tue May 19 00:30:20 1998 @@ -262,6 +262,12 @@ clean_fname(thisname); + if (relative_paths && thisname[0] == '/') { + /* strip / off absolute paths in destination */ + memmove(thisname, thisname+1, strlen(thisname)); + if (!thisname[0]) strcpy(thisname,"."); + } + if ((p = strrchr(thisname,'/'))) { static char *lastdir; *p = 0; diff -u -r --new-file --exclude=CVS rsync-2.0.9/main.c rsync-2.0.10/main.c --- rsync-2.0.9/main.c Mon May 18 20:30:43 1998 +++ rsync-2.0.10/main.c Tue May 19 00:30:20 1998 @@ -43,6 +43,8 @@ if (!verbose) return; + if (am_server && !am_sender) return; + if (am_server && am_sender) { write_longint(f,read_total()); write_longint(f,write_total()); @@ -235,7 +237,6 @@ int status=0; int recv_pipe[2]; extern int preserve_hard_links; - extern int am_server; if (preserve_hard_links) init_hard_links(flist); @@ -252,8 +253,7 @@ if (f_in != f_out) close(f_out); recv_files(f_in,flist,local_name,recv_pipe[1]); - if (!am_server) - report(f_in); + report(f_in); if (verbose > 3) rprintf(FINFO,"do_recv waiting on %d\n",pid); diff -u -r --new-file --exclude=CVS rsync-2.0.9/packaging/redhat/5.0/rsync.spec rsync-2.0.10/packaging/redhat/5.0/rsync.spec --- rsync-2.0.9/packaging/redhat/5.0/rsync.spec Mon May 18 20:30:47 1998 +++ rsync-2.0.10/packaging/redhat/5.0/rsync.spec Tue May 19 00:30:22 1998 @@ -1,10 +1,10 @@ Summary: Program for efficient remote updates of files. Name: rsync -Version: 2.0.9 +Version: 2.0.10 Release: 1 Copyright: GPL Group: Applications/Networking -Source: ftp://samba.anu.edu.au/pub/rsync/rsync-2.0.9.tar.gz +Source: ftp://samba.anu.edu.au/pub/rsync/rsync-2.0.10.tar.gz URL: http://samba.anu.edu.au/rsync/ Packager: Andrew Tridgell BuildRoot: /tmp/rsync diff -u -r --new-file --exclude=CVS rsync-2.0.9/util.c rsync-2.0.10/util.c --- rsync-2.0.9/util.c Mon May 18 20:30:44 1998 +++ rsync-2.0.10/util.c Tue May 19 00:30:21 1998 @@ -558,10 +558,11 @@ #endif } -void glob_expand(char *base, char **argv, int *argc, int maxargs) +void glob_expand(char *base1, char **argv, int *argc, int maxargs) { char *s = argv[*argc]; char *p, *q; + char *base = base1; if (!s || !*s) return; @@ -572,21 +573,23 @@ s = strdup(s); if (!s) out_of_memory("glob_expand"); + base = (char *)malloc(strlen(base1)+3); + if (!base) out_of_memory("glob_expand"); + + sprintf(base," %s/", base1); + q = s; while ((p = strstr(q,base)) && ((*argc) < maxargs)) { - if (p != q && *(p-1) == ' ' && p[strlen(base)] == '/') { - /* split it at this point */ - *(p-1) = 0; - glob_expand_one(q, argv, argc, maxargs); - q = p+strlen(base)+1; - } else { - q++; - } + /* split it at this point */ + *p = 0; + glob_expand_one(q, argv, argc, maxargs); + q = p+strlen(base); } if (*q && (*argc < maxargs)) glob_expand_one(q, argv, argc, maxargs); free(s); + free(base); } /******************************************************************* diff -u -r --new-file --exclude=CVS rsync-2.0.9/version.h rsync-2.0.10/version.h --- rsync-2.0.9/version.h Mon May 18 20:30:46 1998 +++ rsync-2.0.10/version.h Tue May 19 00:30:22 1998 @@ -1 +1 @@ -#define VERSION "2.0.9" +#define VERSION "2.0.10"