summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1997-12-21 21:21:02 +0000
committerUlrich Drepper <drepper@redhat.com>1997-12-21 21:21:02 +0000
commitf376f730eb4b800c681a26f5e305c42ef5d751c3 (patch)
tree9934a8ff97de7ec1dc944154eca743be1a10a26c
parent367179a7f968f2153fb576b8a18dab6f8fd39c86 (diff)
Generate file which recognizes __need_FOPEN_MAX.
-rw-r--r--sysdeps/posix/mk-stdiolim.c43
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);
}