diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2005-05-16 18:57:56 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:16:47 -0500 |
commit | d29f44c594f4857593e361e9e31eef3cec1a912c (patch) | |
tree | a8bc8e756556a54471688e3067add9f2f697557f /source4 | |
parent | e29cb65a909d9a6fbf1574e23f2e37b62084f6e9 (diff) | |
download | samba-d29f44c594f4857593e361e9e31eef3cec1a912c.tar.gz samba-d29f44c594f4857593e361e9e31eef3cec1a912c.tar.bz2 samba-d29f44c594f4857593e361e9e31eef3cec1a912c.zip |
r6825: Fall back to chsize if ftruncate is not available
patch from Steven Edwards
(This used to be commit 82be4978116b73cd6d964da4fad59b5c5b11217e)
Diffstat (limited to 'source4')
-rw-r--r-- | source4/build/m4/rewrite.m4 | 2 | ||||
-rw-r--r-- | source4/lib/replace.c | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/source4/build/m4/rewrite.m4 b/source4/build/m4/rewrite.m4 index 0da7316f5a..6917138ba2 100644 --- a/source4/build/m4/rewrite.m4 +++ b/source4/build/m4/rewrite.m4 @@ -192,7 +192,7 @@ AC_CHECK_FUNCS(fstat strchr utime utimes getrlimit fsync bzero memset strlcpy st AC_CHECK_FUNCS(memmove vsnprintf snprintf asprintf vasprintf setsid glob strpbrk pipe crypt16 getauthuid) AC_CHECK_FUNCS(strftime sigprocmask sigblock sigaction sigset innetgr setnetgrent getnetgrent endnetgrent) AC_CHECK_FUNCS(initgroups select rdchk getgrnam getgrent pathconf realpath) -AC_CHECK_FUNCS(setpriv setgidx setuidx setgroups sysconf mktime rename ftruncate) +AC_CHECK_FUNCS(setpriv setgidx setuidx setgroups sysconf mktime rename ftruncate chsize) AC_CHECK_FUNCS(setluid getpwanam setlinebuf) AC_CHECK_FUNCS(srandom random srand rand setenv usleep strcasecmp fcvt fcvtl symlink readlink) AC_CHECK_FUNCS(syslog vsyslog getgrouplist timegm backtrace) diff --git a/source4/lib/replace.c b/source4/lib/replace.c index ca367da9b5..89612912b7 100644 --- a/source4/lib/replace.c +++ b/source4/lib/replace.c @@ -32,6 +32,9 @@ ftruncate for operating systems that don't have it ********************************************************************/ int ftruncate(int f,off_t l) { +#ifdef HAVE_CHSIZE + return chsize(f,l); +#else struct flock fl; fl.l_whence = 0; @@ -39,6 +42,7 @@ ftruncate for operating systems that don't have it fl.l_start = l; fl.l_type = F_WRLCK; return fcntl(f, F_FREESP, &fl); +#endif } #endif /* HAVE_FTRUNCATE */ |