From: Ulrich Drepper Date: Sun, 21 Dec 1997 21:21:02 +0000 (+0000) Subject: Generate file which recognizes __need_FOPEN_MAX. X-Git-Tag: cvs/glibc-2_0_6pre5~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f376f730eb4b800c681a26f5e305c42ef5d751c3;p=thirdparty%2Fglibc.git Generate file which recognizes __need_FOPEN_MAX. --- diff --git a/sysdeps/posix/mk-stdiolim.c b/sysdeps/posix/mk-stdiolim.c index 5df460e89a0..ecc6bb7499f 100644 --- a/sysdeps/posix/mk-stdiolim.c +++ b/sysdeps/posix/mk-stdiolim.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1992, 1993, 1996 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1992, 1993, 1996, 1997 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -23,6 +23,7 @@ main() { /* These values correspond to the code in sysdeps/posix/tempname.c. Change the values here if you change that code. */ + puts ("#ifndef __need_FOPEN_MAX"); printf("#define L_tmpnam %u\n", sizeof("/usr/tmp/") + 9); printf("#define TMP_MAX %u\n", 62 * 62 * 62); @@ -31,11 +32,31 @@ main() printf("#define L_cuserid 9\n"); puts ("#endif"); + printf("#define FILENAME_MAX %u\n", +#ifdef PATH_MAX + PATH_MAX +#else + /* This is supposed to be the size needed to hold the longest file + name string the implementation guarantees can be opened. + PATH_MAX not being defined means the actual limit on the length + of a file name is runtime-variant (or it is unlimited). ANSI + says in such a case FILENAME_MAX should be a good size to + allocate for a file name string. POSIX.1 guarantees that a + file name up to _POSIX_PATH_MAX chars long can be opened, so + this value must be at least that. */ + 1024 /* _POSIX_PATH_MAX is 255. */ +#endif + ); + + puts ("#endif\n"); + /* POSIX does not require that OPEN_MAX and PATH_MAX be defined, so will not define them if they are run-time variant (which is the case in the Hurd). ANSI still requires that FOPEN_MAX and FILENAME_MAX be defined, however. */ + puts ("#if defined __need_FOPEN_MAX && !defined __defined_FOPEN_MAX"); + puts ("# define __defined_FOPEN_MAX"); printf("#define FOPEN_MAX %u\n", #ifdef OPEN_MAX @@ -50,22 +71,8 @@ main() #endif ); + puts ("#endif"); + puts ("#undef __need_FOPEN_MAX"); - printf("#define FILENAME_MAX %u\n", -#ifdef PATH_MAX - PATH_MAX -#else - /* This is supposed to be the size needed to hold the longest file - name string the implementation guarantees can be opened. - PATH_MAX not being defined means the actual limit on the length - of a file name is runtime-variant (or it is unlimited). ANSI - says in such a case FILENAME_MAX should be a good size to - allocate for a file name string. POSIX.1 guarantees that a - file name up to _POSIX_PATH_MAX chars long can be opened, so - this value must be at least that. */ - 1024 /* _POSIX_PATH_MAX is 255. */ -#endif - ); - - exit(0); + exit (0); }