On Mon, Mar 03, 2003 at 04:24:10PM +0100, Andrzej Pruszynski wrote: > Hi, > > Here is the problem (syscall.c, function do_open) on NT, Win2K, WinXP, > with stripped "/" for UNC path convention, detected in release 2.5.5, > 2.5.6: > > int do_open(char *pathname, int flags, mode_t mode) > { > if (flags != O_RDONLY) { > if (dry_run) return -1; > CHECK_RO > } > #ifdef O_BINARY > /* for Windows */ > flags |= O_BINARY; > #endif > > /* some systems can't handle a double / */ > if (pathname[0] == '/' && pathname[1] == '/') pathname++; > > return open(pathname, flags, mode); > } > > I suggest the following fix, allowing files to be open even on WinNTs, > if UNC path is provided: > > int do_open(char *pathname, int flags, mode_t mode) > { > if (flags != O_RDONLY) { > if (dry_run) return -1; > CHECK_RO > } > #ifdef O_BINARY > /* for Windows */ > flags |= O_BINARY; > #else > /* some systems can't handle a double / */ > if (pathname[0] == '/' && pathname[1] == '/') pathname++; > #endif > > return open(pathname, flags, mode); > }
I think this belongs in sanitize_path(), not here. I know it shouldn't be dependent of O_BINARY. It should probably be done only for those few systems that have a problem with double leading // -- ________________________________________________________________ J.W. Schultz Pegasystems Technologies email address: [EMAIL PROTECTED] Remember Cernan and Schmitt -- To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.tuxedo.org/~esr/faqs/smart-questions.html