The Samba-Bugzilla – Attachment 979 Details for
Bug 2389
block/character devices on Solaris yield wacky rsync stats
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Proposed syscall.c patch
syscall_patch.txt (text/plain), 1.26 KB, created by
David Wood
on 2005-02-24 16:43:11 UTC
(
hide
)
Description:
Proposed syscall.c patch
Filename:
MIME Type:
Creator:
David Wood
Created:
2005-02-24 16:43:11 UTC
Size:
1.26 KB
patch
obsolete
>--- syscall.c 2005-02-13 19:58:10.000000000 -0500 >+++ newsyscall.c 2005-02-24 18:29:43.981440000 -0500 >@@ -210,23 +210,38 @@ > #endif > } > >+/* Solaris and others return undefined st_size for block/character devices */ >+static void wrap_size(int rc, STRUCT_STAT *st) >+{ >+ if (rc != 0) >+ return; >+ if (S_ISCHR(st->st_mode) || S_ISBLK(st->st_mode)) >+ st->st_size = 0; >+} >+ > int do_stat(const char *fname, STRUCT_STAT *st) > { >+ int rc; > #ifdef USE_STAT64_FUNCS >- return stat64(fname, st); >+ rc = stat64(fname, st); > #else >- return stat(fname, st); >+ rc = stat(fname, st); > #endif >+ wrap_size(rc, st); >+ return rc; > } > > int do_lstat(const char *fname, STRUCT_STAT *st) > { > #ifdef SUPPORT_LINKS >+ int rc; > # ifdef USE_STAT64_FUNCS >- return lstat64(fname, st); >+ rc = lstat64(fname, st); > # else >- return lstat(fname, st); >+ rc = lstat(fname, st); > # endif >+ wrap_size(rc, st); >+ return rc; > #else > return do_stat(fname, st); > #endif >@@ -234,11 +249,14 @@ > > int do_fstat(int fd, STRUCT_STAT *st) > { >+ int rc; > #ifdef USE_STAT64_FUNCS >- return fstat64(fd, st); >+ rc = fstat64(fd, st); > #else >- return fstat(fd, st); >+ rc = fstat(fd, st); > #endif >+ wrap_size(rc, st); >+ return rc; > } > > OFF_T do_lseek(int fd, OFF_T offset, int whence)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 2389
: 979 |
982