Edit

kc3-lang/gnulib/lib/gen-uio

Branch :

  • Show log

    Commit

  • Author : Jim Meyering
    Date : 2001-09-26 08:27:42
    Hash : d94eb3cb
    Message : (USE_UNLOCKED_IO): Define to 1 if not already defined.

  • lib/gen-uio
  • #!/bin/sh
    
    fail=0
    cat <<\EOF || fail=1
    #ifndef UNLOCKED_IO_H
    # define UNLOCKED_IO_H 1
    
    # ifndef USE_UNLOCKED_IO
    #  define USE_UNLOCKED_IO 1
    # endif
    
    # 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 of the applications in this package are single threaded.  */
    
    EOF
    
    for f in $@; do
      u=`echo $f|tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
      cat <<EOF || fail=1
    #  if HAVE_${u}_UNLOCKED
    #   undef $f
    EOF
      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; fail=1;;
      esac
      cat <<EOF || fail=1
    #   define $f($params) ${f}_unlocked ($params)
    #  endif
    EOF
    done
    
    cat <<\EOF || fail=1
    
    # endif /* USE_UNLOCKED_IO */
    #endif /* UNLOCKED_IO_H */
    EOF
    
    (exit $fail); exit