annotate lib/gen-uio @ 3523:cbdd97be643e

(USE_UNLOCKED_IO): Define to 1 if not already defined.
author Jim Meyering <jim@meyering.net>
date Wed, 26 Sep 2001 08:27:42 +0000
parents 9f9c75a46e41
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3517
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
1 #!/bin/sh
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
2
3519
31b2363641c0 exit from only one place: the end
Jim Meyering <jim@meyering.net>
parents: 3518
diff changeset
3 fail=0
31b2363641c0 exit from only one place: the end
Jim Meyering <jim@meyering.net>
parents: 3518
diff changeset
4 cat <<\EOF || fail=1
3517
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
5 #ifndef UNLOCKED_IO_H
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
6 # define UNLOCKED_IO_H 1
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
7
3523
cbdd97be643e (USE_UNLOCKED_IO): Define to 1 if not already defined.
Jim Meyering <jim@meyering.net>
parents: 3520
diff changeset
8 # ifndef USE_UNLOCKED_IO
cbdd97be643e (USE_UNLOCKED_IO): Define to 1 if not already defined.
Jim Meyering <jim@meyering.net>
parents: 3520
diff changeset
9 # define USE_UNLOCKED_IO 1
cbdd97be643e (USE_UNLOCKED_IO): Define to 1 if not already defined.
Jim Meyering <jim@meyering.net>
parents: 3520
diff changeset
10 # endif
cbdd97be643e (USE_UNLOCKED_IO): Define to 1 if not already defined.
Jim Meyering <jim@meyering.net>
parents: 3520
diff changeset
11
3517
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
12 # if USE_UNLOCKED_IO
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
13
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
14 /* These are wrappers for functions/macros from GNU libc.
3518
4cfc9bb4c2a5 portability tweaks
Jim Meyering <jim@meyering.net>
parents: 3517
diff changeset
15 The standard I/O functions are thread-safe. These *_unlocked ones are
4cfc9bb4c2a5 portability tweaks
Jim Meyering <jim@meyering.net>
parents: 3517
diff changeset
16 more efficient but not thread-safe. That they're not thread-safe is
4cfc9bb4c2a5 portability tweaks
Jim Meyering <jim@meyering.net>
parents: 3517
diff changeset
17 fine since all of the applications in this package are single threaded. */
3517
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
18
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
19 EOF
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
20
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
21 for f in $@; do
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
22 u=`echo $f|tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
3519
31b2363641c0 exit from only one place: the end
Jim Meyering <jim@meyering.net>
parents: 3518
diff changeset
23 cat <<EOF || fail=1
3518
4cfc9bb4c2a5 portability tweaks
Jim Meyering <jim@meyering.net>
parents: 3517
diff changeset
24 # if HAVE_${u}_UNLOCKED
4cfc9bb4c2a5 portability tweaks
Jim Meyering <jim@meyering.net>
parents: 3517
diff changeset
25 # undef $f
4cfc9bb4c2a5 portability tweaks
Jim Meyering <jim@meyering.net>
parents: 3517
diff changeset
26 EOF
3517
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
27 case $f in
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
28 getchar)
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
29 params=;;
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
30 putchar | clearerr | feof | ferror | fflush | getc )
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
31 params=x;;
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
32 putc | fputc | fputs )
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
33 params=x,y;;
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
34 fgets )
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
35 params=x,y,z;;
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
36 fread | fwrite )
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
37 params=w,x,y,z;;
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
38 *)
3519
31b2363641c0 exit from only one place: the end
Jim Meyering <jim@meyering.net>
parents: 3518
diff changeset
39 echo $0: missing case for $f 2>&1; fail=1;;
3517
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
40 esac
3519
31b2363641c0 exit from only one place: the end
Jim Meyering <jim@meyering.net>
parents: 3518
diff changeset
41 cat <<EOF || fail=1
3518
4cfc9bb4c2a5 portability tweaks
Jim Meyering <jim@meyering.net>
parents: 3517
diff changeset
42 # define $f($params) ${f}_unlocked ($params)
4cfc9bb4c2a5 portability tweaks
Jim Meyering <jim@meyering.net>
parents: 3517
diff changeset
43 # endif
4cfc9bb4c2a5 portability tweaks
Jim Meyering <jim@meyering.net>
parents: 3517
diff changeset
44 EOF
3517
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
45 done
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
46
3519
31b2363641c0 exit from only one place: the end
Jim Meyering <jim@meyering.net>
parents: 3518
diff changeset
47 cat <<\EOF || fail=1
3517
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
48
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
49 # endif /* USE_UNLOCKED_IO */
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
50 #endif /* UNLOCKED_IO_H */
fc06aa9f08c8 *** empty log message ***
Jim Meyering <jim@meyering.net>
parents:
diff changeset
51 EOF
3518
4cfc9bb4c2a5 portability tweaks
Jim Meyering <jim@meyering.net>
parents: 3517
diff changeset
52
3519
31b2363641c0 exit from only one place: the end
Jim Meyering <jim@meyering.net>
parents: 3518
diff changeset
53 (exit $fail); exit