diff options
author | Ulrich Drepper <drepper@redhat.com> | 1997-12-21 21:21:02 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1997-12-21 21:21:02 +0000 |
commit | f376f730eb4b800c681a26f5e305c42ef5d751c3 (patch) | |
tree | 9934a8ff97de7ec1dc944154eca743be1a10a26c | |
parent | 367179a7f968f2153fb576b8a18dab6f8fd39c86 (diff) |
Generate file which recognizes __need_FOPEN_MAX.
-rw-r--r-- | sysdeps/posix/mk-stdiolim.c | 43 |
1 files changed, 25 insertions, 18 deletions
diff --git a/sysdeps/posix/mk-stdiolim.c b/sysdeps/posix/mk-stdiolim.c index 5df460e89a..ecc6bb7499 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 <local_lim.h> 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); } |