summaryrefslogtreecommitdiff
path: root/lib/unistd.in.h
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2017-05-14 01:29:05 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2017-05-14 01:29:29 -0700
commit4132bd74e9816ca913f862835cc062e092ab8b79 (patch)
tree7861e23ef6007320ca0417a147656cf9774473b7 /lib/unistd.in.h
parent9a5e864de731e113badbe300b1e4174f103547fa (diff)
downloademacs-4132bd74e9816ca913f862835cc062e092ab8b79.tar.gz
emacs-4132bd74e9816ca913f862835cc062e092ab8b79.tar.bz2
emacs-4132bd74e9816ca913f862835cc062e092ab8b79.zip
Merge from gnulib
This incorporates: 2017-05-13 largefile: Simplify 2017-05-13 largefile: Improve and document 2017-05-13 truncate: New module 2017-05-13 windows-stat-timespec: New module 2017-05-13 windows-stat-override: New module 2017-05-11 getopt-posix: port to mingw 2017-05-11 gettimeofday: Increase precision on mingw 2017-05-10 time: Fix missing initialization of HAVE_TIMEZONE_T 2017-05-10 Implement a way to opt out from MSVC support 2017-05-09 tzset: Expand comment about TZ problem on native Windows * build-aux/config.guess, lib/dup2.c, lib/fcntl.c, lib/fsync.c: * lib/getdtablesize.c, lib/getopt.c, lib/gettimeofday.c: * lib/mktime.c, lib/stat-time.h, lib/sys_stat.in.h, lib/unistd.in.h: * lib/utimens.c, m4/gettimeofday.m4, m4/largefile.m4: * m4/sys_stat_h.m4, m4/sys_time_h.m4, m4/time_h.m4, m4/time_rz.m4: * m4/unistd_h.m4: Copy from gnulib. * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
Diffstat (limited to 'lib/unistd.in.h')
-rw-r--r--lib/unistd.in.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/unistd.in.h b/lib/unistd.in.h
index cb9321e502d..f366caffa55 100644
--- a/lib/unistd.in.h
+++ b/lib/unistd.in.h
@@ -1457,6 +1457,36 @@ _GL_WARN_ON_USE (symlinkat, "symlinkat is not portable - "
#endif
+#if @GNULIB_TRUNCATE@
+/* Change the size of the file designated by FILENAME to become equal to LENGTH.
+ Return 0 if successful, otherwise -1 and errno set.
+ See the POSIX:2008 specification
+ <http://pubs.opengroup.org/onlinepubs/9699919799/functions/truncate.html>. */
+# if @REPLACE_TRUNCATE@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef truncate
+# define truncate rpl_truncate
+# endif
+_GL_FUNCDECL_RPL (truncate, int, (const char *filename, off_t length)
+ _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (truncate, int, (const char *filename, off_t length));
+# else
+# if !@HAVE_TRUNCATE@
+_GL_FUNCDECL_SYS (truncate, int, (const char *filename, off_t length)
+ _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (truncate, int, (const char *filename, off_t length));
+# endif
+_GL_CXXALIASWARN (truncate);
+#elif defined GNULIB_POSIXCHECK
+# undef truncate
+# if HAVE_RAW_DECL_TRUNCATE
+_GL_WARN_ON_USE (truncate, "truncate is unportable - "
+ "use gnulib module truncate for portability");
+# endif
+#endif
+
+
#if @GNULIB_TTYNAME_R@
/* Store at most BUFLEN characters of the pathname of the terminal FD is
open on in BUF. Return 0 on success, otherwise an error number. */