From d29f44c594f4857593e361e9e31eef3cec1a912c Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 16 May 2005 18:57:56 +0000 Subject: r6825: Fall back to chsize if ftruncate is not available patch from Steven Edwards (This used to be commit 82be4978116b73cd6d964da4fad59b5c5b11217e) --- source4/build/m4/rewrite.m4 | 2 +- source4/lib/replace.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'source4') 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 */ -- cgit