Mercurial > hg > octave-nkf > gnulib-hg
changeset 12600:742a202062e7
stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Thu, 07 Jan 2010 23:12:26 +0100 |
parents | efa853c0fcc4 |
children | c858b5287964 |
files | ChangeLog doc/posix-headers/stdio.texi lib/stdio.in.h tests/test-stdio.c |
diffstat | 4 files changed, 30 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2010-01-07 Bruno Haible <bruno@clisp.org> + + stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list. + * lib/stdio.in.h: Include <sys/types.h> unconditionally. + * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t, + va_list are defined. + * doc/posix-headers/stdio.texi: Document the bug of missing types. + Reported by Eric Blake. + 2010-01-07 Bruno Haible <bruno@clisp.org> xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
--- a/doc/posix-headers/stdio.texi +++ b/doc/posix-headers/stdio.texi @@ -8,6 +8,15 @@ Portability problems fixed by Gnulib: @itemize @item +The type @code{off_t} is missing on some platforms: +glibc 2.8 and others. +@item +The type @code{ssize_t} is missing on some platforms: +glibc 2.8, MacOS X 10.5, Solaris 10, and others. +@item +The type @code{va_list} is missing on some platforms: +glibc 2.8, OpenBSD 4.0, Solaris 10, and others. +@item Some platforms provide a @code{NULL} macro that cannot be used in arbitrary expressions: NetBSD 5.0
--- a/lib/stdio.in.h +++ b/lib/stdio.in.h @@ -36,14 +36,13 @@ #ifndef _GL_STDIO_H #define _GL_STDIO_H +/* Get va_list. Needed on many systems, including glibc 2.8. */ #include <stdarg.h> + #include <stddef.h> -#if (@GNULIB_FSEEKO@ || @GNULIB_FTELLO@ || @GNULIB_GETDELIM@ \ - || @GNULIB_GETLINE@ || defined GNULIB_POSIXCHECK) -/* Get off_t and ssize_t. */ -# include <sys/types.h> -#endif +/* Get off_t and ssize_t. Needed on many systems, including glibc 2.8. */ +#include <sys/types.h> #ifndef __attribute__ /* This feature is available in gcc versions 2.5 and later. */
--- a/tests/test-stdio.c +++ b/tests/test-stdio.c @@ -1,5 +1,5 @@ /* Test of <stdio.h> substitute. - Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2010 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -29,6 +29,13 @@ per POSIX 2008. */ verify (sizeof NULL == sizeof (void *)); +/* Check that the types are all defined. */ +fpos_t t1; +off_t t2; +size_t t3; +ssize_t t4; +va_list t5; + int main (void) {