mirror of
https://github.com/coreutils/coreutils.git
synced 2025-01-26 01:53:36 +08:00
*** empty log message ***
This commit is contained in:
parent
ddbaad372e
commit
de7d4fdb5f
46
lib/gen-uio
Executable file
46
lib/gen-uio
Executable file
@ -0,0 +1,46 @@
|
||||
#!/bin/sh
|
||||
|
||||
tmp=gen-uio.$$
|
||||
trap 'status=$?; rm -f $tmp && exit $status' 0
|
||||
trap 'exit $?' 1 2 13 15
|
||||
|
||||
cat <<\EOF
|
||||
#ifndef UNLOCKED_IO_H
|
||||
# define UNLOCKED_IO_H 1
|
||||
|
||||
# if USE_UNLOCKED_IO
|
||||
|
||||
/* These are wrappers for functions/macros from GNU libc.
|
||||
The standard I/O functions are thread-safe. These *_unlocked ones
|
||||
are more efficient but not thread-safe. That they're not thread-safe
|
||||
is fine since all these applications are single threaded. */
|
||||
|
||||
EOF
|
||||
|
||||
for f in $@; do
|
||||
u=`echo $f|tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
|
||||
echo "# if HAVE_${u}_UNLOCKED"
|
||||
echo "# undef $f"
|
||||
case $f in
|
||||
getchar)
|
||||
params=;;
|
||||
putchar | clearerr | feof | ferror | fflush | getc )
|
||||
params=x;;
|
||||
putc | fputc | fputs )
|
||||
params=x,y;;
|
||||
fgets )
|
||||
params=x,y,z;;
|
||||
fread | fwrite )
|
||||
params=w,x,y,z;;
|
||||
*)
|
||||
echo $0: missing case for $f 2>&1; exit 1;;
|
||||
esac
|
||||
echo "# define $f($params) ${f}_unlocked ($params)"
|
||||
echo '# endif'
|
||||
done
|
||||
|
||||
cat <<\EOF
|
||||
|
||||
# endif /* USE_UNLOCKED_IO */
|
||||
#endif /* UNLOCKED_IO_H */
|
||||
EOF
|
Loading…
Reference in New Issue
Block a user