Index: configure
===================================================================
RCS file: e:/reposit/gnu/cvs/configure,v
retrieving revision 1.1.1.2
retrieving revision 1.1.3.1.4.2
diff -c -r1.1.1.2 -r1.1.3.1.4.2
*** configure	2000/12/19 16:57:11	1.1.1.2
--- configure	2001/01/01 15:50:50	1.1.3.1.4.2
***************
*** 1,28 ****
  #! /bin/sh
  
  # Guess values for system-dependent variables and create Makefiles.
! # Generated automatically using autoconf version 2.13 
  # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
  #
  # This configure script is free software; the Free Software Foundation
  # gives unlimited permission to copy, distribute and modify it.
  
  # Defaults:
  ac_help=
  ac_default_prefix=/usr/local
  # Any additions from configure.in:
- ac_help="$ac_help
-   --with-krb4=value       set default \$(KRB4) from value"
- ac_help="$ac_help
-   --with-gssapi=value     GSSAPI directory"
- ac_help="$ac_help
-   --enable-encryption     enable encryption support"
- ac_help="$ac_help
-   --enable-client         include code for running as a remote client (default)
-   --disable-client        don't include remote client code"
- ac_help="$ac_help
-   --enable-server         include code for running as a server (default)
-   --disable-server        don't include server code"
  
  # Initialize some variables set by options.
  # The variables have the same names as the options, with
--- 1,20 ----
  #! /bin/sh
  
  # Guess values for system-dependent variables and create Makefiles.
! # Generated automatically using autoconf version 2.12.971230.pl1 
  # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
  #
  # This configure script is free software; the Free Software Foundation
  # gives unlimited permission to copy, distribute and modify it.
+ #
+ # This line gets removed when running autoconf with --debug option
+ # set -x
  
  # Defaults:
  ac_help=
  ac_default_prefix=/usr/local
+ 
  # Any additions from configure.in:
  
  # Initialize some variables set by options.
  # The variables have the same names as the options, with
***************
*** 61,67 ****
  # Initialize some other variables.
  subdirs=
  MFLAGS= MAKEFLAGS=
- SHELL=${CONFIG_SHELL-/bin/sh}
  # Maximum number of lines to put in a shell here document.
  ac_max_here_lines=12
  
--- 53,58 ----
***************
*** 193,201 ****
    --x-includes=DIR        X include files are in DIR
    --x-libraries=DIR       X library files are in DIR
  EOF
!     if test -n "$ac_help"; then
!       echo "--enable and --with options recognized:$ac_help"
!     fi
      exit 0 ;;
  
    -host | --host | --hos | --ho)
--- 184,199 ----
    --x-includes=DIR        X include files are in DIR
    --x-libraries=DIR       X library files are in DIR
  EOF
! cat <<EOF
! --enable and --with options recognized:
!   --with-krb4=value       set default \$(KRB4) from value
!   --with-gssapi=value     GSSAPI directory
!   --enable-encryption     enable encryption support
!   --enable-client         include code for running as a remote client (default)
!   --disable-client        don't include remote client code
!   --enable-server         include code for running as a server (default)
!   --disable-server        don't include server code
! EOF
      exit 0 ;;
  
    -host | --host | --hos | --ho)
***************
*** 345,351 ****
      verbose=yes ;;
  
    -version | --version | --versio | --versi | --vers)
!     echo "configure generated by autoconf version 2.13"
      exit 0 ;;
  
    -with-* | --with-*)
--- 343,349 ----
      verbose=yes ;;
  
    -version | --version | --versio | --versi | --vers)
!     echo "configure generated by autoconf version 2.12.971230.pl1"
      exit 0 ;;
  
    -with-* | --with-*)
***************
*** 515,525 ****
  # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
  ac_cpp='$CPP $CPPFLAGS'
  ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
! ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
  cross_compiling=$ac_cv_prog_cc_cross
  
! ac_exeext=
! ac_objext=o
  if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
    # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
    if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
--- 513,547 ----
  # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
  ac_cpp='$CPP $CPPFLAGS'
  ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
! ac_link='${CC-cc} -o conftest${EXE_EXT} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
  cross_compiling=$ac_cv_prog_cc_cross
  
! # Filter path to get backslahes into forwardslashes
! FPATH="$PATH"
! FPATH=`echo -E "$FPATH" | sed 's+\\\\+/+g'`
! case `uname -s` in
! OS/2)	EXE_EXT=.exe SCR_EXT=.cmd LIB_EXT=.a LIB_PRE= OBJ_EXT=.o
! 	PATH_IFS=';'
! 	# Defaults for EMX. They can be overriden by setting environment
! 	# variables with these names.
! 	: ${CC=gcc}
! 	: ${MAKE=make.exe}
! 	: ${CXX=gcc}
! 	: ${CPP="gcc.exe -E"}
! 	: ${CFLAGS="-O2 -Zmt"}
! 	: ${CXXFLAGS="-O2 -Zmt"}
! 	: ${LDFLAGS="-Zcrtdll -Zsysv-signals -Zbin-files"}
! 	: ${LIBS="-lsocket -lbsd"}
! 	: ${CONFIG_SHELL=sh}
! 	;;
! *)	EXE_EXT= SCR_EXT= LIB_EXT=.a LIB_PRE=lib OBJ_EXT=.o
! 	PATH_IFS=':'
! 	;;
! esac
! 
! 
! 
! 
  if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
    # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
    if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
***************
*** 539,564 ****
  # Extract the first word of "cvs", so it can be a program name with args.
  set dummy cvs; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:543: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_path_CVS'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    case "$CVS" in
!   /*)
    ac_cv_path_CVS="$CVS" # Let the user override the test with a path.
    ;;
-   ?:/*)			 
-   ac_cv_path_CVS="$CVS" # Let the user override the test with a dos path.
-   ;;
    *)
!   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
!   ac_dummy="$PATH"
!   for ac_dir in $ac_dummy; do 
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
        ac_cv_path_CVS="$ac_dir/$ac_word"
        break
      fi
    done
    IFS="$ac_save_ifs"
    ;;
--- 561,592 ----
  # Extract the first word of "cvs", so it can be a program name with args.
  set dummy cvs; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:565: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_path_CVS'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    case "$CVS" in
!   /*|[a-zA-Z]:*)
    ac_cv_path_CVS="$CVS" # Let the user override the test with a path.
    ;;
    *)
!   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}$PATH_IFS"
!   for ac_dir in $FPATH; do
! 
      test -z "$ac_dir" && ac_dir=.
+     if test -f $ac_dir/$ac_word${EXE_EXT}; then
+       ac_cv_path_CVS="$ac_dir/$ac_word${EXE_EXT}"
+       break
+     fi
+     if test -f $ac_dir/$ac_word${SCR_EXT}; then
+       ac_cv_path_CVS="$ac_dir/$ac_word${SCR_EXT}"
+       break
+     fi
      if test -f $ac_dir/$ac_word; then
        ac_cv_path_CVS="$ac_dir/$ac_word"
        break
      fi
+ 
    done
    IFS="$ac_save_ifs"
    ;;
***************
*** 583,603 ****
  # Extract the first word of "$ac_prog", so it can be a program name with args.
  set dummy $ac_prog; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:587: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    if test -n "$AWK"; then
    ac_cv_prog_AWK="$AWK" # Let the user override the test.
  else
!   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
!   ac_dummy="$PATH"
!   for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
!     if test -f $ac_dir/$ac_word; then
        ac_cv_prog_AWK="$ac_prog"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
--- 611,634 ----
  # Extract the first word of "$ac_prog", so it can be a program name with args.
  set dummy $ac_prog; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:615: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    if test -n "$AWK"; then
    ac_cv_prog_AWK="$AWK" # Let the user override the test.
  else
!   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}$PATH_IFS"
!   for ac_dir in $FPATH; do
! 
      test -z "$ac_dir" && ac_dir=.
!     if test -f $ac_dir/$ac_word${EXE_EXT} -o \
! 	-f $ac_dir/$ac_word${SCR_EXT} -o \
! 	-f $ac_dir/$ac_word; then
        ac_cv_prog_AWK="$ac_prog"
        break
      fi
+ 
    done
    IFS="$ac_save_ifs"
  fi
***************
*** 615,635 ****
  # Extract the first word of "gcc", so it can be a program name with args.
  set dummy gcc; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:619: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    if test -n "$CC"; then
    ac_cv_prog_CC="$CC" # Let the user override the test.
  else
!   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
!   ac_dummy="$PATH"
!   for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
!     if test -f $ac_dir/$ac_word; then
        ac_cv_prog_CC="gcc"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
--- 646,669 ----
  # Extract the first word of "gcc", so it can be a program name with args.
  set dummy gcc; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:650: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    if test -n "$CC"; then
    ac_cv_prog_CC="$CC" # Let the user override the test.
  else
!   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}$PATH_IFS"
!   for ac_dir in $FPATH; do
! 
      test -z "$ac_dir" && ac_dir=.
!     if test -f $ac_dir/$ac_word${EXE_EXT} -o \
! 	-f $ac_dir/$ac_word${SCR_EXT} -o \
! 	-f $ac_dir/$ac_word; then
        ac_cv_prog_CC="gcc"
        break
      fi
+ 
    done
    IFS="$ac_save_ifs"
  fi
***************
*** 645,663 ****
    # Extract the first word of "cc", so it can be a program name with args.
  set dummy cc; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:649: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    if test -n "$CC"; then
    ac_cv_prog_CC="$CC" # Let the user override the test.
  else
-   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_prog_rejected=no
!   ac_dummy="$PATH"
!   for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
!     if test -f $ac_dir/$ac_word; then
        if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
          ac_prog_rejected=yes
  	continue
--- 679,699 ----
    # Extract the first word of "cc", so it can be a program name with args.
  set dummy cc; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:683: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    if test -n "$CC"; then
    ac_cv_prog_CC="$CC" # Let the user override the test.
  else
    ac_prog_rejected=no
!   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}$PATH_IFS"
!   for ac_dir in $FPATH; do
! 
      test -z "$ac_dir" && ac_dir=.
!     if test -f $ac_dir/$ac_word${EXE_EXT} -o \
! 	-f $ac_dir/$ac_word${SCR_EXT} -o \
! 	-f $ac_dir/$ac_word; then
        if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
          ac_prog_rejected=yes
  	continue
***************
*** 665,670 ****
--- 701,707 ----
        ac_cv_prog_CC="cc"
        break
      fi
+ 
    done
    IFS="$ac_save_ifs"
  if test $ac_prog_rejected = yes; then
***************
*** 690,753 ****
    echo "$ac_t""no" 1>&6
  fi
  
!   if test -z "$CC"; then
!     case "`uname -s`" in
!     *win32* | *WIN32*)
!       # Extract the first word of "cl", so it can be a program name with args.
! set dummy cl; ac_word=$2
! echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:700: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
!   echo $ac_n "(cached) $ac_c" 1>&6
! else
!   if test -n "$CC"; then
!   ac_cv_prog_CC="$CC" # Let the user override the test.
! else
!   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
!   ac_dummy="$PATH"
!   for ac_dir in $ac_dummy; do
!     test -z "$ac_dir" && ac_dir=.
!     if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_CC="cl"
!       break
!     fi
!   done
!   IFS="$ac_save_ifs"
  fi
- fi
- CC="$ac_cv_prog_CC"
- if test -n "$CC"; then
-   echo "$ac_t""$CC" 1>&6
- else
-   echo "$ac_t""no" 1>&6
- fi
-  ;;
-     esac
-   fi
-   test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
- fi
  
  echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
! echo "configure:732: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
  
  ac_ext=c
  # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
  ac_cpp='$CPP $CPPFLAGS'
  ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
! ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
  cross_compiling=$ac_cv_prog_cc_cross
  
! cat > conftest.$ac_ext << EOF
! 
! #line 743 "configure"
  #include "confdefs.h"
- 
  main(){return(0);}
  EOF
! if { (eval echo configure:748: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    ac_cv_prog_cc_works=yes
    # If we can't run a trivial program, we are probably using a cross compiler.
!   if (./conftest; exit) 2>/dev/null; then
      ac_cv_prog_cc_cross=no
    else
      ac_cv_prog_cc_cross=yes
--- 727,754 ----
    echo "$ac_t""no" 1>&6
  fi
  
!   test -z "$CC" && { echo "configure: error: no acceptable cc found in \$FPATH" 1>&2; exit 1; }
  fi
  
  echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
! echo "configure:735: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
  
  ac_ext=c
  # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
  ac_cpp='$CPP $CPPFLAGS'
  ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
! ac_link='${CC-cc} -o conftest${EXE_EXT} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
  cross_compiling=$ac_cv_prog_cc_cross
  
! cat > conftest.$ac_ext <<EOF
! #line 745 "configure"
  #include "confdefs.h"
  main(){return(0);}
  EOF
! if { (eval echo configure:749: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    ac_cv_prog_cc_works=yes
    # If we can't run a trivial program, we are probably using a cross compiler.
!   if (./conftest${EXE_EXT}; exit) 2>/dev/null; then
      ac_cv_prog_cc_cross=no
    else
      ac_cv_prog_cc_cross=yes
***************
*** 758,781 ****
    ac_cv_prog_cc_works=no
  fi
  rm -fr conftest*
- ac_ext=c
- # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
- ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
- cross_compiling=$ac_cv_prog_cc_cross
  
  echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
  if test $ac_cv_prog_cc_works = no; then
    { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
  fi
  echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
! echo "configure:774: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
  echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
  cross_compiling=$ac_cv_prog_cc_cross
  
  echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
! echo "configure:779: checking whether we are using GNU C" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 759,776 ----
    ac_cv_prog_cc_works=no
  fi
  rm -fr conftest*
  
  echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
  if test $ac_cv_prog_cc_works = no; then
    { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
  fi
  echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
! echo "configure:769: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
  echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
  cross_compiling=$ac_cv_prog_cc_cross
  
  echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
! echo "configure:774: checking whether we are using GNU C" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
***************
*** 784,790 ****
    yes;
  #endif
  EOF
! if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:788: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
    ac_cv_prog_gcc=yes
  else
    ac_cv_prog_gcc=no
--- 779,785 ----
    yes;
  #endif
  EOF
! if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:783: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
    ac_cv_prog_gcc=yes
  else
    ac_cv_prog_gcc=no
***************
*** 795,809 ****
  
  if test $ac_cv_prog_gcc = yes; then
    GCC=yes
! else
!   GCC=
! fi
! 
! ac_test_CFLAGS="${CFLAGS+set}"
! ac_save_CFLAGS="$CFLAGS"
! CFLAGS=
! echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
! echo "configure:807: checking whether ${CC-cc} accepts -g" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 790,800 ----
  
  if test $ac_cv_prog_gcc = yes; then
    GCC=yes
!   ac_test_CFLAGS="${CFLAGS+set}"
!   ac_save_CFLAGS="$CFLAGS"
!   CFLAGS=
!   echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
! echo "configure:798: checking whether ${CC-cc} accepts -g" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
***************
*** 818,837 ****
  fi
  
  echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
! if test "$ac_test_CFLAGS" = set; then
!   CFLAGS="$ac_save_CFLAGS"
! elif test $ac_cv_prog_cc_g = yes; then
!   if test "$GCC" = yes; then
      CFLAGS="-g -O2"
    else
-     CFLAGS="-g"
-   fi
- else
-   if test "$GCC" = yes; then
      CFLAGS="-O2"
-   else
-     CFLAGS=
    fi
  fi
  
  ac_aux_dir=
--- 809,824 ----
  fi
  
  echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
!   if test "$ac_test_CFLAGS" = set; then
!     CFLAGS="$ac_save_CFLAGS"
!   elif test $ac_cv_prog_cc_g = yes; then
      CFLAGS="-g -O2"
    else
      CFLAGS="-O2"
    fi
+ else
+   GCC=
+   test "${CFLAGS+set}" = set || CFLAGS="-g"
  fi
  
  ac_aux_dir=
***************
*** 860,901 ****
  # SunOS /usr/etc/install
  # IRIX /sbin/install
  # AIX /bin/install
- # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
  # AFS /usr/afsws/bin/install, which mishandles nonexistent args
  # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
  # ./install, which can be erroneously created by make from ./install.sh.
  echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
! echo "configure:869: checking for a BSD compatible install" >&5
  if test -z "$INSTALL"; then
  if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!     IFS="${IFS= 	}"; ac_save_IFS="$IFS"; IFS=":"
!   for ac_dir in $PATH; do
      # Account for people who put trailing slashes in PATH elements.
      case "$ac_dir/" in
      /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
      *)
        # OSF1 and SCO ODT 3.0 have their own names for install.
!       # Don't use installbsd from OSF since it installs stuff as root
!       # by default.
!       for ac_prog in ginstall scoinst install; do
!         if test -f $ac_dir/$ac_prog; then
  	  if test $ac_prog = install &&
              grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
  	    # AIX install.  It has an incompatible calling convention.
  	    :
  	  else
! 	    ac_cv_path_install="$ac_dir/$ac_prog -c"
  	    break 2
  	  fi
  	fi
        done
        ;;
      esac
    done
!   IFS="$ac_save_IFS"
  
  fi
    if test "${ac_cv_path_install+set}" = set; then
      INSTALL="$ac_cv_path_install"
--- 847,890 ----
  # SunOS /usr/etc/install
  # IRIX /sbin/install
  # AIX /bin/install
  # AFS /usr/afsws/bin/install, which mishandles nonexistent args
  # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
  # ./install, which can be erroneously created by make from ./install.sh.
  echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
! echo "configure:855: checking for a BSD compatible install" >&5
  if test -z "$INSTALL"; then
  if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!     IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}$PATH_IFS"
!   for ac_dir in $FPATH; do
      # Account for people who put trailing slashes in PATH elements.
      case "$ac_dir/" in
      /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+     # We reject the install program from OS/2 or W3.1
+     */OS2|*/OS2/*|*/WINDOWS|*/WINDOWS/*) ;;
      *)
        # OSF1 and SCO ODT 3.0 have their own names for install.
!       for ac_prog in ginstall installbsd scoinst install; do
!         if test -f $ac_dir/$ac_prog${EXE_EXT}; then
  	  if test $ac_prog = install &&
              grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
  	    # AIX install.  It has an incompatible calling convention.
+ 	    # OSF/1 installbsd also uses dspmsg, but is usable.
  	    :
  	  else
! 	    ac_cv_path_install="$ac_dir/$ac_prog.exe -c"
  	    break 2
  	  fi
  	fi
        done
        ;;
      esac
+ 
    done
!   IFS="$ac_save_ifs"
  
+ 
  fi
    if test "${ac_cv_path_install+set}" = set; then
      INSTALL="$ac_cv_path_install"
***************
*** 913,931 ****
  # It thinks the first close brace ends the variable substitution.
  test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
  
- test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
- 
  test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
  
  echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
! echo "configure:922: checking whether ${MAKE-make} sets \${MAKE}" >&5
  set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftestmake <<\EOF
  all:
! 	@echo 'ac_maketemp="${MAKE}"'
  EOF
  # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
  eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
--- 902,918 ----
  # It thinks the first close brace ends the variable substitution.
  test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
  
  test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
  
  echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
! echo "configure:909: checking whether ${MAKE-make} sets \${MAKE}" >&5
  set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftestmake <<\EOF
  all:
! 	@echo ac_maketemp="${MAKE}"
  EOF
  # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
  eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
***************
*** 947,967 ****
  # Extract the first word of "ranlib", so it can be a program name with args.
  set dummy ranlib; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:951: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    if test -n "$RANLIB"; then
    ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
  else
!   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
!   ac_dummy="$PATH"
!   for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
!     if test -f $ac_dir/$ac_word; then
        ac_cv_prog_RANLIB="ranlib"
        break
      fi
    done
    IFS="$ac_save_ifs"
    test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
--- 934,957 ----
  # Extract the first word of "ranlib", so it can be a program name with args.
  set dummy ranlib; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:938: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    if test -n "$RANLIB"; then
    ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
  else
!   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}$PATH_IFS"
!   for ac_dir in $FPATH; do
! 
      test -z "$ac_dir" && ac_dir=.
!     if test -f $ac_dir/$ac_word${EXE_EXT} -o \
! 	-f $ac_dir/$ac_word${SCR_EXT} -o \
! 	-f $ac_dir/$ac_word; then
        ac_cv_prog_RANLIB="ranlib"
        break
      fi
+ 
    done
    IFS="$ac_save_ifs"
    test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
***************
*** 979,999 ****
  # Extract the first word of "$ac_prog", so it can be a program name with args.
  set dummy $ac_prog; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:983: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    if test -n "$YACC"; then
    ac_cv_prog_YACC="$YACC" # Let the user override the test.
  else
!   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
!   ac_dummy="$PATH"
!   for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
!     if test -f $ac_dir/$ac_word; then
        ac_cv_prog_YACC="$ac_prog"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
--- 969,992 ----
  # Extract the first word of "$ac_prog", so it can be a program name with args.
  set dummy $ac_prog; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:973: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    if test -n "$YACC"; then
    ac_cv_prog_YACC="$YACC" # Let the user override the test.
  else
!   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}$PATH_IFS"
!   for ac_dir in $FPATH; do
! 
      test -z "$ac_dir" && ac_dir=.
!     if test -f $ac_dir/$ac_word${EXE_EXT} -o \
! 	-f $ac_dir/$ac_word${SCR_EXT} -o \
! 	-f $ac_dir/$ac_word; then
        ac_cv_prog_YACC="$ac_prog"
        break
      fi
+ 
    done
    IFS="$ac_save_ifs"
  fi
***************
*** 1013,1038 ****
  # Extract the first word of "perl", so it can be a program name with args.
  set dummy perl; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:1017: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_path_perl_path'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    case "$perl_path" in
!   /*)
    ac_cv_path_perl_path="$perl_path" # Let the user override the test with a path.
    ;;
-   ?:/*)			 
-   ac_cv_path_perl_path="$perl_path" # Let the user override the test with a dos path.
-   ;;
    *)
!   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
!   ac_dummy="$PATH"
!   for ac_dir in $ac_dummy; do 
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
        ac_cv_path_perl_path="$ac_dir/$ac_word"
        break
      fi
    done
    IFS="$ac_save_ifs"
    test -z "$ac_cv_path_perl_path" && ac_cv_path_perl_path="no"
--- 1006,1037 ----
  # Extract the first word of "perl", so it can be a program name with args.
  set dummy perl; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:1010: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_path_perl_path'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    case "$perl_path" in
!   /*|[a-zA-Z]:*)
    ac_cv_path_perl_path="$perl_path" # Let the user override the test with a path.
    ;;
    *)
!   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}$PATH_IFS"
!   for ac_dir in $FPATH; do
! 
      test -z "$ac_dir" && ac_dir=.
+     if test -f $ac_dir/$ac_word${EXE_EXT}; then
+       ac_cv_path_perl_path="$ac_dir/$ac_word${EXE_EXT}"
+       break
+     fi
+     if test -f $ac_dir/$ac_word${SCR_EXT}; then
+       ac_cv_path_perl_path="$ac_dir/$ac_word${SCR_EXT}"
+       break
+     fi
      if test -f $ac_dir/$ac_word; then
        ac_cv_path_perl_path="$ac_dir/$ac_word"
        break
      fi
+ 
    done
    IFS="$ac_save_ifs"
    test -z "$ac_cv_path_perl_path" && ac_cv_path_perl_path="no"
***************
*** 1049,1074 ****
  # Extract the first word of "csh", so it can be a program name with args.
  set dummy csh; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:1053: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_path_csh_path'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    case "$csh_path" in
!   /*)
    ac_cv_path_csh_path="$csh_path" # Let the user override the test with a path.
    ;;
-   ?:/*)			 
-   ac_cv_path_csh_path="$csh_path" # Let the user override the test with a dos path.
-   ;;
    *)
!   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
!   ac_dummy="$PATH"
!   for ac_dir in $ac_dummy; do 
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
        ac_cv_path_csh_path="$ac_dir/$ac_word"
        break
      fi
    done
    IFS="$ac_save_ifs"
    test -z "$ac_cv_path_csh_path" && ac_cv_path_csh_path="no"
--- 1048,1079 ----
  # Extract the first word of "csh", so it can be a program name with args.
  set dummy csh; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:1052: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_path_csh_path'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    case "$csh_path" in
!   /*|[a-zA-Z]:*)
    ac_cv_path_csh_path="$csh_path" # Let the user override the test with a path.
    ;;
    *)
!   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}$PATH_IFS"
!   for ac_dir in $FPATH; do
! 
      test -z "$ac_dir" && ac_dir=.
+     if test -f $ac_dir/$ac_word${EXE_EXT}; then
+       ac_cv_path_csh_path="$ac_dir/$ac_word${EXE_EXT}"
+       break
+     fi
+     if test -f $ac_dir/$ac_word${SCR_EXT}; then
+       ac_cv_path_csh_path="$ac_dir/$ac_word${SCR_EXT}"
+       break
+     fi
      if test -f $ac_dir/$ac_word; then
        ac_cv_path_csh_path="$ac_dir/$ac_word"
        break
      fi
+ 
    done
    IFS="$ac_save_ifs"
    test -z "$ac_cv_path_csh_path" && ac_cv_path_csh_path="no"
***************
*** 1086,1092 ****
  # Pull the hash mark out of the macro call to avoid m4 problems.
  ac_msg="whether #! works in shell scripts"
  echo $ac_n "checking $ac_msg""... $ac_c" 1>&6
! echo "configure:1090: checking $ac_msg" >&5
  if eval "test \"`echo '$''{'ac_cv_sys_interpreter'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 1091,1097 ----
  # Pull the hash mark out of the macro call to avoid m4 problems.
  ac_msg="whether #! works in shell scripts"
  echo $ac_n "checking $ac_msg""... $ac_c" 1>&6
! echo "configure:1095: checking $ac_msg" >&5
  if eval "test \"`echo '$''{'ac_cv_sys_interpreter'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
***************
*** 1104,1110 ****
  fi
  
  echo "$ac_t""$ac_cv_sys_interpreter" 1>&6
- interpval="$ac_cv_sys_interpreter"
  
  if test X"$ac_cv_sys_interpreter" != X"yes" ; then
    # silly trick to avoid problems in AC macros...
--- 1109,1114 ----
***************
*** 1113,1119 ****
  fi
  
  echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
! echo "configure:1117: checking how to run the C preprocessor" >&5
  # On Suns, sometimes $CPP names a directory.
  if test -n "$CPP" && test -d "$CPP"; then
    CPP=
--- 1117,1123 ----
  fi
  
  echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
! echo "configure:1121: checking how to run the C preprocessor" >&5
  # On Suns, sometimes $CPP names a directory.
  if test -n "$CPP" && test -d "$CPP"; then
    CPP=
***************
*** 1128,1141 ****
    # On the NeXT, cc -E runs the code through the compiler's parser,
    # not just through cpp.
    cat > conftest.$ac_ext <<EOF
! #line 1132 "configure"
  #include "confdefs.h"
  #include <assert.h>
  Syntax Error
  EOF
  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
! { (eval echo configure:1138: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
! ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
  if test -z "$ac_err"; then
    :
  else
--- 1132,1146 ----
    # On the NeXT, cc -E runs the code through the compiler's parser,
    # not just through cpp.
    cat > conftest.$ac_ext <<EOF
! #include <sys/types.h>
! #line 1137 "configure"
  #include "confdefs.h"
  #include <assert.h>
  Syntax Error
  EOF
  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
! { (eval echo configure:1143: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
! ac_err=`grep -v '^ *+' conftest.out`
  if test -z "$ac_err"; then
    :
  else
***************
*** 1144,1175 ****
    cat conftest.$ac_ext >&5
    rm -rf conftest*
    CPP="${CC-cc} -E -traditional-cpp"
-   cat > conftest.$ac_ext <<EOF
- #line 1149 "configure"
- #include "confdefs.h"
- #include <assert.h>
- Syntax Error
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
- { (eval echo configure:1155: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
-   :
- else
-   echo "$ac_err" >&5
-   echo "configure: failed program was:" >&5
-   cat conftest.$ac_ext >&5
-   rm -rf conftest*
-   CPP="${CC-cc} -nologo -E"
    cat > conftest.$ac_ext <<EOF
! #line 1166 "configure"
  #include "confdefs.h"
  #include <assert.h>
  Syntax Error
  EOF
  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
! { (eval echo configure:1172: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
! ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
  if test -z "$ac_err"; then
    :
  else
--- 1149,1164 ----
    cat conftest.$ac_ext >&5
    rm -rf conftest*
    CPP="${CC-cc} -E -traditional-cpp"
    cat > conftest.$ac_ext <<EOF
! #include <sys/types.h>
! #line 1155 "configure"
  #include "confdefs.h"
  #include <assert.h>
  Syntax Error
  EOF
  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
! { (eval echo configure:1161: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
! ac_err=`grep -v '^ *+' conftest.out`
  if test -z "$ac_err"; then
    :
  else
***************
*** 1182,1189 ****
  rm -f conftest*
  fi
  rm -f conftest*
- fi
- rm -f conftest*
    ac_cv_prog_CPP="$CPP"
  fi
    CPP="$ac_cv_prog_CPP"
--- 1171,1176 ----
***************
*** 1193,1201 ****
  echo "$ac_t""$CPP" 1>&6
  
  echo $ac_n "checking for AIX""... $ac_c" 1>&6
! echo "configure:1197: checking for AIX" >&5
  cat > conftest.$ac_ext <<EOF
! #line 1199 "configure"
  #include "confdefs.h"
  #ifdef _AIX
    yes
--- 1180,1188 ----
  echo "$ac_t""$CPP" 1>&6
  
  echo $ac_n "checking for AIX""... $ac_c" 1>&6
! echo "configure:1184: checking for AIX" >&5
  cat > conftest.$ac_ext <<EOF
! #line 1186 "configure"
  #include "confdefs.h"
  #ifdef _AIX
    yes
***************
*** 1218,1235 ****
  
  ac_safe=`echo "minix/config.h" | sed 'y%./+-%__p_%'`
  echo $ac_n "checking for minix/config.h""... $ac_c" 1>&6
! echo "configure:1222: checking for minix/config.h" >&5
  if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1227 "configure"
  #include "confdefs.h"
  #include <minix/config.h>
  EOF
  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
! { (eval echo configure:1232: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
! ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
  if test -z "$ac_err"; then
    rm -rf conftest*
    eval "ac_cv_header_$ac_safe=yes"
--- 1205,1223 ----
  
  ac_safe=`echo "minix/config.h" | sed 'y%./+-%__p_%'`
  echo $ac_n "checking for minix/config.h""... $ac_c" 1>&6
! echo "configure:1209: checking for minix/config.h" >&5
  if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #include <sys/types.h>
! #line 1215 "configure"
  #include "confdefs.h"
  #include <minix/config.h>
  EOF
  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
! { (eval echo configure:1220: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
! ac_err=`grep -v '^ *+' conftest.out`
  if test -z "$ac_err"; then
    rm -rf conftest*
    eval "ac_cv_header_$ac_safe=yes"
***************
*** 1266,1272 ****
  fi
  
  echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
! echo "configure:1270: checking for POSIXized ISC" >&5
  if test -d /etc/conf/kconfig.d &&
    grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
  then
--- 1254,1260 ----
  fi
  
  echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
! echo "configure:1258: checking for POSIXized ISC" >&5
  if test -d /etc/conf/kconfig.d &&
    grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
  then
***************
*** 1296,1307 ****
  do
  ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
  echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
! echo "configure:1300: checking for $ac_hdr that defines DIR" >&5
  if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1305 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <$ac_hdr>
--- 1284,1295 ----
  do
  ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
  echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
! echo "configure:1288: checking for $ac_hdr that defines DIR" >&5
  if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1293 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <$ac_hdr>
***************
*** 1309,1315 ****
  DIR *dirp = 0;
  ; return 0; }
  EOF
! if { (eval echo configure:1313: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    eval "ac_cv_header_dirent_$ac_safe=yes"
  else
--- 1297,1303 ----
  DIR *dirp = 0;
  ; return 0; }
  EOF
! if { (eval echo configure:1301: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    eval "ac_cv_header_dirent_$ac_safe=yes"
  else
***************
*** 1334,1340 ****
  # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
  if test $ac_header_dirent = dirent.h; then
  echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
! echo "configure:1338: checking for opendir in -ldir" >&5
  ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
--- 1322,1328 ----
  # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
  if test $ac_header_dirent = dirent.h; then
  echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
! echo "configure:1326: checking for opendir in -ldir" >&5
  ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
***************
*** 1342,1348 ****
    ac_save_LIBS="$LIBS"
  LIBS="-ldir  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 1346 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
--- 1330,1336 ----
    ac_save_LIBS="$LIBS"
  LIBS="-ldir  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 1334 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
***************
*** 1353,1359 ****
  opendir()
  ; return 0; }
  EOF
! if { (eval echo configure:1357: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_lib_$ac_lib_var=yes"
  else
--- 1341,1347 ----
  opendir()
  ; return 0; }
  EOF
! if { (eval echo configure:1345: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    eval "ac_cv_lib_$ac_lib_var=yes"
  else
***************
*** 1375,1381 ****
  
  else
  echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
! echo "configure:1379: checking for opendir in -lx" >&5
  ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
--- 1363,1369 ----
  
  else
  echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
! echo "configure:1367: checking for opendir in -lx" >&5
  ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
***************
*** 1383,1389 ****
    ac_save_LIBS="$LIBS"
  LIBS="-lx  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 1387 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
--- 1371,1377 ----
    ac_save_LIBS="$LIBS"
  LIBS="-lx  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 1375 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
***************
*** 1394,1400 ****
  opendir()
  ; return 0; }
  EOF
! if { (eval echo configure:1398: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_lib_$ac_lib_var=yes"
  else
--- 1382,1388 ----
  opendir()
  ; return 0; }
  EOF
! if { (eval echo configure:1386: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    eval "ac_cv_lib_$ac_lib_var=yes"
  else
***************
*** 1417,1428 ****
  fi
  
  echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
! echo "configure:1421: checking for ANSI C header files" >&5
  if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1426 "configure"
  #include "confdefs.h"
  #include <stdlib.h>
  #include <stdarg.h>
--- 1405,1417 ----
  fi
  
  echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
! echo "configure:1409: checking for ANSI C header files" >&5
  if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #include <sys/types.h>
! #line 1415 "configure"
  #include "confdefs.h"
  #include <stdlib.h>
  #include <stdarg.h>
***************
*** 1430,1437 ****
  #include <float.h>
  EOF
  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
! { (eval echo configure:1434: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
! ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
  if test -z "$ac_err"; then
    rm -rf conftest*
    ac_cv_header_stdc=yes
--- 1419,1426 ----
  #include <float.h>
  EOF
  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
! { (eval echo configure:1423: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
! ac_err=`grep -v '^ *+' conftest.out`
  if test -z "$ac_err"; then
    rm -rf conftest*
    ac_cv_header_stdc=yes
***************
*** 1447,1453 ****
  if test $ac_cv_header_stdc = yes; then
    # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
  cat > conftest.$ac_ext <<EOF
! #line 1451 "configure"
  #include "confdefs.h"
  #include <string.h>
  EOF
--- 1436,1442 ----
  if test $ac_cv_header_stdc = yes; then
    # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
  cat > conftest.$ac_ext <<EOF
! #line 1440 "configure"
  #include "confdefs.h"
  #include <string.h>
  EOF
***************
*** 1465,1471 ****
  if test $ac_cv_header_stdc = yes; then
    # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
  cat > conftest.$ac_ext <<EOF
! #line 1469 "configure"
  #include "confdefs.h"
  #include <stdlib.h>
  EOF
--- 1454,1460 ----
  if test $ac_cv_header_stdc = yes; then
    # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
  cat > conftest.$ac_ext <<EOF
! #line 1458 "configure"
  #include "confdefs.h"
  #include <stdlib.h>
  EOF
***************
*** 1486,1492 ****
    :
  else
    cat > conftest.$ac_ext <<EOF
! #line 1490 "configure"
  #include "confdefs.h"
  #include <ctype.h>
  #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
--- 1475,1481 ----
    :
  else
    cat > conftest.$ac_ext <<EOF
! #line 1479 "configure"
  #include "confdefs.h"
  #include <ctype.h>
  #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
***************
*** 1497,1503 ****
  exit (0); }
  
  EOF
! if { (eval echo configure:1501: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
  then
    :
  else
--- 1486,1492 ----
  exit (0); }
  
  EOF
! if { (eval echo configure:1490: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT} && (./conftest${EXE_EXT}; exit) 2>/dev/null
  then
    :
  else
***************
*** 1521,1532 ****
  fi
  
  echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
! echo "configure:1525: checking for sys/wait.h that is POSIX.1 compatible" >&5
  if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1530 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <sys/wait.h>
--- 1510,1521 ----
  fi
  
  echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
! echo "configure:1514: checking for sys/wait.h that is POSIX.1 compatible" >&5
  if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1519 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <sys/wait.h>
***************
*** 1542,1548 ****
  s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
  ; return 0; }
  EOF
! if { (eval echo configure:1546: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    ac_cv_header_sys_wait_h=yes
  else
--- 1531,1537 ----
  s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
  ; return 0; }
  EOF
! if { (eval echo configure:1535: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    ac_cv_header_sys_wait_h=yes
  else
***************
*** 1569,1586 ****
  do
  ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
  echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
! echo "configure:1573: checking for $ac_hdr" >&5
  if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1578 "configure"
  #include "confdefs.h"
  #include <$ac_hdr>
  EOF
  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
! { (eval echo configure:1583: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
! ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
  if test -z "$ac_err"; then
    rm -rf conftest*
    eval "ac_cv_header_$ac_safe=yes"
--- 1558,1576 ----
  do
  ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
  echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
! echo "configure:1562: checking for $ac_hdr" >&5
  if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #include <sys/types.h>
! #line 1568 "configure"
  #include "confdefs.h"
  #include <$ac_hdr>
  EOF
  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
! { (eval echo configure:1573: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
! ac_err=`grep -v '^ *+' conftest.out`
  if test -z "$ac_err"; then
    rm -rf conftest*
    eval "ac_cv_header_$ac_safe=yes"
***************
*** 1606,1617 ****
  done
  
  echo $ac_n "checking whether stat file-mode macros are broken""... $ac_c" 1>&6
! echo "configure:1610: checking whether stat file-mode macros are broken" >&5
  if eval "test \"`echo '$''{'ac_cv_header_stat_broken'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1615 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <sys/stat.h>
--- 1596,1607 ----
  done
  
  echo $ac_n "checking whether stat file-mode macros are broken""... $ac_c" 1>&6
! echo "configure:1600: checking whether stat file-mode macros are broken" >&5
  if eval "test \"`echo '$''{'ac_cv_header_stat_broken'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1605 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <sys/stat.h>
***************
*** 1662,1673 ****
  fi
  
  echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
! echo "configure:1666: checking whether time.h and sys/time.h may both be included" >&5
  if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1671 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <sys/time.h>
--- 1652,1663 ----
  fi
  
  echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
! echo "configure:1656: checking whether time.h and sys/time.h may both be included" >&5
  if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1661 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <sys/time.h>
***************
*** 1676,1682 ****
  struct tm *tp;
  ; return 0; }
  EOF
! if { (eval echo configure:1680: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    ac_cv_header_time=yes
  else
--- 1666,1672 ----
  struct tm *tp;
  ; return 0; }
  EOF
! if { (eval echo configure:1670: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    ac_cv_header_time=yes
  else
***************
*** 1698,1709 ****
  
  
  echo $ac_n "checking for working const""... $ac_c" 1>&6
! echo "configure:1702: checking for working const" >&5
  if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1707 "configure"
  #include "confdefs.h"
  
  int main() {
--- 1688,1699 ----
  
  
  echo $ac_n "checking for working const""... $ac_c" 1>&6
! echo "configure:1692: checking for working const" >&5
  if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1697 "configure"
  #include "confdefs.h"
  
  int main() {
***************
*** 1752,1758 ****
  
  ; return 0; }
  EOF
! if { (eval echo configure:1756: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    ac_cv_c_const=yes
  else
--- 1742,1748 ----
  
  ; return 0; }
  EOF
! if { (eval echo configure:1746: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    ac_cv_c_const=yes
  else
***************
*** 1773,1784 ****
  fi
  
  echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
! echo "configure:1777: checking for uid_t in sys/types.h" >&5
  if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1782 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  EOF
--- 1763,1774 ----
  fi
  
  echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
! echo "configure:1767: checking for uid_t in sys/types.h" >&5
  if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1772 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  EOF
***************
*** 1807,1818 ****
  fi
  
  echo $ac_n "checking for mode_t""... $ac_c" 1>&6
! echo "configure:1811: checking for mode_t" >&5
  if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1816 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #if STDC_HEADERS
--- 1797,1808 ----
  fi
  
  echo $ac_n "checking for mode_t""... $ac_c" 1>&6
! echo "configure:1801: checking for mode_t" >&5
  if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1806 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #if STDC_HEADERS
***************
*** 1821,1827 ****
  #endif
  EOF
  if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
!   egrep "(^|[^a-zA-Z_0-9])mode_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
    rm -rf conftest*
    ac_cv_type_mode_t=yes
  else
--- 1811,1817 ----
  #endif
  EOF
  if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
!   egrep "mode_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
    rm -rf conftest*
    ac_cv_type_mode_t=yes
  else
***************
*** 1840,1851 ****
  fi
  
  echo $ac_n "checking for pid_t""... $ac_c" 1>&6
! echo "configure:1844: checking for pid_t" >&5
  if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1849 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #if STDC_HEADERS
--- 1830,1841 ----
  fi
  
  echo $ac_n "checking for pid_t""... $ac_c" 1>&6
! echo "configure:1834: checking for pid_t" >&5
  if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1839 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #if STDC_HEADERS
***************
*** 1854,1860 ****
  #endif
  EOF
  if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
!   egrep "(^|[^a-zA-Z_0-9])pid_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
    rm -rf conftest*
    ac_cv_type_pid_t=yes
  else
--- 1844,1850 ----
  #endif
  EOF
  if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
!   egrep "pid_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
    rm -rf conftest*
    ac_cv_type_pid_t=yes
  else
***************
*** 1873,1884 ****
  fi
  
  echo $ac_n "checking for size_t""... $ac_c" 1>&6
! echo "configure:1877: checking for size_t" >&5
  if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1882 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #if STDC_HEADERS
--- 1863,1874 ----
  fi
  
  echo $ac_n "checking for size_t""... $ac_c" 1>&6
! echo "configure:1867: checking for size_t" >&5
  if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1872 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #if STDC_HEADERS
***************
*** 1887,1893 ****
  #endif
  EOF
  if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
!   egrep "(^|[^a-zA-Z_0-9])size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
    rm -rf conftest*
    ac_cv_type_size_t=yes
  else
--- 1877,1883 ----
  #endif
  EOF
  if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
!   egrep "size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
    rm -rf conftest*
    ac_cv_type_size_t=yes
  else
***************
*** 1906,1917 ****
  fi
  
  echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
! echo "configure:1910: checking return type of signal handlers" >&5
  if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1915 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <signal.h>
--- 1896,1907 ----
  fi
  
  echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
! echo "configure:1900: checking return type of signal handlers" >&5
  if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1905 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <signal.h>
***************
*** 1928,1934 ****
  int i;
  ; return 0; }
  EOF
! if { (eval echo configure:1932: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    ac_cv_type_signal=void
  else
--- 1918,1924 ----
  int i;
  ; return 0; }
  EOF
! if { (eval echo configure:1922: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    ac_cv_type_signal=void
  else
***************
*** 1948,1959 ****
  
  
  echo $ac_n "checking for st_blksize in struct stat""... $ac_c" 1>&6
! echo "configure:1952: checking for st_blksize in struct stat" >&5
  if eval "test \"`echo '$''{'ac_cv_struct_st_blksize'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1957 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <sys/stat.h>
--- 1938,1949 ----
  
  
  echo $ac_n "checking for st_blksize in struct stat""... $ac_c" 1>&6
! echo "configure:1942: checking for st_blksize in struct stat" >&5
  if eval "test \"`echo '$''{'ac_cv_struct_st_blksize'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1947 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <sys/stat.h>
***************
*** 1961,1967 ****
  struct stat s; s.st_blksize;
  ; return 0; }
  EOF
! if { (eval echo configure:1965: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    ac_cv_struct_st_blksize=yes
  else
--- 1951,1957 ----
  struct stat s; s.st_blksize;
  ; return 0; }
  EOF
! if { (eval echo configure:1955: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    ac_cv_struct_st_blksize=yes
  else
***************
*** 1982,1993 ****
  fi
  
  echo $ac_n "checking for st_rdev in struct stat""... $ac_c" 1>&6
! echo "configure:1986: checking for st_rdev in struct stat" >&5
  if eval "test \"`echo '$''{'ac_cv_struct_st_rdev'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1991 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <sys/stat.h>
--- 1972,1983 ----
  fi
  
  echo $ac_n "checking for st_rdev in struct stat""... $ac_c" 1>&6
! echo "configure:1976: checking for st_rdev in struct stat" >&5
  if eval "test \"`echo '$''{'ac_cv_struct_st_rdev'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1981 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <sys/stat.h>
***************
*** 1995,2001 ****
  struct stat s; s.st_rdev;
  ; return 0; }
  EOF
! if { (eval echo configure:1999: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    ac_cv_struct_st_rdev=yes
  else
--- 1985,1991 ----
  struct stat s; s.st_rdev;
  ; return 0; }
  EOF
! if { (eval echo configure:1989: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    ac_cv_struct_st_rdev=yes
  else
***************
*** 2018,2029 ****
  for ac_func in mkdir rename strstr dup2 strerror valloc waitpid memmove strtoul
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
! echo "configure:2022: checking for $ac_func" >&5
  if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 2027 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char $ac_func(); below.  */
--- 2008,2019 ----
  for ac_func in mkdir rename strstr dup2 strerror valloc waitpid memmove strtoul
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
! echo "configure:2012: checking for $ac_func" >&5
  if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 2017 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char $ac_func(); below.  */
***************
*** 2046,2052 ****
  
  ; return 0; }
  EOF
! if { (eval echo configure:2050: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_$ac_func=yes"
  else
--- 2036,2042 ----
  
  ; return 0; }
  EOF
! if { (eval echo configure:2040: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    eval "ac_cv_func_$ac_func=yes"
  else
***************
*** 2067,2073 ****
   
  else
    echo "$ac_t""no" 1>&6
! LIBOBJS="$LIBOBJS ${ac_func}.${ac_objext}"
  fi
  done
  
--- 2057,2063 ----
   
  else
    echo "$ac_t""no" 1>&6
! LIBOBJS="$LIBOBJS ${ac_func}.o"
  fi
  done
  
***************
*** 2075,2086 ****
  for ac_func in fchmod fsync ftime mktemp putenv vprintf ftruncate timezone getpagesize initgroups fchdir sigaction sigprocmask sigvec sigsetmask sigblock tempnam tzset readlink wait3 mknod getpassphrase
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
! echo "configure:2079: checking for $ac_func" >&5
  if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 2084 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char $ac_func(); below.  */
--- 2065,2076 ----
  for ac_func in fchmod fsync ftime mktemp putenv vprintf ftruncate timezone getpagesize initgroups fchdir sigaction sigprocmask sigvec sigsetmask sigblock tempnam tzset readlink wait3 mknod getpassphrase
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
! echo "configure:2069: checking for $ac_func" >&5
  if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 2074 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char $ac_func(); below.  */
***************
*** 2103,2109 ****
  
  ; return 0; }
  EOF
! if { (eval echo configure:2107: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_$ac_func=yes"
  else
--- 2093,2099 ----
  
  ; return 0; }
  EOF
! if { (eval echo configure:2097: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    eval "ac_cv_func_$ac_func=yes"
  else
***************
*** 2147,2164 ****
  
  ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'`
  echo $ac_n "checking for vfork.h""... $ac_c" 1>&6
! echo "configure:2151: checking for vfork.h" >&5
  if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 2156 "configure"
  #include "confdefs.h"
  #include <vfork.h>
  EOF
  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
! { (eval echo configure:2161: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
! ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
  if test -z "$ac_err"; then
    rm -rf conftest*
    eval "ac_cv_header_$ac_safe=yes"
--- 2137,2155 ----
  
  ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'`
  echo $ac_n "checking for vfork.h""... $ac_c" 1>&6
! echo "configure:2141: checking for vfork.h" >&5
  if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #include <sys/types.h>
! #line 2147 "configure"
  #include "confdefs.h"
  #include <vfork.h>
  EOF
  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
! { (eval echo configure:2152: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
! ac_err=`grep -v '^ *+' conftest.out`
  if test -z "$ac_err"; then
    rm -rf conftest*
    eval "ac_cv_header_$ac_safe=yes"
***************
*** 2182,2199 ****
  fi
  
  echo $ac_n "checking for working vfork""... $ac_c" 1>&6
! echo "configure:2186: checking for working vfork" >&5
  if eval "test \"`echo '$''{'ac_cv_func_vfork_works'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    if test "$cross_compiling" = yes; then
    echo $ac_n "checking for vfork""... $ac_c" 1>&6
! echo "configure:2192: checking for vfork" >&5
  if eval "test \"`echo '$''{'ac_cv_func_vfork'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 2197 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char vfork(); below.  */
--- 2173,2190 ----
  fi
  
  echo $ac_n "checking for working vfork""... $ac_c" 1>&6
! echo "configure:2177: checking for working vfork" >&5
  if eval "test \"`echo '$''{'ac_cv_func_vfork_works'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    if test "$cross_compiling" = yes; then
    echo $ac_n "checking for vfork""... $ac_c" 1>&6
! echo "configure:2183: checking for vfork" >&5
  if eval "test \"`echo '$''{'ac_cv_func_vfork'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 2188 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char vfork(); below.  */
***************
*** 2216,2222 ****
  
  ; return 0; }
  EOF
! if { (eval echo configure:2220: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_vfork=yes"
  else
--- 2207,2213 ----
  
  ; return 0; }
  EOF
! if { (eval echo configure:2211: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    eval "ac_cv_func_vfork=yes"
  else
***************
*** 2235,2244 ****
    echo "$ac_t""no" 1>&6
  fi
  
- ac_cv_func_vfork_works=$ac_cv_func_vfork
  else
    cat > conftest.$ac_ext <<EOF
! #line 2242 "configure"
  #include "confdefs.h"
  /* Thanks to Paul Eggert for this test.  */
  #include <stdio.h>
--- 2226,2234 ----
    echo "$ac_t""no" 1>&6
  fi
  
  else
    cat > conftest.$ac_ext <<EOF
! #line 2232 "configure"
  #include "confdefs.h"
  /* Thanks to Paul Eggert for this test.  */
  #include <stdio.h>
***************
*** 2333,2339 ****
    }
  }
  EOF
! if { (eval echo configure:2337: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
  then
    ac_cv_func_vfork_works=yes
  else
--- 2323,2329 ----
    }
  }
  EOF
! if { (eval echo configure:2327: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT} && (./conftest${EXE_EXT}; exit) 2>/dev/null
  then
    ac_cv_func_vfork_works=yes
  else
***************
*** 2356,2362 ****
  fi
  
  echo $ac_n "checking whether closedir returns void""... $ac_c" 1>&6
! echo "configure:2360: checking whether closedir returns void" >&5
  if eval "test \"`echo '$''{'ac_cv_func_closedir_void'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 2346,2352 ----
  fi
  
  echo $ac_n "checking whether closedir returns void""... $ac_c" 1>&6
! echo "configure:2350: checking whether closedir returns void" >&5
  if eval "test \"`echo '$''{'ac_cv_func_closedir_void'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
***************
*** 2364,2376 ****
    ac_cv_func_closedir_void=yes
  else
    cat > conftest.$ac_ext <<EOF
! #line 2368 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <$ac_header_dirent>
  int closedir(); main() { exit(closedir(opendir(".")) != 0); }
  EOF
! if { (eval echo configure:2374: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
  then
    ac_cv_func_closedir_void=no
  else
--- 2354,2366 ----
    ac_cv_func_closedir_void=yes
  else
    cat > conftest.$ac_ext <<EOF
! #line 2358 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <$ac_header_dirent>
  int closedir(); main() { exit(closedir(opendir(".")) != 0); }
  EOF
! if { (eval echo configure:2364: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT} && (./conftest${EXE_EXT}; exit) 2>/dev/null
  then
    ac_cv_func_closedir_void=no
  else
***************
*** 2395,2408 ****
  
  
  echo $ac_n "checking for library containing getspnam""... $ac_c" 1>&6
! echo "configure:2399: checking for library containing getspnam" >&5
  if eval "test \"`echo '$''{'ac_cv_search_getspnam'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    ac_func_search_save_LIBS="$LIBS"
  ac_cv_search_getspnam="no"
  cat > conftest.$ac_ext <<EOF
! #line 2406 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
--- 2385,2398 ----
  
  
  echo $ac_n "checking for library containing getspnam""... $ac_c" 1>&6
! echo "configure:2389: checking for library containing getspnam" >&5
  if eval "test \"`echo '$''{'ac_cv_search_getspnam'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    ac_func_search_save_LIBS="$LIBS"
  ac_cv_search_getspnam="no"
  cat > conftest.$ac_ext <<EOF
! #line 2396 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
***************
*** 2413,2419 ****
  getspnam()
  ; return 0; }
  EOF
! if { (eval echo configure:2417: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_search_getspnam="none required"
  else
--- 2403,2409 ----
  getspnam()
  ; return 0; }
  EOF
! if { (eval echo configure:2407: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    ac_cv_search_getspnam="none required"
  else
***************
*** 2424,2430 ****
  test "$ac_cv_search_getspnam" = "no" && for i in sec gen; do
  LIBS="-l$i  $ac_func_search_save_LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2428 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
--- 2414,2420 ----
  test "$ac_cv_search_getspnam" = "no" && for i in sec gen; do
  LIBS="-l$i  $ac_func_search_save_LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2418 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
***************
*** 2435,2441 ****
  getspnam()
  ; return 0; }
  EOF
! if { (eval echo configure:2439: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_search_getspnam="-l$i"
  break
--- 2425,2431 ----
  getspnam()
  ; return 0; }
  EOF
! if { (eval echo configure:2429: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    ac_cv_search_getspnam="-l$i"
  break
***************
*** 2460,2466 ****
  fi
  
  echo $ac_n "checking whether utime accepts a null argument""... $ac_c" 1>&6
! echo "configure:2464: checking whether utime accepts a null argument" >&5
  if eval "test \"`echo '$''{'ac_cv_func_utime_null'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 2450,2456 ----
  fi
  
  echo $ac_n "checking whether utime accepts a null argument""... $ac_c" 1>&6
! echo "configure:2454: checking whether utime accepts a null argument" >&5
  if eval "test \"`echo '$''{'ac_cv_func_utime_null'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
***************
*** 2470,2476 ****
    ac_cv_func_utime_null=no
  else
    cat > conftest.$ac_ext <<EOF
! #line 2474 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <sys/stat.h>
--- 2460,2466 ----
    ac_cv_func_utime_null=no
  else
    cat > conftest.$ac_ext <<EOF
! #line 2464 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <sys/stat.h>
***************
*** 2481,2487 ****
  && t.st_mtime - s.st_mtime < 120));
  }
  EOF
! if { (eval echo configure:2485: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
  then
    ac_cv_func_utime_null=yes
  else
--- 2471,2477 ----
  && t.st_mtime - s.st_mtime < 120));
  }
  EOF
! if { (eval echo configure:2475: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT} && (./conftest${EXE_EXT}; exit) 2>/dev/null
  then
    ac_cv_func_utime_null=yes
  else
***************
*** 2505,2511 ****
  fi
  
  echo $ac_n "checking for long file names""... $ac_c" 1>&6
! echo "configure:2509: checking for long file names" >&5
  if eval "test \"`echo '$''{'ac_cv_sys_long_file_names'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 2495,2501 ----
  fi
  
  echo $ac_n "checking for long file names""... $ac_c" 1>&6
! echo "configure:2499: checking for long file names" >&5
  if eval "test \"`echo '$''{'ac_cv_sys_long_file_names'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
***************
*** 2550,2556 ****
  
  
  echo $ac_n "checking for working fnmatch""... $ac_c" 1>&6
! echo "configure:2554: checking for working fnmatch" >&5
  if eval "test \"`echo '$''{'ac_cv_func_fnmatch_works'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 2540,2546 ----
  
  
  echo $ac_n "checking for working fnmatch""... $ac_c" 1>&6
! echo "configure:2544: checking for working fnmatch" >&5
  if eval "test \"`echo '$''{'ac_cv_func_fnmatch_works'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
***************
*** 2561,2571 ****
    ac_cv_func_fnmatch_works=no
  else
    cat > conftest.$ac_ext <<EOF
! #line 2565 "configure"
  #include "confdefs.h"
  main() { exit (fnmatch ("a*", "abc", 0) != 0); }
  EOF
! if { (eval echo configure:2569: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
  then
    ac_cv_func_fnmatch_works=yes
  else
--- 2551,2561 ----
    ac_cv_func_fnmatch_works=no
  else
    cat > conftest.$ac_ext <<EOF
! #line 2555 "configure"
  #include "confdefs.h"
  main() { exit (fnmatch ("a*", "abc", 0) != 0); }
  EOF
! if { (eval echo configure:2559: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT} && (./conftest${EXE_EXT}; exit) 2>/dev/null
  then
    ac_cv_func_fnmatch_works=yes
  else
***************
*** 2593,2599 ****
  
  # Try to find connect and gethostbyname.
  echo $ac_n "checking for main in -lnsl""... $ac_c" 1>&6
! echo "configure:2597: checking for main in -lnsl" >&5
  ac_lib_var=`echo nsl'_'main | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
--- 2583,2589 ----
  
  # Try to find connect and gethostbyname.
  echo $ac_n "checking for main in -lnsl""... $ac_c" 1>&6
! echo "configure:2587: checking for main in -lnsl" >&5
  ac_lib_var=`echo nsl'_'main | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
***************
*** 2601,2614 ****
    ac_save_LIBS="$LIBS"
  LIBS="-lnsl  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2605 "configure"
  #include "confdefs.h"
  
  int main() {
  main()
  ; return 0; }
  EOF
! if { (eval echo configure:2612: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_lib_$ac_lib_var=yes"
  else
--- 2591,2604 ----
    ac_save_LIBS="$LIBS"
  LIBS="-lnsl  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2595 "configure"
  #include "confdefs.h"
  
  int main() {
  main()
  ; return 0; }
  EOF
! if { (eval echo configure:2602: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    eval "ac_cv_lib_$ac_lib_var=yes"
  else
***************
*** 2625,2638 ****
    echo "$ac_t""yes" 1>&6
    
  echo $ac_n "checking for library containing connect""... $ac_c" 1>&6
! echo "configure:2629: checking for library containing connect" >&5
  if eval "test \"`echo '$''{'ac_cv_search_connect'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    ac_func_search_save_LIBS="$LIBS"
  ac_cv_search_connect="no"
  cat > conftest.$ac_ext <<EOF
! #line 2636 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
--- 2615,2628 ----
    echo "$ac_t""yes" 1>&6
    
  echo $ac_n "checking for library containing connect""... $ac_c" 1>&6
! echo "configure:2619: checking for library containing connect" >&5
  if eval "test \"`echo '$''{'ac_cv_search_connect'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    ac_func_search_save_LIBS="$LIBS"
  ac_cv_search_connect="no"
  cat > conftest.$ac_ext <<EOF
! #line 2626 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
***************
*** 2643,2649 ****
  connect()
  ; return 0; }
  EOF
! if { (eval echo configure:2647: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_search_connect="none required"
  else
--- 2633,2639 ----
  connect()
  ; return 0; }
  EOF
! if { (eval echo configure:2637: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    ac_cv_search_connect="none required"
  else
***************
*** 2654,2660 ****
  test "$ac_cv_search_connect" = "no" && for i in xnet socket inet; do
  LIBS="-l$i -lnsl $ac_func_search_save_LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2658 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
--- 2644,2650 ----
  test "$ac_cv_search_connect" = "no" && for i in xnet socket inet; do
  LIBS="-l$i -lnsl $ac_func_search_save_LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2648 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
***************
*** 2665,2671 ****
  connect()
  ; return 0; }
  EOF
! if { (eval echo configure:2669: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_search_connect="-l$i"
  break
--- 2655,2661 ----
  connect()
  ; return 0; }
  EOF
! if { (eval echo configure:2659: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    ac_cv_search_connect="-l$i"
  break
***************
*** 2692,2705 ****
    echo "$ac_t""no" 1>&6
  
  echo $ac_n "checking for library containing connect""... $ac_c" 1>&6
! echo "configure:2696: checking for library containing connect" >&5
  if eval "test \"`echo '$''{'ac_cv_search_connect'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    ac_func_search_save_LIBS="$LIBS"
  ac_cv_search_connect="no"
  cat > conftest.$ac_ext <<EOF
! #line 2703 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
--- 2682,2695 ----
    echo "$ac_t""no" 1>&6
  
  echo $ac_n "checking for library containing connect""... $ac_c" 1>&6
! echo "configure:2686: checking for library containing connect" >&5
  if eval "test \"`echo '$''{'ac_cv_search_connect'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    ac_func_search_save_LIBS="$LIBS"
  ac_cv_search_connect="no"
  cat > conftest.$ac_ext <<EOF
! #line 2693 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
***************
*** 2710,2716 ****
  connect()
  ; return 0; }
  EOF
! if { (eval echo configure:2714: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_search_connect="none required"
  else
--- 2700,2706 ----
  connect()
  ; return 0; }
  EOF
! if { (eval echo configure:2704: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    ac_cv_search_connect="none required"
  else
***************
*** 2721,2727 ****
  test "$ac_cv_search_connect" = "no" && for i in xnet socket inet; do
  LIBS="-l$i  $ac_func_search_save_LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2725 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
--- 2711,2717 ----
  test "$ac_cv_search_connect" = "no" && for i in xnet socket inet; do
  LIBS="-l$i  $ac_func_search_save_LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2715 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
***************
*** 2732,2738 ****
  connect()
  ; return 0; }
  EOF
! if { (eval echo configure:2736: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_search_connect="-l$i"
  break
--- 2722,2728 ----
  connect()
  ; return 0; }
  EOF
! if { (eval echo configure:2726: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    ac_cv_search_connect="-l$i"
  break
***************
*** 2759,2772 ****
  
  
  echo $ac_n "checking for library containing gethostbyname""... $ac_c" 1>&6
! echo "configure:2763: checking for library containing gethostbyname" >&5
  if eval "test \"`echo '$''{'ac_cv_search_gethostbyname'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    ac_func_search_save_LIBS="$LIBS"
  ac_cv_search_gethostbyname="no"
  cat > conftest.$ac_ext <<EOF
! #line 2770 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
--- 2749,2762 ----
  
  
  echo $ac_n "checking for library containing gethostbyname""... $ac_c" 1>&6
! echo "configure:2753: checking for library containing gethostbyname" >&5
  if eval "test \"`echo '$''{'ac_cv_search_gethostbyname'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    ac_func_search_save_LIBS="$LIBS"
  ac_cv_search_gethostbyname="no"
  cat > conftest.$ac_ext <<EOF
! #line 2760 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
***************
*** 2777,2783 ****
  gethostbyname()
  ; return 0; }
  EOF
! if { (eval echo configure:2781: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_search_gethostbyname="none required"
  else
--- 2767,2773 ----
  gethostbyname()
  ; return 0; }
  EOF
! if { (eval echo configure:2771: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    ac_cv_search_gethostbyname="none required"
  else
***************
*** 2788,2794 ****
  test "$ac_cv_search_gethostbyname" = "no" && for i in netinet nsl; do
  LIBS="-l$i  $ac_func_search_save_LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2792 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
--- 2778,2784 ----
  test "$ac_cv_search_gethostbyname" = "no" && for i in netinet nsl; do
  LIBS="-l$i  $ac_func_search_save_LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2782 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
***************
*** 2799,2805 ****
  gethostbyname()
  ; return 0; }
  EOF
! if { (eval echo configure:2803: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_search_gethostbyname="-l$i"
  break
--- 2789,2795 ----
  gethostbyname()
  ; return 0; }
  EOF
! if { (eval echo configure:2793: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    ac_cv_search_gethostbyname="-l$i"
  break
***************
*** 2822,2827 ****
--- 2812,2818 ----
  
  KRB4=/usr/kerberos
  
+ 
  # Check whether --with-krb4 or --without-krb4 was given.
  if test "${with_krb4+set}" = set; then
    withval="$with_krb4"
***************
*** 2832,2850 ****
  
  krb_h=
  echo $ac_n "checking for krb.h""... $ac_c" 1>&6
! echo "configure:2836: checking for krb.h" >&5
  if test "$cross_compiling" != yes && test -r $KRB4/include/krb.h; then
     hold_cflags=$CFLAGS
     CFLAGS="$CFLAGS -I$KRB4/include"
     cat > conftest.$ac_ext <<EOF
! #line 2841 "configure"
  #include "confdefs.h"
  #include <krb.h>
  int main() {
  int i;
  ; return 0; }
  EOF
! if { (eval echo configure:2848: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    krb_h=yes krb_incdir=$KRB4/include
  else
--- 2823,2841 ----
  
  krb_h=
  echo $ac_n "checking for krb.h""... $ac_c" 1>&6
! echo "configure:2827: checking for krb.h" >&5
  if test "$cross_compiling" != yes && test -r $KRB4/include/krb.h; then
     hold_cflags=$CFLAGS
     CFLAGS="$CFLAGS -I$KRB4/include"
     cat > conftest.$ac_ext <<EOF
! #line 2832 "configure"
  #include "confdefs.h"
  #include <krb.h>
  int main() {
  int i;
  ; return 0; }
  EOF
! if { (eval echo configure:2839: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    krb_h=yes krb_incdir=$KRB4/include
  else
***************
*** 2853,2866 ****
    rm -rf conftest*
    CFLAGS=$hold_cflags
             cat > conftest.$ac_ext <<EOF
! #line 2857 "configure"
  #include "confdefs.h"
  #include <krb.h>
  int main() {
  int i;
  ; return 0; }
  EOF
! if { (eval echo configure:2864: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    krb_h=yes krb_incdir=
  else
--- 2844,2857 ----
    rm -rf conftest*
    CFLAGS=$hold_cflags
             cat > conftest.$ac_ext <<EOF
! #line 2848 "configure"
  #include "confdefs.h"
  #include <krb.h>
  int main() {
  int i;
  ; return 0; }
  EOF
! if { (eval echo configure:2855: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    krb_h=yes krb_incdir=
  else
***************
*** 2873,2886 ****
     CFLAGS=$hold_cflags
  else
     cat > conftest.$ac_ext <<EOF
! #line 2877 "configure"
  #include "confdefs.h"
  #include <krb.h>
  int main() {
  int i;
  ; return 0; }
  EOF
! if { (eval echo configure:2884: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    krb_h=yes krb_incdir=
  else
--- 2864,2877 ----
     CFLAGS=$hold_cflags
  else
     cat > conftest.$ac_ext <<EOF
! #line 2868 "configure"
  #include "confdefs.h"
  #include <krb.h>
  int main() {
  int i;
  ; return 0; }
  EOF
! if { (eval echo configure:2875: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    krb_h=yes krb_incdir=
  else
***************
*** 2891,2904 ****
  fi
  if test -z "$krb_h"; then
    cat > conftest.$ac_ext <<EOF
! #line 2895 "configure"
  #include "confdefs.h"
  #include <krb.h>
  int main() {
  int i;
  ; return 0; }
  EOF
! if { (eval echo configure:2902: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    krb_h=yes krb_incdir=
  else
--- 2882,2895 ----
  fi
  if test -z "$krb_h"; then
    cat > conftest.$ac_ext <<EOF
! #line 2886 "configure"
  #include "confdefs.h"
  #include <krb.h>
  int main() {
  int i;
  ; return 0; }
  EOF
! if { (eval echo configure:2893: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    krb_h=yes krb_incdir=
  else
***************
*** 2909,2922 ****
         hold_cflags=$CFLAGS
         CFLAGS="$CFLAGS -I$KRB4/include/kerberosIV"
         cat > conftest.$ac_ext <<EOF
! #line 2913 "configure"
  #include "confdefs.h"
  #include <krb.h>
  int main() {
  int i;
  ; return 0; }
  EOF
! if { (eval echo configure:2920: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    krb_h=yes krb_incdir=$KRB4/include/kerberosIV
  else
--- 2900,2913 ----
         hold_cflags=$CFLAGS
         CFLAGS="$CFLAGS -I$KRB4/include/kerberosIV"
         cat > conftest.$ac_ext <<EOF
! #line 2904 "configure"
  #include "confdefs.h"
  #include <krb.h>
  int main() {
  int i;
  ; return 0; }
  EOF
! if { (eval echo configure:2911: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    krb_h=yes krb_incdir=$KRB4/include/kerberosIV
  else
***************
*** 2939,2945 ****
         hold_ldflags=$LDFLAGS
         LDFLAGS="-L${KRB4}/lib $LDFLAGS"
         echo $ac_n "checking for printf in -lkrb""... $ac_c" 1>&6
! echo "configure:2943: checking for printf in -lkrb" >&5
  ac_lib_var=`echo krb'_'printf | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
--- 2930,2936 ----
         hold_ldflags=$LDFLAGS
         LDFLAGS="-L${KRB4}/lib $LDFLAGS"
         echo $ac_n "checking for printf in -lkrb""... $ac_c" 1>&6
! echo "configure:2934: checking for printf in -lkrb" >&5
  ac_lib_var=`echo krb'_'printf | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
***************
*** 2947,2953 ****
    ac_save_LIBS="$LIBS"
  LIBS="-lkrb  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2951 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
--- 2938,2944 ----
    ac_save_LIBS="$LIBS"
  LIBS="-lkrb  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2942 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
***************
*** 2958,2964 ****
  printf()
  ; return 0; }
  EOF
! if { (eval echo configure:2962: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_lib_$ac_lib_var=yes"
  else
--- 2949,2955 ----
  printf()
  ; return 0; }
  EOF
! if { (eval echo configure:2953: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    eval "ac_cv_lib_$ac_lib_var=yes"
  else
***************
*** 2980,2986 ****
              # Using open here instead of printf so we don't
              # get confused by the cached value for printf from above.
              echo $ac_n "checking for open in -lkrb""... $ac_c" 1>&6
! echo "configure:2984: checking for open in -lkrb" >&5
  ac_lib_var=`echo krb'_'open | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
--- 2971,2977 ----
              # Using open here instead of printf so we don't
              # get confused by the cached value for printf from above.
              echo $ac_n "checking for open in -lkrb""... $ac_c" 1>&6
! echo "configure:2975: checking for open in -lkrb" >&5
  ac_lib_var=`echo krb'_'open | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
***************
*** 2988,2994 ****
    ac_save_LIBS="$LIBS"
  LIBS="-lkrb  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2992 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
--- 2979,2985 ----
    ac_save_LIBS="$LIBS"
  LIBS="-lkrb  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2983 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
***************
*** 2999,3005 ****
  open()
  ; return 0; }
  EOF
! if { (eval echo configure:3003: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_lib_$ac_lib_var=yes"
  else
--- 2990,2996 ----
  open()
  ; return 0; }
  EOF
! if { (eval echo configure:2994: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    eval "ac_cv_lib_$ac_lib_var=yes"
  else
***************
*** 3024,3030 ****
         LDFLAGS=$hold_ldflags
    else
         echo $ac_n "checking for printf in -lkrb""... $ac_c" 1>&6
! echo "configure:3028: checking for printf in -lkrb" >&5
  ac_lib_var=`echo krb'_'printf | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
--- 3015,3021 ----
         LDFLAGS=$hold_ldflags
    else
         echo $ac_n "checking for printf in -lkrb""... $ac_c" 1>&6
! echo "configure:3019: checking for printf in -lkrb" >&5
  ac_lib_var=`echo krb'_'printf | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
***************
*** 3032,3038 ****
    ac_save_LIBS="$LIBS"
  LIBS="-lkrb  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 3036 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
--- 3023,3029 ----
    ac_save_LIBS="$LIBS"
  LIBS="-lkrb  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 3027 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
***************
*** 3043,3049 ****
  printf()
  ; return 0; }
  EOF
! if { (eval echo configure:3047: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_lib_$ac_lib_var=yes"
  else
--- 3034,3040 ----
  printf()
  ; return 0; }
  EOF
! if { (eval echo configure:3038: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    eval "ac_cv_lib_$ac_lib_var=yes"
  else
***************
*** 3077,3083 ****
      hold_ldflags=$LDFLAGS
      test -n "${krb_libdir}" && LDFLAGS="$LDFLAGS -L${krb_libdir}"
      echo $ac_n "checking for printf in -ldes""... $ac_c" 1>&6
! echo "configure:3081: checking for printf in -ldes" >&5
  ac_lib_var=`echo des'_'printf | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
--- 3068,3074 ----
      hold_ldflags=$LDFLAGS
      test -n "${krb_libdir}" && LDFLAGS="$LDFLAGS -L${krb_libdir}"
      echo $ac_n "checking for printf in -ldes""... $ac_c" 1>&6
! echo "configure:3072: checking for printf in -ldes" >&5
  ac_lib_var=`echo des'_'printf | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
***************
*** 3085,3091 ****
    ac_save_LIBS="$LIBS"
  LIBS="-ldes  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 3089 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
--- 3076,3082 ----
    ac_save_LIBS="$LIBS"
  LIBS="-ldes  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 3080 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
***************
*** 3096,3102 ****
  printf()
  ; return 0; }
  EOF
! if { (eval echo configure:3100: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_lib_$ac_lib_var=yes"
  else
--- 3087,3093 ----
  printf()
  ; return 0; }
  EOF
! if { (eval echo configure:3091: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    eval "ac_cv_lib_$ac_lib_var=yes"
  else
***************
*** 3125,3136 ****
  for ac_func in krb_get_err_text
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
! echo "configure:3129: checking for $ac_func" >&5
  if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 3134 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char $ac_func(); below.  */
--- 3116,3127 ----
  for ac_func in krb_get_err_text
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
! echo "configure:3120: checking for $ac_func" >&5
  if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 3125 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char $ac_func(); below.  */
***************
*** 3153,3159 ****
  
  ; return 0; }
  EOF
! if { (eval echo configure:3157: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_$ac_func=yes"
  else
--- 3144,3150 ----
  
  ; return 0; }
  EOF
! if { (eval echo configure:3148: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    eval "ac_cv_func_$ac_func=yes"
  else
***************
*** 3180,3185 ****
--- 3171,3177 ----
  
  GSSAPI=/usr/cygnus/kerbnet
  
+ 
  # Check whether --with-gssapi or --without-gssapi was given.
  if test "${with_gssapi+set}" = set; then
    withval="$with_gssapi"
***************
*** 3194,3211 ****
  do
  ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
  echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
! echo "configure:3198: checking for $ac_hdr" >&5
  if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 3203 "configure"
  #include "confdefs.h"
  #include <$ac_hdr>
  EOF
  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
! { (eval echo configure:3208: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
! ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
  if test -z "$ac_err"; then
    rm -rf conftest*
    eval "ac_cv_header_$ac_safe=yes"
--- 3186,3204 ----
  do
  ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
  echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
! echo "configure:3190: checking for $ac_hdr" >&5
  if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #include <sys/types.h>
! #line 3196 "configure"
  #include "confdefs.h"
  #include <$ac_hdr>
  EOF
  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
! { (eval echo configure:3201: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
! ac_err=`grep -v '^ *+' conftest.out`
  if test -z "$ac_err"; then
    rm -rf conftest*
    eval "ac_cv_header_$ac_safe=yes"
***************
*** 3244,3256 ****
    if test "$ac_cv_header_gssapi_h" = "yes"; then
      LIBS="$LIBS -L$GSSAPI/lib -lgssapi -lkrb5 -lasn1 -ldes -lroken"
    else
!     LIBS="$LIBS -L$GSSAPI/lib -lgssapi_krb5 -lkrb5 -lcrypto -lcom_err"
    fi
    save_CPPFLAGS=$CPPFLAGS
    CPPFLAGS="-I$GSSAPI/include $CPPFLAGS"
    if test "$ac_cv_header_gssapi_h" = "yes"; then
      cat > conftest.$ac_ext <<EOF
! #line 3254 "configure"
  #include "confdefs.h"
  #include <gssapi.h>
  EOF
--- 3237,3249 ----
    if test "$ac_cv_header_gssapi_h" = "yes"; then
      LIBS="$LIBS -L$GSSAPI/lib -lgssapi -lkrb5 -lasn1 -ldes -lroken"
    else
!     LIBS="$LIBS -L$GSSAPI/lib -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err"
    fi
    save_CPPFLAGS=$CPPFLAGS
    CPPFLAGS="-I$GSSAPI/include $CPPFLAGS"
    if test "$ac_cv_header_gssapi_h" = "yes"; then
      cat > conftest.$ac_ext <<EOF
! #line 3247 "configure"
  #include "confdefs.h"
  #include <gssapi.h>
  EOF
***************
*** 3266,3272 ****
  
    else
      cat > conftest.$ac_ext <<EOF
! #line 3270 "configure"
  #include "confdefs.h"
  #include <gssapi/gssapi.h>
  EOF
--- 3259,3265 ----
  
    else
      cat > conftest.$ac_ext <<EOF
! #line 3263 "configure"
  #include "confdefs.h"
  #include <gssapi/gssapi.h>
  EOF
***************
*** 3285,3291 ****
    # This is necessary on Irix 5.3, in order to link against libkrb5 --
    # there, an_to_ln.o refers to things defined only in -lgen.
    echo $ac_n "checking for compile in -lgen""... $ac_c" 1>&6
! echo "configure:3289: checking for compile in -lgen" >&5
  ac_lib_var=`echo gen'_'compile | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
--- 3278,3284 ----
    # This is necessary on Irix 5.3, in order to link against libkrb5 --
    # there, an_to_ln.o refers to things defined only in -lgen.
    echo $ac_n "checking for compile in -lgen""... $ac_c" 1>&6
! echo "configure:3282: checking for compile in -lgen" >&5
  ac_lib_var=`echo gen'_'compile | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
***************
*** 3293,3299 ****
    ac_save_LIBS="$LIBS"
  LIBS="-lgen  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 3297 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
--- 3286,3292 ----
    ac_save_LIBS="$LIBS"
  LIBS="-lgen  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 3290 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
***************
*** 3304,3310 ****
  compile()
  ; return 0; }
  EOF
! if { (eval echo configure:3308: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_lib_$ac_lib_var=yes"
  else
--- 3297,3303 ----
  compile()
  ; return 0; }
  EOF
! if { (eval echo configure:3301: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    eval "ac_cv_lib_$ac_lib_var=yes"
  else
***************
*** 3333,3338 ****
--- 3326,3332 ----
  
  fi
  
+ 
  # Check whether --enable-encryption or --disable-encryption was given.
  if test "${enable_encryption+set}" = set; then
    enableval="$enable_encryption"
***************
*** 3353,3364 ****
  fi
  
  echo $ac_n "checking for gethostname""... $ac_c" 1>&6
! echo "configure:3357: checking for gethostname" >&5
  if eval "test \"`echo '$''{'ac_cv_func_gethostname'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 3362 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char gethostname(); below.  */
--- 3347,3358 ----
  fi
  
  echo $ac_n "checking for gethostname""... $ac_c" 1>&6
! echo "configure:3351: checking for gethostname" >&5
  if eval "test \"`echo '$''{'ac_cv_func_gethostname'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 3356 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char gethostname(); below.  */
***************
*** 3381,3387 ****
  
  ; return 0; }
  EOF
! if { (eval echo configure:3385: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_gethostname=yes"
  else
--- 3375,3381 ----
  
  ; return 0; }
  EOF
! if { (eval echo configure:3379: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    eval "ac_cv_func_gethostname=yes"
  else
***************
*** 3404,3409 ****
--- 3398,3404 ----
  
  # Check for options requesting client and server feature. If none are
  # given and we have connect(), we want the full client & server arrangement.
+ 
  # Check whether --enable-client or --disable-client was given.
  if test "${enable_client+set}" = set; then
    enableval="$enable_client"
***************
*** 3422,3427 ****
--- 3417,3423 ----
  fi
  fi
  
+ 
  # Check whether --enable-server or --disable-server was given.
  if test "${enable_server+set}" = set; then
    enableval="$enable_server"
***************
*** 3446,3459 ****
  if test "$enable_server" = yes; then
  
  echo $ac_n "checking for library containing crypt""... $ac_c" 1>&6
! echo "configure:3450: checking for library containing crypt" >&5
  if eval "test \"`echo '$''{'ac_cv_search_crypt'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    ac_func_search_save_LIBS="$LIBS"
  ac_cv_search_crypt="no"
  cat > conftest.$ac_ext <<EOF
! #line 3457 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
--- 3442,3455 ----
  if test "$enable_server" = yes; then
  
  echo $ac_n "checking for library containing crypt""... $ac_c" 1>&6
! echo "configure:3446: checking for library containing crypt" >&5
  if eval "test \"`echo '$''{'ac_cv_search_crypt'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    ac_func_search_save_LIBS="$LIBS"
  ac_cv_search_crypt="no"
  cat > conftest.$ac_ext <<EOF
! #line 3453 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
***************
*** 3464,3470 ****
  crypt()
  ; return 0; }
  EOF
! if { (eval echo configure:3468: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_search_crypt="none required"
  else
--- 3460,3466 ----
  crypt()
  ; return 0; }
  EOF
! if { (eval echo configure:3464: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    ac_cv_search_crypt="none required"
  else
***************
*** 3475,3481 ****
  test "$ac_cv_search_crypt" = "no" && for i in crypt; do
  LIBS="-l$i  $ac_func_search_save_LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 3479 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
--- 3471,3477 ----
  test "$ac_cv_search_crypt" = "no" && for i in crypt; do
  LIBS="-l$i  $ac_func_search_save_LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 3475 "configure"
  #include "confdefs.h"
  /* Override any gcc2 internal prototype to avoid an error.  */
  /* We use char because int might match the return type of a gcc2
***************
*** 3486,3492 ****
  crypt()
  ; return 0; }
  EOF
! if { (eval echo configure:3490: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_search_crypt="-l$i"
  break
--- 3482,3488 ----
  crypt()
  ; return 0; }
  EOF
! if { (eval echo configure:3486: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${EXE_EXT}; then
    rm -rf conftest*
    ac_cv_search_crypt="-l$i"
  break
***************
*** 3516,3534 ****
  
  
  echo $ac_n "checking for cygwin32""... $ac_c" 1>&6
! echo "configure:3520: checking for cygwin32" >&5
  if eval "test \"`echo '$''{'ccvs_cv_sys_cygwin32'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 3525 "configure"
  #include "confdefs.h"
  
  int main() {
  return __CYGWIN32__;
  ; return 0; }
  EOF
! if { (eval echo configure:3532: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    ccvs_cv_sys_cygwin32=yes
  else
--- 3512,3530 ----
  
  
  echo $ac_n "checking for cygwin32""... $ac_c" 1>&6
! echo "configure:3516: checking for cygwin32" >&5
  if eval "test \"`echo '$''{'ccvs_cv_sys_cygwin32'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 3521 "configure"
  #include "confdefs.h"
  
  int main() {
  return __CYGWIN32__;
  ; return 0; }
  EOF
! if { (eval echo configure:3528: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    ccvs_cv_sys_cygwin32=yes
  else
***************
*** 3590,3596 ****
  # Ultrix sh set writes to stderr and can't be redirected directly,
  # and sets the high bit in the cache file unless we assign to the vars.
  (set) 2>&1 |
!   case `(ac_space=' '; set | grep ac_space) 2>&1` in
    *ac_space=\ *)
      # `set' does not quote correctly, so add quotes (double-quote substitution
      # turns \\\\ into \\, and sed turns \\ into \).
--- 3586,3592 ----
  # Ultrix sh set writes to stderr and can't be redirected directly,
  # and sets the high bit in the cache file unless we assign to the vars.
  (set) 2>&1 |
!   case `(ac_space=' '; set) 2>&1` in
    *ac_space=\ *)
      # `set' does not quote correctly, so add quotes (double-quote substitution
      # turns \\\\ into \\, and sed turns \\ into \).
***************
*** 3642,3647 ****
--- 3638,3646 ----
  # Generated automatically by configure.
  # Run this file to recreate the current configuration.
  # This directory was configured as follows,
+ EOF
+ echo ': ${CONFIG_SHELL='"${CONFIG_SHELL-/bin/sh}"'}' >> $CONFIG_STATUS
+ cat >> $CONFIG_STATUS <<EOF
  # on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
  #
  # $0 $ac_configure_args
***************
*** 3657,3663 ****
      echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
      exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
    -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
!     echo "$CONFIG_STATUS generated by autoconf version 2.13"
      exit 0 ;;
    -help | --help | --hel | --he | --h)
      echo "\$ac_cs_usage"; exit 0 ;;
--- 3656,3662 ----
      echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
      exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
    -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
!     echo "$CONFIG_STATUS generated by autoconf version 2.12.971230.pl1"
      exit 0 ;;
    -help | --help | --hel | --he | --h)
      echo "\$ac_cs_usage"; exit 0 ;;
***************
*** 3682,3692 ****
   s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
  $ac_vpsub
  $extrasub
! s%@SHELL@%$SHELL%g
  s%@CFLAGS@%$CFLAGS%g
  s%@CPPFLAGS@%$CPPFLAGS%g
  s%@CXXFLAGS@%$CXXFLAGS%g
- s%@FFLAGS@%$FFLAGS%g
  s%@DEFS@%$DEFS%g
  s%@LDFLAGS@%$LDFLAGS%g
  s%@LIBS@%$LIBS%g
--- 3681,3694 ----
   s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
  $ac_vpsub
  $extrasub
! s,/bin/sh,${CONFIG_SHELL-/bin/sh},g
! s%@EXE_EXT@%$EXE_EXT%g
! s%@LIB_EXT@%$LIB_EXT%g
! s%@LIB_PRE@%$LIB_PRE%g
! s%@OBJ_EXT@%$OBJ_EXT%g
  s%@CFLAGS@%$CFLAGS%g
  s%@CPPFLAGS@%$CPPFLAGS%g
  s%@CXXFLAGS@%$CXXFLAGS%g
  s%@DEFS@%$DEFS%g
  s%@LDFLAGS@%$LDFLAGS%g
  s%@LIBS@%$LIBS%g
***************
*** 3709,3715 ****
  s%@AWK@%$AWK%g
  s%@CC@%$CC%g
  s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
- s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
  s%@INSTALL_DATA@%$INSTALL_DATA%g
  s%@SET_MAKE@%$SET_MAKE%g
  s%@RANLIB@%$RANLIB%g
--- 3711,3716 ----
***************
*** 3796,3809 ****
    .)  srcdir=.
        if test -z "$ac_dots"; then top_srcdir=.
        else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
!   /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
    *) # Relative path.
      srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
      top_srcdir="$ac_dots$ac_given_srcdir" ;;
    esac
  
    case "$ac_given_INSTALL" in
!   [/$]*) INSTALL="$ac_given_INSTALL" ;;
    *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
    esac
  
--- 3797,3812 ----
    .)  srcdir=.
        if test -z "$ac_dots"; then top_srcdir=.
        else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
!   /*|[A-Za-z]:*)
!       srcdir="$ac_given_srcdir$ac_dir_suffix"; 
!       top_srcdir="$ac_given_srcdir" ;;
    *) # Relative path.
      srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
      top_srcdir="$ac_dots$ac_given_srcdir" ;;
    esac
  
    case "$ac_given_INSTALL" in
!   [/$]*|[A-Za-z]:* ) INSTALL="$ac_given_INSTALL" ;;
    *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
    esac
  
***************
*** 3868,3873 ****
--- 3871,3877 ----
  
  EOF
  
+ 
  # Transform confdefs.h into a sed script conftest.vals that substitutes
  # the proper values into config.h.in to produce config.h.  And first:
  # Protect against being on the right side of a sed subst in config.status.
***************
*** 3913,3918 ****
--- 3917,3923 ----
  done
  rm -f conftest.vals
  
+ 
  cat >> $CONFIG_STATUS <<\EOF
    rm -f conftest.frag conftest.h
    echo "/* $ac_file.  Generated automatically by configure.  */" > conftest.h
***************
*** 3935,3943 ****
--- 3940,3950 ----
  
  EOF
  cat >> $CONFIG_STATUS <<EOF
+ # Extra initialization commands, if any
  
  EOF
  cat >> $CONFIG_STATUS <<\EOF
+ # Extra initialization commands, if any
  
  exit 0
  EOF
Index: configure.in
===================================================================
RCS file: e:/reposit/gnu/cvs/configure.in,v
retrieving revision 1.1.1.2
retrieving revision 1.1.3.1.4.2
diff -c -r1.1.1.2 -r1.1.3.1.4.2
*** configure.in	2000/12/19 16:57:13	1.1.1.2
--- configure.in	2001/01/01 15:50:53	1.1.3.1.4.2
***************
*** 209,215 ****
    if test "$ac_cv_header_gssapi_h" = "yes"; then
      LIBS="$LIBS -L$GSSAPI/lib -lgssapi -lkrb5 -lasn1 -ldes -lroken"
    else
!     LIBS="$LIBS -L$GSSAPI/lib -lgssapi_krb5 -lkrb5 -lcrypto -lcom_err"
    fi
    save_CPPFLAGS=$CPPFLAGS
    CPPFLAGS="-I$GSSAPI/include $CPPFLAGS"
--- 209,215 ----
    if test "$ac_cv_header_gssapi_h" = "yes"; then
      LIBS="$LIBS -L$GSSAPI/lib -lgssapi -lkrb5 -lasn1 -ldes -lroken"
    else
!     LIBS="$LIBS -L$GSSAPI/lib -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err"
    fi
    save_CPPFLAGS=$CPPFLAGS
    CPPFLAGS="-I$GSSAPI/include $CPPFLAGS"
Index: install-sh
===================================================================
RCS file: e:/reposit/gnu/cvs/install-sh,v
retrieving revision 1.1.1.2
retrieving revision 1.1.3.1.4.1
diff -c -r1.1.1.2 -r1.1.3.1.4.1
*** install-sh	2000/12/19 16:57:19	1.1.1.2
--- install-sh	2000/12/19 17:07:35	1.1.3.1.4.1
***************
*** 1,16 ****
! #!/bin/sh
  #
  # install - install a program, script, or datafile
! # This comes from X11R5.
  #
  # Calling this script install-sh is preferred over install.sh, to prevent
  # `make' implicit rules from creating a file called install from it
  # when there is no Makefile.
  #
  # This script is compatible with the BSD install script, but was written
! # from scratch.
! #
! #
  
  
  # set DOITPROG to echo to test this script
--- 1,27 ----
! #! /bin/sh
  #
  # install - install a program, script, or datafile
! # This comes from X11R5 (mit/util/scripts/install.sh).
  #
+ # Copyright 1991 by the Massachusetts Institute of Technology
+ #
+ # Permission to use, copy, modify, distribute, and sell this software and its
+ # documentation for any purpose is hereby granted without fee, provided that
+ # the above copyright notice appear in all copies and that both that
+ # copyright notice and this permission notice appear in supporting
+ # documentation, and that the name of M.I.T. not be used in advertising or
+ # publicity pertaining to distribution of the software without specific,
+ # written prior permission.  M.I.T. makes no representations about the
+ # suitability of this software for any purpose.  It is provided "as is"
+ # without express or implied warranty.
+ #
  # Calling this script install-sh is preferred over install.sh, to prevent
  # `make' implicit rules from creating a file called install from it
  # when there is no Makefile.
  #
  # This script is compatible with the BSD install script, but was written
! # from scratch.  It can only install one file at a time, a restriction
! # shared with many OS's install programs.
  
  
  # set DOITPROG to echo to test this script
***************
*** 30,36 ****
  rmprog="${RMPROG-rm}"
  mkdirprog="${MKDIRPROG-mkdir}"
  
! tranformbasename=""
  transform_arg=""
  instcmd="$mvprog"
  chmodcmd="$chmodprog 0755"
--- 41,47 ----
  rmprog="${RMPROG-rm}"
  mkdirprog="${MKDIRPROG-mkdir}"
  
! transformbasename=""
  transform_arg=""
  instcmd="$mvprog"
  chmodcmd="$chmodprog 0755"
Index: mkinstalldirs
===================================================================
RCS file: e:/reposit/gnu/cvs/mkinstalldirs,v
retrieving revision 1.1.1.2
retrieving revision 1.1.3.1.4.2
diff -c -r1.1.1.2 -r1.1.3.1.4.2
*** mkinstalldirs	2000/12/19 16:57:20	1.1.1.2
--- mkinstalldirs	2001/01/01 15:50:54	1.1.3.1.4.2
***************
*** 1,19 ****
! #!/bin/sh
  # mkinstalldirs --- make directory hierarchy
  # Author: Noah Friedman <friedman@prep.ai.mit.edu>
  # Created: 1993-05-16
- # Last modified: 1994-03-25
  # Public domain
- #
  
  errstatus=0
  
! for file in ${1+"$@"} ; do 
!    set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
     shift
  
     pathcomp=
!    for d in ${1+"$@"} ; do
       pathcomp="$pathcomp$d"
       case "$pathcomp" in
         -* ) pathcomp=./$pathcomp ;;
--- 1,21 ----
! #! /bin/sh
  # mkinstalldirs --- make directory hierarchy
  # Author: Noah Friedman <friedman@prep.ai.mit.edu>
  # Created: 1993-05-16
  # Public domain
  
+ # $Id: mkinstalldirs,v 1.1.3.1.4.2 2001/01/01 15:50:54 root Exp $
+ 
  errstatus=0
  
! for file
! do
!    set fnord `echo "$file" | sed -ne 's,//,/,g;s,^/,:,;s,:/,::,;s,/, ,g;s,::,:/,;s,^:,/,;p'`
     shift
  
     pathcomp=
!    for d
!    do
       pathcomp="$pathcomp$d"
       case "$pathcomp" in
         -* ) pathcomp=./$pathcomp ;;
***************
*** 21,27 ****
  
       if test ! -d "$pathcomp"; then
          echo "mkdir $pathcomp" 1>&2
!         mkdir "$pathcomp" || errstatus=$?
       fi
  
       pathcomp="$pathcomp/"
--- 23,34 ----
  
       if test ! -d "$pathcomp"; then
          echo "mkdir $pathcomp" 1>&2
! 
!         mkdir "$pathcomp" || lasterr=$?
! 
!         if test ! -d "$pathcomp"; then
!         errstatus=$lasterr
!         fi
       fi
  
       pathcomp="$pathcomp/"
Index: contrib/rcs2log.sh
===================================================================
RCS file: e:/reposit/gnu/cvs/contrib/rcs2log.sh,v
retrieving revision 1.1.1.2
retrieving revision 1.1.3.2.4.2
diff -c -r1.1.1.2 -r1.1.3.2.4.2
*** contrib/rcs2log.sh	1999/07/12 02:04:33	1.1.1.2
--- contrib/rcs2log.sh	2001/01/01 15:50:57	1.1.3.2.4.2
***************
*** 28,34 ****
  
  Report bugs to <bug-gnu-emacs@gnu.org>.'
  
! Id='$Id: rcs2log.sh,v 1.1.1.2 1999/07/12 02:04:33 root Exp $'
  
  # Copyright 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
  
--- 28,34 ----
  
  Report bugs to <bug-gnu-emacs@gnu.org>.'
  
! Id='$Id: rcs2log.sh,v 1.1.3.2.4.2 2001/01/01 15:50:57 root Exp $'
  
  # Copyright 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
  
***************
*** 300,307 ****
  	esac
  esac
  
! llogout=$TMPDIR/rcs2log$$l
! rlogout=$TMPDIR/rcs2log$$r
  trap exit 1 2 13 15
  trap "rm -f $llogout $rlogout; exit 1" 0
  
--- 300,307 ----
  	esac
  esac
  
! llogout="`/bin/mktemp $TMPDIR/rcs2log.l.XXXXXX`"
! rlogout="`/bin/mktemp $TMPDIR/rcs2log.r.XXXXXX`"
  trap exit 1 2 13 15
  trap "rm -f $llogout $rlogout; exit 1" 0
  
Index: diff/ChangeLog
===================================================================
RCS file: e:/reposit/gnu/cvs/diff/ChangeLog,v
retrieving revision 1.1.1.3
retrieving revision 1.1.3.2.4.1
diff -c -r1.1.1.3 -r1.1.3.2.4.1
*** diff/ChangeLog	2000/12/19 16:57:29	1.1.1.3
--- diff/ChangeLog	2001/01/01 15:50:58	1.1.3.2.4.1
***************
*** 1,3 ****
--- 1,15 ----
+ 2000-12-20  Andrew Belov  <andrew_belov@mtu-net.ru>
+ 
+ 	* util.c, diff3.c, diff.c: Updated to version 1.11
+ 
+ 2000-12-19  Andrew Belov  <andrew_belov@mtu-net.ru>
+ 
+ 	* util.c, diff.c, diff3.c: Imported the 1.11 release
+ 
+ 2000-12-03  Andrew Belov  <andrew_belov@mtu-net.ru>
+ 
+ 	* diff.c: Applied the Halibut patches
+ 
  2000-08-03  Larry Jones  <larry.jones@sdrc.com>
  
  	* diff3.c (read_diff): Use cvs_temp_name () instead of tmpnam () so
Index: diff/diff.c
===================================================================
RCS file: e:/reposit/gnu/cvs/diff/diff.c,v
retrieving revision 1.1.1.3
retrieving revision 1.1.3.2.4.2
diff -c -r1.1.1.3 -r1.1.3.2.4.2
*** diff/diff.c	2000/12/19 16:57:30	1.1.1.3
--- diff/diff.c	2001/01/01 15:50:58	1.1.3.2.4.2
***************
*** 1009,1014 ****
--- 1009,1030 ----
  	  else
  	    stat_result = stat (inf[i].name, &inf[i].stat);
  
+ 	  /* EMX bug - we can't stat("nul",&sb),
+ 	   * (but can fd = open("nul",...), fstat(fd,&sb)
+ 	   * - but that doesn't really help us pass death2-diff-2 in sanity.sh
+ 	   * The kludge below is from the emx port of GNU diffutils
+ 	   */
+ #ifdef __EMX__
+          /* HACK: Treat 'nul' as a nonexistent file. */
+          if (stat_result != 0 && errno == EINVAL
+ 	  && stricmp (inf[i].name, "nul") == 0)
+ 	    {
+              stat_result = 0;
+              inf[i].desc = -1;
+ 	    }
+ #endif /*__EMX__*/
+ 
+ 
  	  if (stat_result != 0)
  	    {
  	      perror_with_name (inf[i].name);
Index: doc/cvs.texinfo
===================================================================
RCS file: e:/reposit/gnu/cvs/doc/cvs.texinfo,v
retrieving revision 1.1.1.3
retrieving revision 1.1.3.2.4.2
diff -c -r1.1.1.3 -r1.1.3.2.4.2
*** doc/cvs.texinfo	2000/12/19 16:57:38	1.1.1.3
--- doc/cvs.texinfo	2001/01/01 15:51:03	1.1.3.2.4.2
***************
*** 39,46 ****
  
  @setfilename cvs.info
  @include CVSvn.texi
! @settitle CVS---Concurrent Versions System
! @setchapternewpage odd
  
  @c -- TODO list:
  @c -- Fix all lines that match "^@c -- "
--- 39,46 ----
  
  @setfilename cvs.info
  @include CVSvn.texi
! @settitle Concurrent Versions System
! @c @setchapternewpage odd
  
  @c -- TODO list:
  @c -- Fix all lines that match "^@c -- "
***************
*** 50,61 ****
  @ifinfo
  @format
  START-INFO-DIR-ENTRY
! * CVS: (cvs).          Concurrent Versions System
  END-INFO-DIR-ENTRY
  @end format
- @end ifinfo
  
- @ifinfo
  Copyright @copyright{} 1992, 1993 Signum Support AB
  Copyright @copyright{} 1993, 1994 Free Software Foundation, Inc.
  
--- 50,59 ----
  @ifinfo
  @format
  START-INFO-DIR-ENTRY
! * CVS: (cvs).                   Concurrent Versions System
  END-INFO-DIR-ENTRY
  @end format
  
  Copyright @copyright{} 1992, 1993 Signum Support AB
  Copyright @copyright{} 1993, 1994 Free Software Foundation, Inc.
  
Index: doc/cvsclient.texi
===================================================================
RCS file: e:/reposit/gnu/cvs/doc/cvsclient.texi,v
retrieving revision 1.1.1.3
retrieving revision 1.1.3.2.4.2
diff -c -r1.1.1.3 -r1.1.3.2.4.2
*** doc/cvsclient.texi	2000/12/19 16:57:42	1.1.1.3
--- doc/cvsclient.texi	2001/01/01 15:51:08	1.1.3.2.4.2
***************
*** 3,12 ****
  @setfilename cvsclient.info
  @include CVSvn.texi
  
! @dircategory Programming
! @direntry
  * cvsclient: (cvsclient).      The CVS client/server protocol.
! @end direntry
  
  @node Top
  @top CVS Client/Server
--- 3,14 ----
  @setfilename cvsclient.info
  @include CVSvn.texi
  
! @ifinfo
! @format
! START-INFO-DIR-ENTRY
  * cvsclient: (cvsclient).      The CVS client/server protocol.
! END-INFO-DIR-ENTRY
! @end format
  
  @node Top
  @top CVS Client/Server
Index: lib/ChangeLog
===================================================================
RCS file: e:/reposit/gnu/cvs/lib/ChangeLog,v
retrieving revision 1.1.1.2
retrieving revision 1.1.3.1.4.1
diff -c -r1.1.1.2 -r1.1.3.1.4.1
*** lib/ChangeLog	2000/12/19 16:57:46	1.1.1.2
--- lib/ChangeLog	2001/01/01 15:51:19	1.1.3.1.4.1
***************
*** 1,3 ****
--- 1,17 ----
+ 2000-12-31  Andrew Belov  <andrew_belov@mtu-net.ru>
+ 
+ 	* getdate.c, getdate.y: Fixed detection of negative timestamps
+ 
+ 2000-12-20  Andrew Belov  <andrew_belov@mtu-net.ru>
+ 
+ 	* sighandle.c, regex.h, savecwd.c, regex.c, getline.c, getline.h, getdate.c, getdate.y, Makefile.in:
+ 	Updated to version 1.11
+ 
+ 2000-12-19  Andrew Belov  <andrew_belov@mtu-net.ru>
+ 
+ 	* savecwd.c, sighandle.c, regex.h, regex.c, Makefile.in, getline.c, getline.h, getdate.y, getdate.c:
+ 	Imported the 1.11 release
+ 
  2000-07-10  Larry Jones  <larry.jones@sdrc.com>
  
  	* savecwd.c: #include <sys/types.h> before <fcntl.h>.
Index: lib/getdate.c
===================================================================
RCS file: e:/reposit/gnu/cvs/lib/getdate.c,v
retrieving revision 1.1.1.3
retrieving revision 1.1.3.2.4.1
diff -c -r1.1.1.3 -r1.1.3.2.4.1
*** lib/getdate.c	2000/12/19 16:57:47	1.1.1.3
--- lib/getdate.c	2001/01/01 15:51:20	1.1.3.2.4.1
***************
*** 1,17 ****
  #ifndef lint
! static char yysccsid[] = "@(#)yaccpar	1.9 (Berkeley) 02/21/93 (BSDI)";
  #endif
- #include <stdlib.h>
  #define YYBYACC 1
! #define YYMAJOR 1
! #define YYMINOR 9
! #define YYEMPTY (-1)
! #define YYLEX yylex()
! #define yyclearin (yychar=YYEMPTY)
! #define yyerrok (yyerrflag=0)
! #define YYRECOVERING (yyerrflag!=0)
! #define YYPREFIX "yy"
! #line 2 "/u/scjones/cvs-nightly/lib/getdate.y"
  /*
  **  Originally written by Steven M. Bellovin <smb@research.att.com> while
  **  at the University of North Carolina at Chapel Hill.  Later tweaked by
--- 1,8 ----
  #ifndef lint
! static char yysccsid[] = "@(#)yaccpar	1.8 (Berkeley) 01/20/90";
  #endif
  #define YYBYACC 1
! #line 2 "../lib/getdate.y"
  /*
  **  Originally written by Steven M. Bellovin <smb@research.att.com> while
  **  at the University of North Carolina at Chapel Hill.  Later tweaked by
***************
*** 187,198 ****
  static time_t	yyRelMonth;
  static time_t	yyRelSeconds;
  
! #line 179 "/u/scjones/cvs-nightly/lib/getdate.y"
  typedef union {
      time_t		Number;
      enum _MERIDIAN	Meridian;
  } YYSTYPE;
! #line 196 "y.tab.c"
  #define tAGO 257
  #define tDAY 258
  #define tDAYZONE 259
--- 178,189 ----
  static time_t	yyRelMonth;
  static time_t	yyRelSeconds;
  
! #line 179 "../lib/getdate.y"
  typedef union {
      time_t		Number;
      enum _MERIDIAN	Meridian;
  } YYSTYPE;
! #line 187 "y.tab.c"
  #define tAGO 257
  #define tDAY 258
  #define tDAYZONE 259
***************
*** 383,414 ****
  "o_merid : tMERIDIAN",
  };
  #endif
  #ifdef YYSTACKSIZE
! #undef YYMAXDEPTH
  #define YYMAXDEPTH YYSTACKSIZE
  #else
  #ifdef YYMAXDEPTH
  #define YYSTACKSIZE YYMAXDEPTH
  #else
! #define YYSTACKSIZE 10000
! #define YYMAXDEPTH 10000
  #endif
  #endif
- #define YYINITSTACKSIZE 200
  int yydebug;
  int yynerrs;
! struct yystack {
!     short *ssp;
!     YYSTYPE *vsp;
!     short *ss;
!     YYSTYPE *vs;
!     int stacksize;
!     short *sslim;
! };
! int yychar; /* some people use this, so we copy it in & out */
! int yyerrflag; /* must be global for yyerrok & YYRECOVERING */
  YYSTYPE yylval;
! #line 398 "/u/scjones/cvs-nightly/lib/getdate.y"
  
  /* Month and day table. */
  static TABLE const MonthDayTable[] = {
--- 374,405 ----
  "o_merid : tMERIDIAN",
  };
  #endif
+ #define yyclearin (yychar=(-1))
+ #define yyerrok (yyerrflag=0)
  #ifdef YYSTACKSIZE
! #ifndef YYMAXDEPTH
  #define YYMAXDEPTH YYSTACKSIZE
+ #endif
  #else
  #ifdef YYMAXDEPTH
  #define YYSTACKSIZE YYMAXDEPTH
  #else
! #define YYSTACKSIZE 500
! #define YYMAXDEPTH 500
  #endif
  #endif
  int yydebug;
  int yynerrs;
! int yyerrflag;
! int yychar;
! short *yyssp;
! YYSTYPE *yyvsp;
! YYSTYPE yyval;
  YYSTYPE yylval;
! short yyss[YYSTACKSIZE];
! YYSTYPE yyvs[YYSTACKSIZE];
! #define yystacksize YYSTACKSIZE
! #line 398 "../lib/getdate.y"
  
  /* Month and day table. */
  static TABLE const MonthDayTable[] = {
***************
*** 1003,1009 ****
      if (yyHaveDate || yyHaveTime || yyHaveDay) {
  	Start = Convert(yyMonth, yyDay, yyYear, yyHour, yyMinutes, yySeconds,
  		    yyMeridian, yyDSTmode);
! 	if (Start < 0)
  	    return -1;
      }
      else {
--- 994,1000 ----
      if (yyHaveDate || yyHaveTime || yyHaveDay) {
  	Start = Convert(yyMonth, yyDay, yyYear, yyHour, yyMinutes, yySeconds,
  		    yyMeridian, yyDSTmode);
! 	if ((long)Start < 0)
  	    return -1;
      }
      else {
***************
*** 1052,1122 ****
      /* NOTREACHED */
  }
  #endif	/* defined(TEST) */
! #line 1056 "y.tab.c"
! /* allocate initial stack */
! #if defined(__STDC__) || defined(__cplusplus)
! static int yyinitstack(struct yystack *sp)
! #else
! static int yyinitstack(sp)
!     struct yystack *sp;
! #endif
! {
!     int newsize;
!     short *newss;
!     YYSTYPE *newvs;
! 
!     newsize = YYINITSTACKSIZE;
!     newss = (short *)malloc(newsize * sizeof *newss);
!     newvs = (YYSTYPE *)malloc(newsize * sizeof *newvs);
!     sp->ss = sp->ssp = newss;
!     sp->vs = sp->vsp = newvs;
!     if (newss == NULL || newvs == NULL) return -1;
!     sp->stacksize = newsize;
!     sp->sslim = newss + newsize - 1;
!     return 0;
! }
! 
! /* double stack size, up to YYMAXDEPTH */
! #if defined(__STDC__) || defined(__cplusplus)
! static int yygrowstack(struct yystack *sp)
! #else
! static int yygrowstack(sp)
!     struct yystack *sp;
! #endif
! {
!     int newsize, i;
!     short *newss;
!     YYSTYPE *newvs;
! 
!     if ((newsize = sp->stacksize) >= YYMAXDEPTH) return -1;
!     if ((newsize *= 2) > YYMAXDEPTH) newsize = YYMAXDEPTH;
!     i = sp->ssp - sp->ss;
!     if ((newss = (short *)realloc(sp->ss, newsize * sizeof *newss)) == NULL)
!         return -1;
!     sp->ss = newss;
!     sp->ssp = newss + i;
!     if ((newvs = (YYSTYPE *)realloc(sp->vs, newsize * sizeof *newvs)) == NULL)
!         return -1;
!     sp->vs = newvs;
!     sp->vsp = newvs + i;
!     sp->stacksize = newsize;
!     sp->sslim = newss + newsize - 1;
!     return 0;
! }
! 
! #define YYFREESTACK(sp) { free((sp)->ss); free((sp)->vs); }
! 
  #define YYABORT goto yyabort
- #define YYREJECT goto yyabort
  #define YYACCEPT goto yyaccept
  #define YYERROR goto yyerrlab
  int
  yyparse()
  {
!     register int yym, yyn, yystate, yych;
!     register YYSTYPE *yyvsp;
!     YYSTYPE yyval;
!     struct yystack yystk;
  #if YYDEBUG
      register char *yys;
      extern char *getenv();
--- 1043,1056 ----
      /* NOTREACHED */
  }
  #endif	/* defined(TEST) */
! #line 1047 "y.tab.c"
  #define YYABORT goto yyabort
  #define YYACCEPT goto yyaccept
  #define YYERROR goto yyerrlab
  int
  yyparse()
  {
!     register int yym, yyn, yystate;
  #if YYDEBUG
      register char *yys;
      extern char *getenv();
***************
*** 1131,1176 ****
  
      yynerrs = 0;
      yyerrflag = 0;
!     yychar = yych = YYEMPTY;
  
!     if (yyinitstack(&yystk)) goto yyoverflow;
!     *yystk.ssp = yystate = 0;
  
  yyloop:
      if (yyn = yydefred[yystate]) goto yyreduce;
!     if (yych < 0)
      {
!         if ((yych = YYLEX) < 0) yych = 0;
!         yychar = yych;
  #if YYDEBUG
          if (yydebug)
          {
              yys = 0;
!             if (yych <= YYMAXTOKEN) yys = yyname[yych];
              if (!yys) yys = "illegal-symbol";
!             printf("%sdebug: state %d, reading %d (%s)\n",
!                     YYPREFIX, yystate, yych, yys);
          }
  #endif
      }
!     if ((yyn = yysindex[yystate]) && (yyn += yych) >= 0 &&
!             yyn <= YYTABLESIZE && yycheck[yyn] == yych)
      {
  #if YYDEBUG
          if (yydebug)
!             printf("%sdebug: state %d, shifting to state %d\n",
!                     YYPREFIX, yystate, yytable[yyn]);
  #endif
!         if (yystk.ssp >= yystk.sslim && yygrowstack(&yystk))
              goto yyoverflow;
!         *++yystk.ssp = yystate = yytable[yyn];
!         *++yystk.vsp = yylval;
!         yychar = yych = YYEMPTY;
          if (yyerrflag > 0)  --yyerrflag;
          goto yyloop;
      }
!     if ((yyn = yyrindex[yystate]) && (yyn += yych) >= 0 &&
!             yyn <= YYTABLESIZE && yycheck[yyn] == yych)
      {
          yyn = yytable[yyn];
          goto yyreduce;
--- 1065,1112 ----
  
      yynerrs = 0;
      yyerrflag = 0;
!     yychar = (-1);
  
!     yyssp = yyss;
!     yyvsp = yyvs;
!     *yyssp = yystate = 0;
  
  yyloop:
      if (yyn = yydefred[yystate]) goto yyreduce;
!     if (yychar < 0)
      {
!         if ((yychar = yylex()) < 0) yychar = 0;
  #if YYDEBUG
          if (yydebug)
          {
              yys = 0;
!             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
              if (!yys) yys = "illegal-symbol";
!             printf("yydebug: state %d, reading %d (%s)\n", yystate,
!                     yychar, yys);
          }
  #endif
      }
!     if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
!             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
      {
  #if YYDEBUG
          if (yydebug)
!             printf("yydebug: state %d, shifting to state %d\n",
!                     yystate, yytable[yyn]);
  #endif
!         if (yyssp >= yyss + yystacksize - 1)
!         {
              goto yyoverflow;
!         }
!         *++yyssp = yystate = yytable[yyn];
!         *++yyvsp = yylval;
!         yychar = (-1);
          if (yyerrflag > 0)  --yyerrflag;
          goto yyloop;
      }
!     if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
!             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
      {
          yyn = yytable[yyn];
          goto yyreduce;
***************
*** 1192,1284 ****
          yyerrflag = 3;
          for (;;)
          {
!             if ((yyn = yysindex[*yystk.ssp]) &&
!                     (yyn += YYERRCODE) >= 0 &&
                      yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
              {
  #if YYDEBUG
                  if (yydebug)
!                     printf("%sdebug: state %d, error recovery shifting\
!  to state %d\n", YYPREFIX, *yystk.ssp, yytable[yyn]);
  #endif
!                 if (yystk.ssp >= yystk.sslim && yygrowstack(&yystk))
                      goto yyoverflow;
!                 *++yystk.ssp = yystate = yytable[yyn];
!                 *++yystk.vsp = yylval;
                  goto yyloop;
              }
              else
              {
  #if YYDEBUG
                  if (yydebug)
!                     printf("%sdebug: error recovery discarding state %d\n",
!                             YYPREFIX, *yystk.ssp);
  #endif
!                 if (yystk.ssp <= yystk.ss) goto yyabort;
!                 --yystk.ssp;
!                 --yystk.vsp;
              }
          }
      }
      else
      {
!         if (yych == 0) goto yyabort;
  #if YYDEBUG
          if (yydebug)
          {
              yys = 0;
!             if (yych <= YYMAXTOKEN) yys = yyname[yych];
              if (!yys) yys = "illegal-symbol";
!             printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
!                     YYPREFIX, yystate, yych, yys);
          }
  #endif
!         yychar = yych = YYEMPTY;
          goto yyloop;
      }
  yyreduce:
  #if YYDEBUG
      if (yydebug)
!         printf("%sdebug: state %d, reducing by rule %d (%s)\n",
!                 YYPREFIX, yystate, yyn, yyrule[yyn]);
  #endif
      yym = yylen[yyn];
-     yyvsp = yystk.vsp; /* for speed in code under switch() */
      yyval = yyvsp[1-yym];
      switch (yyn)
      {
  case 3:
! #line 197 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyHaveTime++;
  	}
  break;
  case 4:
! #line 200 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyHaveZone++;
  	}
  break;
  case 5:
! #line 203 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyHaveDate++;
  	}
  break;
  case 6:
! #line 206 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyHaveDay++;
  	}
  break;
  case 7:
! #line 209 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyHaveRel++;
  	}
  break;
  case 9:
! #line 215 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyHour = yyvsp[-1].Number;
  	    yyMinutes = 0;
--- 1128,1220 ----
          yyerrflag = 3;
          for (;;)
          {
!             if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
                      yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
              {
  #if YYDEBUG
                  if (yydebug)
!                     printf("yydebug: state %d, error recovery shifting\
!  to state %d\n", *yyssp, yytable[yyn]);
  #endif
!                 if (yyssp >= yyss + yystacksize - 1)
!                 {
                      goto yyoverflow;
!                 }
!                 *++yyssp = yystate = yytable[yyn];
!                 *++yyvsp = yylval;
                  goto yyloop;
              }
              else
              {
  #if YYDEBUG
                  if (yydebug)
!                     printf("yydebug: error recovery discarding state %d\n",
!                             *yyssp);
  #endif
!                 if (yyssp <= yyss) goto yyabort;
!                 --yyssp;
!                 --yyvsp;
              }
          }
      }
      else
      {
!         if (yychar == 0) goto yyabort;
  #if YYDEBUG
          if (yydebug)
          {
              yys = 0;
!             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
              if (!yys) yys = "illegal-symbol";
!             printf("yydebug: state %d, error recovery discards token %d (%s)\n",
!                     yystate, yychar, yys);
          }
  #endif
!         yychar = (-1);
          goto yyloop;
      }
  yyreduce:
  #if YYDEBUG
      if (yydebug)
!         printf("yydebug: state %d, reducing by rule %d (%s)\n",
!                 yystate, yyn, yyrule[yyn]);
  #endif
      yym = yylen[yyn];
      yyval = yyvsp[1-yym];
      switch (yyn)
      {
  case 3:
! #line 197 "../lib/getdate.y"
  {
  	    yyHaveTime++;
  	}
  break;
  case 4:
! #line 200 "../lib/getdate.y"
  {
  	    yyHaveZone++;
  	}
  break;
  case 5:
! #line 203 "../lib/getdate.y"
  {
  	    yyHaveDate++;
  	}
  break;
  case 6:
! #line 206 "../lib/getdate.y"
  {
  	    yyHaveDay++;
  	}
  break;
  case 7:
! #line 209 "../lib/getdate.y"
  {
  	    yyHaveRel++;
  	}
  break;
  case 9:
! #line 215 "../lib/getdate.y"
  {
  	    yyHour = yyvsp[-1].Number;
  	    yyMinutes = 0;
***************
*** 1287,1293 ****
  	}
  break;
  case 10:
! #line 221 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyHour = yyvsp[-3].Number;
  	    yyMinutes = yyvsp[-1].Number;
--- 1223,1229 ----
  	}
  break;
  case 10:
! #line 221 "../lib/getdate.y"
  {
  	    yyHour = yyvsp[-3].Number;
  	    yyMinutes = yyvsp[-1].Number;
***************
*** 1296,1302 ****
  	}
  break;
  case 11:
! #line 227 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyHour = yyvsp[-3].Number;
  	    yyMinutes = yyvsp[-1].Number;
--- 1232,1238 ----
  	}
  break;
  case 11:
! #line 227 "../lib/getdate.y"
  {
  	    yyHour = yyvsp[-3].Number;
  	    yyMinutes = yyvsp[-1].Number;
***************
*** 1306,1312 ****
  	}
  break;
  case 12:
! #line 234 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyHour = yyvsp[-5].Number;
  	    yyMinutes = yyvsp[-3].Number;
--- 1242,1248 ----
  	}
  break;
  case 12:
! #line 234 "../lib/getdate.y"
  {
  	    yyHour = yyvsp[-5].Number;
  	    yyMinutes = yyvsp[-3].Number;
***************
*** 1315,1321 ****
  	}
  break;
  case 13:
! #line 240 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyHour = yyvsp[-5].Number;
  	    yyMinutes = yyvsp[-3].Number;
--- 1251,1257 ----
  	}
  break;
  case 13:
! #line 240 "../lib/getdate.y"
  {
  	    yyHour = yyvsp[-5].Number;
  	    yyMinutes = yyvsp[-3].Number;
***************
*** 1326,1381 ****
  	}
  break;
  case 14:
! #line 250 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyTimezone = yyvsp[0].Number;
  	    yyDSTmode = DSToff;
  	}
  break;
  case 15:
! #line 254 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyTimezone = yyvsp[0].Number;
  	    yyDSTmode = DSTon;
  	}
  break;
  case 16:
! #line 259 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyTimezone = yyvsp[-1].Number;
  	    yyDSTmode = DSTon;
  	}
  break;
  case 17:
! #line 265 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyDayOrdinal = 1;
  	    yyDayNumber = yyvsp[0].Number;
  	}
  break;
  case 18:
! #line 269 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyDayOrdinal = 1;
  	    yyDayNumber = yyvsp[-1].Number;
  	}
  break;
  case 19:
! #line 273 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyDayOrdinal = yyvsp[-1].Number;
  	    yyDayNumber = yyvsp[0].Number;
  	}
  break;
  case 20:
! #line 279 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyMonth = yyvsp[-2].Number;
  	    yyDay = yyvsp[0].Number;
  	}
  break;
  case 21:
! #line 283 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    if (yyvsp[-4].Number >= 100) {
  		yyYear = yyvsp[-4].Number;
--- 1262,1317 ----
  	}
  break;
  case 14:
! #line 250 "../lib/getdate.y"
  {
  	    yyTimezone = yyvsp[0].Number;
  	    yyDSTmode = DSToff;
  	}
  break;
  case 15:
! #line 254 "../lib/getdate.y"
  {
  	    yyTimezone = yyvsp[0].Number;
  	    yyDSTmode = DSTon;
  	}
  break;
  case 16:
! #line 259 "../lib/getdate.y"
  {
  	    yyTimezone = yyvsp[-1].Number;
  	    yyDSTmode = DSTon;
  	}
  break;
  case 17:
! #line 265 "../lib/getdate.y"
  {
  	    yyDayOrdinal = 1;
  	    yyDayNumber = yyvsp[0].Number;
  	}
  break;
  case 18:
! #line 269 "../lib/getdate.y"
  {
  	    yyDayOrdinal = 1;
  	    yyDayNumber = yyvsp[-1].Number;
  	}
  break;
  case 19:
! #line 273 "../lib/getdate.y"
  {
  	    yyDayOrdinal = yyvsp[-1].Number;
  	    yyDayNumber = yyvsp[0].Number;
  	}
  break;
  case 20:
! #line 279 "../lib/getdate.y"
  {
  	    yyMonth = yyvsp[-2].Number;
  	    yyDay = yyvsp[0].Number;
  	}
  break;
  case 21:
! #line 283 "../lib/getdate.y"
  {
  	    if (yyvsp[-4].Number >= 100) {
  		yyYear = yyvsp[-4].Number;
***************
*** 1389,1395 ****
  	}
  break;
  case 22:
! #line 294 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    /* ISO 8601 format.  yyyy-mm-dd.  */
  	    yyYear = yyvsp[-2].Number;
--- 1325,1331 ----
  	}
  break;
  case 22:
! #line 294 "../lib/getdate.y"
  {
  	    /* ISO 8601 format.  yyyy-mm-dd.  */
  	    yyYear = yyvsp[-2].Number;
***************
*** 1398,1404 ****
  	}
  break;
  case 23:
! #line 300 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    /* e.g. 17-JUN-1992.  */
  	    yyDay = yyvsp[-2].Number;
--- 1334,1340 ----
  	}
  break;
  case 23:
! #line 300 "../lib/getdate.y"
  {
  	    /* e.g. 17-JUN-1992.  */
  	    yyDay = yyvsp[-2].Number;
***************
*** 1407,1420 ****
  	}
  break;
  case 24:
! #line 306 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyMonth = yyvsp[-1].Number;
  	    yyDay = yyvsp[0].Number;
  	}
  break;
  case 25:
! #line 310 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyMonth = yyvsp[-3].Number;
  	    yyDay = yyvsp[-2].Number;
--- 1343,1356 ----
  	}
  break;
  case 24:
! #line 306 "../lib/getdate.y"
  {
  	    yyMonth = yyvsp[-1].Number;
  	    yyDay = yyvsp[0].Number;
  	}
  break;
  case 25:
! #line 310 "../lib/getdate.y"
  {
  	    yyMonth = yyvsp[-3].Number;
  	    yyDay = yyvsp[-2].Number;
***************
*** 1422,1435 ****
  	}
  break;
  case 26:
! #line 315 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyMonth = yyvsp[0].Number;
  	    yyDay = yyvsp[-1].Number;
  	}
  break;
  case 27:
! #line 319 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyMonth = yyvsp[-1].Number;
  	    yyDay = yyvsp[-2].Number;
--- 1358,1371 ----
  	}
  break;
  case 26:
! #line 315 "../lib/getdate.y"
  {
  	    yyMonth = yyvsp[0].Number;
  	    yyDay = yyvsp[-1].Number;
  	}
  break;
  case 27:
! #line 319 "../lib/getdate.y"
  {
  	    yyMonth = yyvsp[-1].Number;
  	    yyDay = yyvsp[-2].Number;
***************
*** 1437,1504 ****
  	}
  break;
  case 28:
! #line 326 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyRelSeconds = -yyRelSeconds;
  	    yyRelMonth = -yyRelMonth;
  	}
  break;
  case 30:
! #line 333 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyRelSeconds += yyvsp[-1].Number * yyvsp[0].Number * 60L;
  	}
  break;
  case 31:
! #line 336 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyRelSeconds += yyvsp[-1].Number * yyvsp[0].Number * 60L;
  	}
  break;
  case 32:
! #line 339 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyRelSeconds += yyvsp[0].Number * 60L;
  	}
  break;
  case 33:
! #line 342 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyRelSeconds += yyvsp[-1].Number;
  	}
  break;
  case 34:
! #line 345 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyRelSeconds += yyvsp[-1].Number;
  	}
  break;
  case 35:
! #line 348 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyRelSeconds++;
  	}
  break;
  case 36:
! #line 351 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyRelMonth += yyvsp[-1].Number * yyvsp[0].Number;
  	}
  break;
  case 37:
! #line 354 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyRelMonth += yyvsp[-1].Number * yyvsp[0].Number;
  	}
  break;
  case 38:
! #line 357 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyRelMonth += yyvsp[0].Number;
  	}
  break;
  case 39:
! #line 362 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    if (yyHaveTime && yyHaveDate && !yyHaveRel)
  		yyYear = yyvsp[0].Number;
--- 1373,1440 ----
  	}
  break;
  case 28:
! #line 326 "../lib/getdate.y"
  {
  	    yyRelSeconds = -yyRelSeconds;
  	    yyRelMonth = -yyRelMonth;
  	}
  break;
  case 30:
! #line 333 "../lib/getdate.y"
  {
  	    yyRelSeconds += yyvsp[-1].Number * yyvsp[0].Number * 60L;
  	}
  break;
  case 31:
! #line 336 "../lib/getdate.y"
  {
  	    yyRelSeconds += yyvsp[-1].Number * yyvsp[0].Number * 60L;
  	}
  break;
  case 32:
! #line 339 "../lib/getdate.y"
  {
  	    yyRelSeconds += yyvsp[0].Number * 60L;
  	}
  break;
  case 33:
! #line 342 "../lib/getdate.y"
  {
  	    yyRelSeconds += yyvsp[-1].Number;
  	}
  break;
  case 34:
! #line 345 "../lib/getdate.y"
  {
  	    yyRelSeconds += yyvsp[-1].Number;
  	}
  break;
  case 35:
! #line 348 "../lib/getdate.y"
  {
  	    yyRelSeconds++;
  	}
  break;
  case 36:
! #line 351 "../lib/getdate.y"
  {
  	    yyRelMonth += yyvsp[-1].Number * yyvsp[0].Number;
  	}
  break;
  case 37:
! #line 354 "../lib/getdate.y"
  {
  	    yyRelMonth += yyvsp[-1].Number * yyvsp[0].Number;
  	}
  break;
  case 38:
! #line 357 "../lib/getdate.y"
  {
  	    yyRelMonth += yyvsp[0].Number;
  	}
  break;
  case 39:
! #line 362 "../lib/getdate.y"
  {
  	    if (yyHaveTime && yyHaveDate && !yyHaveRel)
  		yyYear = yyvsp[0].Number;
***************
*** 1526,1575 ****
  	}
  break;
  case 40:
! #line 389 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyval.Meridian = MER24;
  	}
  break;
  case 41:
! #line 392 "/u/scjones/cvs-nightly/lib/getdate.y"
  {
  	    yyval.Meridian = yyvsp[0].Meridian;
  	}
  break;
! #line 1541 "y.tab.c"
      }
!     yystk.ssp -= yym;
!     yystate = *yystk.ssp;
!     yystk.vsp -= yym;
      yym = yylhs[yyn];
-     yych = yychar;
      if (yystate == 0 && yym == 0)
      {
  #if YYDEBUG
          if (yydebug)
!             printf("%sdebug: after reduction, shifting from state 0 to\
!  state %d\n", YYPREFIX, YYFINAL);
  #endif
          yystate = YYFINAL;
!         *++yystk.ssp = YYFINAL;
!         *++yystk.vsp = yyval;
!         if (yych < 0)
          {
!             if ((yych = YYLEX) < 0) yych = 0;
!             yychar = yych;
  #if YYDEBUG
              if (yydebug)
              {
                  yys = 0;
!                 if (yych <= YYMAXTOKEN) yys = yyname[yych];
                  if (!yys) yys = "illegal-symbol";
!                 printf("%sdebug: state %d, reading %d (%s)\n",
!                         YYPREFIX, YYFINAL, yych, yys);
              }
  #endif
          }
!         if (yych == 0) goto yyaccept;
          goto yyloop;
      }
      if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
--- 1462,1509 ----
  	}
  break;
  case 40:
! #line 389 "../lib/getdate.y"
  {
  	    yyval.Meridian = MER24;
  	}
  break;
  case 41:
! #line 392 "../lib/getdate.y"
  {
  	    yyval.Meridian = yyvsp[0].Meridian;
  	}
  break;
! #line 1477 "y.tab.c"
      }
!     yyssp -= yym;
!     yystate = *yyssp;
!     yyvsp -= yym;
      yym = yylhs[yyn];
      if (yystate == 0 && yym == 0)
      {
  #if YYDEBUG
          if (yydebug)
!             printf("yydebug: after reduction, shifting from state 0 to\
!  state %d\n", YYFINAL);
  #endif
          yystate = YYFINAL;
!         *++yyssp = YYFINAL;
!         *++yyvsp = yyval;
!         if (yychar < 0)
          {
!             if ((yychar = yylex()) < 0) yychar = 0;
  #if YYDEBUG
              if (yydebug)
              {
                  yys = 0;
!                 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
                  if (!yys) yys = "illegal-symbol";
!                 printf("yydebug: state %d, reading %d (%s)\n",
!                         YYFINAL, yychar, yys);
              }
  #endif
          }
!         if (yychar == 0) goto yyaccept;
          goto yyloop;
      }
      if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
***************
*** 1579,1598 ****
          yystate = yydgoto[yym];
  #if YYDEBUG
      if (yydebug)
!         printf("%sdebug: after reduction, shifting from state %d \
! to state %d\n", YYPREFIX, *yystk.ssp, yystate);
  #endif
!     if (yystk.ssp >= yystk.sslim && yygrowstack(&yystk))
          goto yyoverflow;
!     *++yystk.ssp = yystate;
!     *++yystk.vsp = yyval;
      goto yyloop;
  yyoverflow:
      yyerror("yacc stack overflow");
  yyabort:
-     YYFREESTACK(&yystk);
      return (1);
  yyaccept:
-     YYFREESTACK(&yystk);
      return (0);
  }
--- 1513,1532 ----
          yystate = yydgoto[yym];
  #if YYDEBUG
      if (yydebug)
!         printf("yydebug: after reduction, shifting from state %d \
! to state %d\n", *yyssp, yystate);
  #endif
!     if (yyssp >= yyss + yystacksize - 1)
!     {
          goto yyoverflow;
!     }
!     *++yyssp = yystate;
!     *++yyvsp = yyval;
      goto yyloop;
  yyoverflow:
      yyerror("yacc stack overflow");
  yyabort:
      return (1);
  yyaccept:
      return (0);
  }
Index: lib/getdate.y
===================================================================
RCS file: e:/reposit/gnu/cvs/lib/getdate.y,v
retrieving revision 1.1.1.3
retrieving revision 1.1.3.2.4.1
diff -c -r1.1.1.3 -r1.1.3.2.4.1
*** lib/getdate.y	2000/12/19 16:57:48	1.1.1.3
--- lib/getdate.y	2001/01/01 15:51:21	1.1.3.2.4.1
***************
*** 989,995 ****
      if (yyHaveDate || yyHaveTime || yyHaveDay) {
  	Start = Convert(yyMonth, yyDay, yyYear, yyHour, yyMinutes, yySeconds,
  		    yyMeridian, yyDSTmode);
! 	if (Start < 0)
  	    return -1;
      }
      else {
--- 989,995 ----
      if (yyHaveDate || yyHaveTime || yyHaveDay) {
  	Start = Convert(yyMonth, yyDay, yyYear, yyHour, yyMinutes, yySeconds,
  		    yyMeridian, yyDSTmode);
! 	if ((long)Start < 0)
  	    return -1;
      }
      else {
Index: src/ChangeLog
===================================================================
RCS file: e:/reposit/gnu/cvs/src/ChangeLog,v
retrieving revision 1.1.1.3
retrieving revision 1.1.3.2.4.2
diff -c -r1.1.1.3 -r1.1.3.2.4.2
*** src/ChangeLog	2000/12/19 16:58:05	1.1.1.3
--- src/ChangeLog	2001/01/01 15:51:30	1.1.3.2.4.2
***************
*** 1,3 ****
--- 1,59 ----
+ 2001-03-19  Andrew Belov  <andrew_belov@mtu-net.ru>
+ 
+ 	* server.c: Fixed handling of binaries by pserver
+ 
+ 2001-01-01  Andrew Belov  <andrew_belov@mtu-net.ru>
+ 
+ 	* sanity.sh:
+ 	Yet another cheat to ignore errors when moving away from a broken repository
+ 
+ 2000-12-31  Andrew Belov  <andrew_belov@mtu-net.ru>
+ 
+ 	* sanity.sh: :local: is inserted when testing multiple repositories
+ 
+ 	* sanity.sh: Cheat to skip the end of keyword2 tests
+ 
+ 	* sanity.sh: Fixed the history-* section
+ 
+ 	* sanity.sh:
+ 	Looks like the Halibut patch screwed logopt-3 up -- fixed
+ 
+ 	* sanity.sh: Removed modes, modes2 and modes3 from EMX testing course
+ 
+ 	* sanity.sh: Added sleeping before check-in at backuprecover-12
+ 
+ 	* sanity.sh: Skipped lockfiles-7a/7b for BROKEN_LS_L
+ 
+ 2000-12-29  Andrew Belov  <andrew_belov@mtu-net.ru>
+ 
+ 	* sanity.sh: Removed the binary/text conversion tests for OS/2
+ 
+ 	* sanity.sh: Fixed for 1970s to be translated into 1980s
+ 
+ 	* sanity.sh: Fixed basic2-64
+ 
+ 2000-12-26  Andrew Belov  <andrew_belov@mtu-net.ru>
+ 
+ 	* sanity.sh: Added SINGLE_USER clause to bear LOGNAME as user name
+ 
+ 2000-12-20  Andrew Belov  <andrew_belov@mtu-net.ru>
+ 
+ 	* zlib.c, version.c, watch.c, vers_ts.c, tag.c, update.c, subr.c, server.c, run.c, sanity.sh, root.c, rtag.c, remove.c, repos.c, recurse.c, release.c, rcs.h, patch.c, rcs.c, myndbm.c, parseinfo.c, mkmodules.c, modules.c, logmsg.c, main.c, login.c, lock.c, log.c, ignore.c, import.c, hash.h, history.c, hardlink.c, hash.c, fileattr.c, filesubr.c, entries.c, error.c, cvs.h, edit.c, create_adm.c, client.h, commit.c, client.c, admin.c, checkout.c, Makefile.in, add.c:
+ 	Updated to version 1.11
+ 
+ 2000-12-19  Andrew Belov  <andrew_belov@mtu-net.ru>
+ 
+ 	* zlib.c, vers_ts.c, watch.c, version.c, tag.c, update.c, subr.c, server.c, sanity.sh, rtag.c, run.c, release.c, remove.c, repos.c, root.c, recurse.c, rcs.h, rcs.c, parseinfo.c, patch.c, myndbm.c, Makefile.in, mkmodules.c, modules.c, logmsg.c, main.c, log.c, login.c, lock.c, ignore.c, import.c, hash.c, hash.h, history.c, hardlink.c, fileattr.c, filesubr.c, entries.c, error.c, edit.c, create_adm.c, cvs.h, client.h, commit.c, client.c, checkout.c, add.c, admin.c:
+ 	Imported the 1.11 release
+ 
+ 2000-12-03  Andrew Belov  <andrew_belov@mtu-net.ru>
+ 
+ 	* sanity.sh, cvsbug.sh:
+ 	Partially fixed with Halibut patch against 1.10.6
+ 
+ 	* server.c, client.h, import.c, client.c, update.c, rcs.c, filesubr.c, parseinfo.c, rcs.h, cvs.h, expand_path.c, commit.c:
+ 	Applied the Halibut patches
+ 
  2000-09-19  Larry Jones  <larry.jones@sdrc.com> 
  
  	* version.c: Version 1.11.
***************
*** 2613,2618 ****
--- 2669,2679 ----
  
  	* version.c: Bump version number to 1.10.0.1.
  
+ 1998-08-15  Andreas Huber  <ahuber@ping.at>
+ 
+ 	* sanity.sh (rcslib): Don't run rcslib-symlink-* tests if
+ 	WONT_PRESERVE_PERMISSIONS is set.
+ 
  Thu Aug 13 11:15:24 1998  Noel Cragg  <noel@swish.red-bean.com>
  
  	* version.c: Change version number to 1.10 and name to `Halibut'.
***************
*** 2620,2625 ****
--- 2681,2698 ----
  	* sanity.sh (rcslib): new tests to check behavior of symlinks in
   	the repository.
  
+ 1998-08-13  Andreas Huber  <ahuber@ping.at>
+ 
+ 	* sanity.sh (unedit-without-baserev-5): Use ${DOTSTAR} to match
+ 	a second "D" line.
+ 
+ 1998-08-12  Andreas Huber  <ahuber@ping.at>
+ 
+ 	* server.c (dirswitch):
+ 	Explicitly set dir_name to NULL so other functions
+ 	can determine wether we successfully changed the directory.
+ 	(server_write_entries) Don't write anything if dirswitch() failed.
+ 
  Wed Aug 12 15:39:38 1998  Noel Cragg  <noel@swish.red-bean.com>
  
  	* main.c (lookup_command_attribute): the `annotate' command
***************
*** 2630,2635 ****
--- 2703,2720 ----
  
  	* version.c: Change version number to 1.9.30.
  
+ 1998-08-10  Andreas Huber  <ahuber@ping.at>
+ 
+ 	* client.c, client.h (client_process_import_file): In order for any
+ 	global -k option (not just -kb) to take precedence in
+ 	client/server mode, we need to pass it to the server.
+ 	Otherwise the results of specifying a -k option on the
+ 	command line would be inconsistent between client/server
+ 	and local mode.
+ 
+ 	* import.c (import_descend): Pass any global -k options to
+ 	client_process_import_file(), not just -kb.
+ 
  Thu Aug  6 17:44:50 1998  Noel Cragg  <noel@swish.red-bean.com>
  
  	* server.c (serve_rdiff): change the name of the command (for
***************
*** 2664,2669 ****
--- 2749,2772 ----
  	* mkmodules.c: add comment about TopLevelAdmin for the initial
   	contents of CVSROOT/config.
  
+ 1998-08-01  Andreas Huber  <ahuber@ping.at>
+ 
+ 	* server.c: Moved the definition of 'kopt' above receive_file.
+ 	(receive_file) Check kopt in case Entries is not yet available
+ 	(e.g. import) to see if the file needs to be opened in binary
+ 	mode. Corrected a minor style fauxpas.
+ 
+ 1998-07-31  Andreas Huber  <ahuber@ping.at>
+ 
+ 	* sanity.sh:
+ 	Don't convert slashes to sloshes for CVS_SERVER. Instead,
+ 	require that rshd uses a unixy shell to run commands.
+ 
+ 	* sanity.sh:
+ 	Early detection of OS_COMPILER_EMU so we can add additional flags
+ 	to the rsh detection if required by the OS (OS/2 needs a -b).
+ 	CVS_SERVER needs slashes converted to sloshes on some OS's.
+ 
  1998-07-29  Jim Kingdon  <kingdon@harvey.cyclic.com>
  
  	* rcs.c (RCS_checkin): Only try to call xreadlink if HAVE_READLINK
***************
*** 2676,2681 ****
--- 2779,2794 ----
  	* rcs.c (RCS_checkin): add code to follow symbolic links in the
   	repository.
  
+ 1998-07-27  Andreas Huber  <ahuber@ping.at>
+ 
+ 	* server.c (dirswitch): Check for an absolute path before trying to
+ 	create the directory. This is necessary for platforms, where
+ 	a path may contain a drive specification. It avoids a bogus
+ 	message for an error that is caught later in server_pathname_check().
+ 
+ 	* client.c (send_a_repository): Use isabsolute() to check update_dir
+ 	for an absolute path.
+ 
  Sun Jul 26 05:14:41 1998  Noel Cragg  <noel@swish.red-bean.com>
  
  	* This set of changes reverts the code to pre-1.9.2 behavior and
***************
*** 2743,2748 ****
--- 2856,2883 ----
  	* build_src.com (rcscmds.c): Also look for include files in
  	[-.diff], just like Ian's 1998-06-18 change to Makefile.in
  
+ 1998-07-16  Andreas Huber  <ahuber@ping.at>
+ 
+ 	* sanity.sh:
+ 	Applied Murray Bishop's <mbishop@acnielsen.com.au> patches.
+ 	(unedit_without_baserev-4, unedit_without_baserev-14)
+ 	Replaced "revert changes?" by "revert changes." to make the EMX port
+ 	of GNU expr from sh-utils 1.12 happy.
+ 	(unedit_without_baserev-5) Disabled the SunOS4.1.4 test
+ 	for CVS/Entries corruption.
+ 
+ 	* update.c  (do_update), client.c (get_reponses_and_close),
+ 	commit.c (commit):
+ 	Fixed a bug with code that was supposed to avoid time-stamp
+ 	races but didn't under specific circumstances.
+ 
+ 	* cvs.h: Applied Murray Bishop's <mbishop@acnielsen.com.au> patches.
+ 
+ 1998-07-15  Andreas Huber  <ahuber@ping.at>
+ 
+ 	* update.c, sanity.sh, commit.c, cvs.h, client.c:
+ 	Applied Murray Bishop's <mbishop@acnielsen.com.au> patches.
+ 
  1998-07-14  Jim Kingdon  <kingdon@harvey.cyclic.com>
  
  	* tag.c (pretag_proc), rtag.c (pretag_proc): Don't pass RUN_REALLY
***************
*** 2754,2759 ****
--- 2889,2933 ----
  	happen.
  	* sanity.sh (taginfo): New tests taginfo-11 to taginfo-13, for this.
  
+ 1998-07-13  Andreas Huber  <ahuber@ping.at>
+ 
+ 	* server.c (receive_file):
+ 	Shut up a warning about variables that might be used
+ 	uninitialized.
+ 
+ 1998-07-13  Andreas Huber  <ahuber@ping.at>
+ 
+ 	* sanity.sh: Changed /tmp to ${TMPDIR}.
+ 	Changed argument parsing to accept drive specifications for
+ 	the CVS executable.
+ 	EDHACK_EDITOR is no longer necessary.
+ 	Added :local: to repository specifications.
+ 	(editor) Changed to sleep two seconds instead of one to avoid
+ 	time-stamp races on platforms where the time-stamp resolution
+ 	is two seconds.
+ 
+ 	* server.c (receive_file):
+ 	The server writes the files it receives from
+ 	the client to the temporary directory using the default binary
+ 	translation mode. While this works on *nix platforms, it certainly
+ 	doesn't on OS/2. 'Entries' is now searched for a -kb to determine
+ 	the proper translation mode before creating the file.
+ 	(server_updated) The server writes the files it is about to send to
+ 	the client to the temporary directory using the proper translation
+ 	mode (in RCS_checkout), but reads the file in binary mode. The file
+ 	is now read in the same mode it was written. finfo->rcs->expand is
+ 	examined to determine the proper translation mode.
+ 
+ 	* logmsg.c (logfile_write):
+ 	Changed the quoting character back to `'. Quoting
+ 	is now handled correctly by os2_popen().
+ 
+ 	* client.c (get_responses_and_close), commit.c (commit),
+ 	update.c (do_update):
+ 	Changed to sleep two seconds instead of one to avoid time-stamp
+ 	races. This is required for platforms where the time-stamp
+ 	resolution is two seconds (e.g. OS/2).
+ 
  1998-07-12  Jim Kingdon  <kingdon@harvey.cyclic.com>
  
  	* sanity.sh (ann-id): Write the test so that it tests for the
***************
*** 2791,2796 ****
--- 2965,2988 ----
  	you version 1.1 of the working file and put 1.2 in CVS/Entries.
  	* sanity.sh (unedit-without-baserev): New tests test for this.
  
+ 1998-07-07  Murray Bishop  <mbishop@acnielsen.com.au>
+ 
+ 	* sanity.sh: Make local mode mostly runnable on various platforms :
+ 	- Windows-NT with cygwin32 b19.1
+ 	- Windows-95 with MKS Toolkit
+ 	- OS/2 with EMX
+ 	(and test local mode on Linux too)
+ 	* cvs.h [FILESYSTEM_TICK]: Define as 1 (second) unless defined.
+ 
+ 1998-07-06  Murray Bishop  <mbishop@acnielsen.com.au>
+ 
+ 	* client.c(get_responses_and_close): Wait FILESYSTEM_TICK
+ 	instead of 1 second to avoid time-stamp races.
+ 	* commit.c(commit): Wait FILESYSTEM_TICK
+ 	instead of 1 second to avoid time-stamp races.
+ 	* update.c(do_update): Wait FILESYSTEM_TICK
+ 	instead of 1 second to avoid time-stamp races.
+ 
  1998-07-02  Jim Kingdon  <kingdon@harvey.cyclic.com>
  
  	* sanity.sh (unedit-without-baserev): Move the test itself to be
***************
*** 2858,2863 ****
--- 3050,3079 ----
  
  	* sanity.sh (modes2): Touch the file before chmod'ing it.
  
+ 1998-06-23  Andreas Huber  <ahuber@ping.at>
+ 
+ 	* server.c (mkdir_p): Search for the first occurrence of '/' instead
+ 	of just skipping the first character. This is required for platforms,
+ 	where absolute path names do not necessarily start with a '/'.
+ 
+ 	* server.c (serve_root): Added a :local: prefix for platforms, where a
+ 	path may contain ':'.
+ 
+ 	* server.c (receive_file): Look up the file in Entries first to see if
+ 	it has a '-kb' option attached to it. Then create the file accordingly.
+ 
+ 	* server.c (server_updated): Look at finfo->rcs->expand first, to see
+ 	if it includes a '-kb'. If it does, open the file in binary mode. We
+ 	also need to use buf_read_file_to_eof() and buf_chain_length() now.
+ 
+ 	* logmsg.c (logfile_write): Changed the quoting character from
+ 	`' to `".
+ 
+ 	* expand_path.c (expand_variable): Replaced CVSroot_original by
+ 	CVSroot_directory, since former may include the access method.
+ 	This is for platforms, where paths may contain ':' and a :local:
+ 	prefix is required.
+ 
  1998-06-21  Ian Lance Taylor  <ian@cygnus.com>
  
  	* update.c (merge_files): Revert changes of 1998-06-19.  Instead,
***************
*** 2900,2905 ****
--- 3116,3130 ----
  	directory.
  	(zlib.o): Depend upon zlib.h.
  
+ 1998-06-16  Murray Bishop  <mbishop@acnielsen.com.au>
+ 
+ 	* sanity.sh: Modify to run test for windows-NT using cygwin32
+ 	with compiler MS Visual C++ 4.2.
+ 
+ 1998-06-12  Murray Bishop  <mbishop@acnielsen.com.au>
+ 
+ 	* sanity.sh: Modify as was run for OS/2 EMX testing.
+ 
  1998-06-09  Mike Sutton@SAIC
  
  	Make it compile with Sun's bundled K&R C compiler:
***************
*** 2947,2958 ****
--- 3172,3212 ----
  
  	* sanity.sh (tag8k): Add a test for the 1998-05-02 rcs.c bug fix.
  
+ 1998-05-31  Andreas Huber  <ahuber@ping.at>
+ 
+ 	* client.c, commit.c, filesubr.c, import.c, rcs.c, update.c:
+ 	Replaced all occurrences of chmod() by CVS_CHMOD().
+ 
+ 	* client.c (start_rsh_server) [START_RSH_WITH_POPEN_RW]:
+ 	Slightly reordered the arguments to rsh to match the ordering in the
+ 	!START_RSH_WITH_POPEN_RW case.
+ 
+ 	* client.c (start_rsh_server) [!START_RSH_WITH_POPEN_RW,
+ 	RSH_NEEDS_BINARY]: Added missing '-b' to the rsh argument list.
+ 
+ 	* filesubr.c: Replaced one occurrence of rename() by CVS_RENAME().
+ 
+ 	* rcs.c, rcs.h: Added two new functions: RCS_get_cached() and
+ 	RCS_cache_close(). On some platforms, it is not possible to rename()
+ 	or chmod() open files. The new functions are used to check if a
+ 	particular file is currently kept open in the RCS cache and to close
+ 	it, if necessary.
+ 
+ 	* server.c (server) [RSHD_NOT_TRANSPARENT]: On some platforms with a
+ 	non-tranparent rshd, the standard handles need to be switched to
+ 	binary mode.
+ 
  1998-05-26  Jim Kingdon  <kingdon@harvey.cyclic.com>
  
  	* rcs.c (annotate): Call tag_check_valid like the other functions
  	which have a -r option.
  	* sanity.sh (ann): New test ann-14 tests for this.
  
+ 1998-05-25  Murray Bishop  <mbishop@acnielsen.com.au>
+ 
+ 	* commit.c (commit): Open the -F logfile in text rather than
+ 	binary mode to pass log-11 and keywordlog-7 under OS/2 EMX.
+ 
  1998-05-24  Jim Kingdon  <kingdon@harvey.cyclic.com>
  
  	* sanity.sh (importc): New tests importc-5 through importc-8 test
***************
*** 2989,2994 ****
--- 3243,3275 ----
  	* wrapper.c (wrap_add): Disable -t/-f wrappers at least until the
  	serious bug can be fixed.
  
+ 1998-05-19  Murray Bishop  <mbishop@acnielsen.com.au>
+ 
+ 	* sanity.sh: Modify to run for OS/2 EMX testing.
+ 	* commit.c (commit): Open the -F logfile in text rather than
+ 	binary mode to pass log-11 and keywordlog-7 under OS/2 EMX.
+ 	* parseinfo.c (parse_config): have fp_info closed before 
+ 	returning, even if goto error_return happened. Pass config-5.
+ 
+ 1998-05-19  Murray Bishop <mbishop@acnielsen.com.au>
+ 
+ 	Murray Bishop applies the Andreas Huber <ahuber.ping.at>
+ 	patches for cvs-1.9.27
+ 	
+ 	* client.c (change_mode) [!CHMOD_BROKEN]: Call CVS_CHMOD 
+ 	instead of chmod.
+ 	* client.c (start_rsh_server): Move -b flag after hostname.
+ 	* commit.c (fix_rcs_modes): Use CVS_CHMOD in place of chmod.
+ 	* filesubr.c (xchmod): Use CVS_CHMOD in place of chmod.
+ 	* filesubr.c (rename_file): Use CVS_RENAME in place of rename.
+ 	* import.c (add_rcs_file): Use CVS_CHMOD in place of chmod.
+ 	* rcs.c (RCS_checkout): Use CVS_CHMOD in place of chmod.
+ 	* rcs.c (RCS_get_cached): Add function.
+ 	* rcs.c (RCS_cache_close): Add function.
+ 	* rcs.h: add prototypes for RCS_get_cached and RCS_cache_close.
+ 	* server.c (server): Set stdin, stdout, stderr into binary mode.
+ 	* update.c (patch_file): Use CVS_CHMOD in place of chmod.
+ 	
  1998-05-15  Jim Kingdon  <kingdon@harvey.cyclic.com>
  
  	* checkout.c (checkout): Call server_pathname_check on the
Index: src/client.c
===================================================================
RCS file: e:/reposit/gnu/cvs/src/client.c,v
retrieving revision 1.1.1.3
retrieving revision 1.1.3.2.4.2
diff -c -r1.1.1.3 -r1.1.3.2.4.2
*** src/client.c	2000/12/19 16:58:09	1.1.1.3
--- src/client.c	2001/01/01 15:51:34	1.1.3.2.4.2
***************
*** 433,439 ****
  	mode &= ~oumask;
      }
  
!     if (chmod (filename, mode) < 0)
  	return errno;
      return 0;
  #endif /* ! CHMOD_BROKEN */
--- 433,439 ----
  	mode &= ~oumask;
      }
  
!     if (CVS_CHMOD (filename, mode) < 0)
  	return errno;
      return 0;
  #endif /* ! CHMOD_BROKEN */
***************
*** 2880,2886 ****
  	     * sure it matters what toplevel_repos we get, but it does
  	     * matter that we don't hit the "internal error" code below).
  	     */
! 	    if (update_dir[0] == '/')
  		toplevel_repos = Name_Repository (update_dir, update_dir);
  	    else
  	    {
--- 2880,2886 ----
  	     * sure it matters what toplevel_repos we get, but it does
  	     * matter that we don't hit the "internal error" code below).
  	     */
! 	    if (isabsolute (update_dir))
  		toplevel_repos = Name_Repository (update_dir, update_dir);
  	    else
  	    {
***************
*** 4722,4727 ****
--- 4722,4728 ----
  
      /* The command line starts out with rsh. */
      rsh_argv[i++] = cvs_rsh;
+     rsh_argv[i++] = CVSroot_hostname;
  
  #ifdef RSH_NEEDS_BINARY_FLAG
      /* "-b" for binary, under OS/2. */
***************
*** 4735,4741 ****
  	rsh_argv[i++] = CVSroot_username;
      }
  
-     rsh_argv[i++] = CVSroot_hostname;
      rsh_argv[i++] = cvs_server;
      rsh_argv[i++] = "server";
  
--- 4736,4741 ----
***************
*** 4798,4803 ****
--- 4798,4808 ----
  	*p++ = cvs_rsh;
  	*p++ = CVSroot_hostname;
  
+ #ifdef RSH_NEEDS_BINARY_FLAG
+ 	/* "-b" for binary, under OS/2. */
+ 	*p++ = "-b";
+ #endif /* RSH_NEEDS_BINARY_FLAG */
+ 
  	/* If the login names differ between client and server
  	 * pass it on to rsh.
  	 */
***************
*** 5548,5561 ****
   */
  int
  client_process_import_file (message, vfile, vtag, targc, targv, repository,
!                             all_files_binary, modtime)
      char *message;
      char *vfile;
      char *vtag;
      int targc;
      char *targv[];
      char *repository;
!     int all_files_binary;
  
      /* Nonzero for "import -d".  */
      int modtime;
--- 5553,5566 ----
   */
  int
  client_process_import_file (message, vfile, vtag, targc, targv, repository,
!                             kopt, modtime)
      char *message;
      char *vfile;
      char *vtag;
      int targc;
      char *targv[];
      char *repository;
!     char *kopt;
  
      /* Nonzero for "import -d".  */
      int modtime;
***************
*** 5587,5596 ****
      }
  
      send_a_repository ("", repository, update_dir);
!     if (all_files_binary)
      {
! 	vers.options = xmalloc (4); /* strlen("-kb") + 1 */
! 	strcpy (vers.options, "-kb");
      }
      else
      {
--- 5592,5602 ----
      }
  
      send_a_repository ("", repository, update_dir);
!     if (kopt != NULL)
      {
! 	vers.options = xmalloc (strlen(kopt) + 3);
! 	strcpy (vers.options, "-k");
! 	strcat (vers.options, kopt);
      }
      else
      {
Index: src/client.h
===================================================================
RCS file: e:/reposit/gnu/cvs/src/client.h,v
retrieving revision 1.1.1.3
retrieving revision 1.1.3.2.4.2
diff -c -r1.1.1.3 -r1.1.3.2.4.2
*** src/client.h	2000/12/19 16:58:11	1.1.1.3
--- src/client.h	2001/01/01 15:51:36	1.1.3.2.4.2
***************
*** 194,200 ****
  extern void client_import_setup PROTO((char *repository));
  extern int client_process_import_file
      PROTO((char *message, char *vfile, char *vtag,
! 	   int targc, char *targv[], char *repository, int all_files_binary,
  	   int modtime));
  extern void client_import_done PROTO((void));
  extern void client_notify PROTO((char *, char *, char *, int, char *));
--- 194,200 ----
  extern void client_import_setup PROTO((char *repository));
  extern int client_process_import_file
      PROTO((char *message, char *vfile, char *vtag,
! 	   int targc, char *targv[], char *repository, char *kopt,
  	   int modtime));
  extern void client_import_done PROTO((void));
  extern void client_notify PROTO((char *, char *, char *, int, char *));
Index: src/cvsbug.sh
===================================================================
RCS file: e:/reposit/gnu/cvs/src/cvsbug.sh,v
retrieving revision 1.1.1.1
retrieving revision 1.1.3.1.4.1
diff -c -r1.1.1.1 -r1.1.3.1.4.1
*** src/cvsbug.sh	1999/05/17 03:35:30	1.1.1.1
--- src/cvsbug.sh	2000/12/19 17:08:00	1.1.3.1.4.1
***************
*** 85,93 ****
  
  [ -z "$TMPDIR" ] && TMPDIR=/tmp
  
! TEMP=$TMPDIR/p$$
! BAD=$TMPDIR/pbad$$
! REF=$TMPDIR/pf$$
  
  if [ -z "$LOGNAME" -a -n "$USER" ]; then
    LOGNAME=$USER
--- 85,93 ----
  
  [ -z "$TMPDIR" ] && TMPDIR=/tmp
  
! TEMP="`/bin/mktemp $TMPDIR/p.XXXXXX`"
! BAD="`/bin/mktemp $TMPDIR/pbad.XXXXXX`"
! REF="`/bin/mktemp $TMPDIR/pf.XXXXXX`"
  
  if [ -z "$LOGNAME" -a -n "$USER" ]; then
    LOGNAME=$USER
Index: src/expand_path.c
===================================================================
RCS file: e:/reposit/gnu/cvs/src/expand_path.c,v
retrieving revision 1.1.1.2
retrieving revision 1.1.3.2.4.1
diff -c -r1.1.1.2 -r1.1.3.2.4.1
*** src/expand_path.c	1999/07/12 02:05:14	1.1.1.2
--- src/expand_path.c	2000/12/19 17:08:00	1.1.3.2.4.1
***************
*** 272,278 ****
      int line;
  {
      if (strcmp (name, CVSROOT_ENV) == 0)
! 	return CVSroot_original;
      else if (strcmp (name, "RCSBIN") == 0)
      {
  	error (0, 0, "RCSBIN internal variable is no longer supported");
--- 272,278 ----
      int line;
  {
      if (strcmp (name, CVSROOT_ENV) == 0)
! 	return CVSroot_directory;
      else if (strcmp (name, "RCSBIN") == 0)
      {
  	error (0, 0, "RCSBIN internal variable is no longer supported");
Index: src/filesubr.c
===================================================================
RCS file: e:/reposit/gnu/cvs/src/filesubr.c,v
retrieving revision 1.1.1.3
retrieving revision 1.1.3.2.4.2
diff -c -r1.1.1.3 -r1.1.3.2.4.2
*** src/filesubr.c	2000/12/19 16:58:15	1.1.1.3
--- src/filesubr.c	2001/01/01 15:51:41	1.1.3.2.4.2
***************
*** 383,389 ****
      if (noexec)
  	return;
  
!     if (chmod (fname, mode) < 0)
  	error (0, errno, "cannot change mode of file %s", fname);
  }
  
--- 383,389 ----
      if (noexec)
  	return;
  
!     if (CVS_CHMOD (fname, mode) < 0)
  	error (0, errno, "cannot change mode of file %s", fname);
  }
  
***************
*** 401,407 ****
      if (noexec)
  	return;
  
!     if (rename (from, to) < 0)
  	error (1, errno, "cannot rename file %s to %s", from, to);
  }
  
--- 401,407 ----
      if (noexec)
  	return;
  
!     if (CVS_RENAME (from, to) < 0)
  	error (1, errno, "cannot rename file %s to %s", from, to);
  }
  
Index: src/import.c
===================================================================
RCS file: e:/reposit/gnu/cvs/src/import.c,v
retrieving revision 1.1.1.3
retrieving revision 1.1.3.2.4.2
diff -c -r1.1.1.3 -r1.1.3.2.4.2
*** src/import.c	2000/12/19 16:58:18	1.1.1.3
--- src/import.c	2001/01/01 15:51:44	1.1.3.2.4.2
***************
*** 480,487 ****
  		    err += client_process_import_file (message, dp->d_name,
                                                         vtag, targc, targv,
                                                         repository,
!                                                        keyword_opt != NULL &&
! 						       keyword_opt[0] == 'b',
  						       use_file_modtime);
  		else
  #endif
--- 480,486 ----
  		    err += client_process_import_file (message, dp->d_name,
                                                         vtag, targc, targv,
                                                         repository,
! 						       keyword_opt,
  						       use_file_modtime);
  		else
  #endif
***************
*** 1405,1411 ****
  	    (sb.st_mode & S_IRWXU) >> 6) &
  	   ~cvsumask &
  	   ~(S_IWRITE | S_IWGRP | S_IWOTH);
!     if (chmod (rcs, mode) < 0)
      {
  	ierrno = errno;
  	if (add_logfp != NULL)
--- 1404,1410 ----
  	    (sb.st_mode & S_IRWXU) >> 6) &
  	   ~cvsumask &
  	   ~(S_IWRITE | S_IWGRP | S_IWOTH);
!     if (CVS_CHMOD (rcs, mode) < 0)
      {
  	ierrno = errno;
  	if (add_logfp != NULL)
Index: src/parseinfo.c
===================================================================
RCS file: e:/reposit/gnu/cvs/src/parseinfo.c,v
retrieving revision 1.1.1.3
retrieving revision 1.1.3.2.4.2
diff -c -r1.1.1.3 -r1.1.3.2.4.2
*** src/parseinfo.c	2000/12/19 16:58:24	1.1.1.3
--- src/parseinfo.c	2001/01/01 15:51:49	1.1.3.2.4.2
***************
*** 214,220 ****
      char *cvsroot;
  {
      char *infopath;
!     FILE *fp_info;
      char *line = NULL;
      size_t line_allocated = 0;
      size_t len;
--- 214,220 ----
      char *cvsroot;
  {
      char *infopath;
!     FILE *fp_info = NULL; /* look like fopen failed */
      char *line = NULL;
      size_t line_allocated = 0;
      size_t len;
***************
*** 418,423 ****
--- 418,427 ----
      return 0;
  
   error_return:
+     if (fp_info != NULL)
+        {
+        fclose( fp_info );
+        }
      if (infopath != NULL)
  	free (infopath);
      if (line != NULL)
Index: src/rcs.c
===================================================================
RCS file: e:/reposit/gnu/cvs/src/rcs.c,v
retrieving revision 1.1.1.3
retrieving revision 1.1.3.2.4.2
diff -c -r1.1.1.3 -r1.1.3.2.4.2
*** src/rcs.c	2000/12/19 16:58:25	1.1.1.3
--- src/rcs.c	2001/01/01 15:51:50	1.1.3.2.4.2
***************
*** 4443,4449 ****
  		       workfile);
  	}
  
! 	ret = chmod (workfile,
  		     change_rcs_mode
  		     ? rcs_mode
  		     : sb.st_mode & ~(S_IWRITE | S_IWGRP | S_IWOTH));
--- 4443,4449 ----
  		       workfile);
  	}
  
! 	ret = CVS_CHMOD (workfile,
  		     change_rcs_mode
  		     ? rcs_mode
  		     : sb.st_mode & ~(S_IWRITE | S_IWGRP | S_IWOTH));
***************
*** 4454,4460 ****
  	    return 1;
  	}
  
! 	ret = chmod (workfile,
  		     sb.st_mode & ~(S_IWRITE | S_IWGRP | S_IWOTH));
  #endif
  	if (ret < 0)
--- 4454,4460 ----
  	    return 1;
  	}
  
! 	ret = CVS_CHMOD (workfile,
  		     sb.st_mode & ~(S_IWRITE | S_IWGRP | S_IWOTH));
  #endif
  	if (ret < 0)
***************
*** 8513,8518 ****
--- 8513,8530 ----
  			    1);
  }
  
+ FILE* RCS_get_cached (name)
+     const char* name;
+ {
+     return cached_rcs != NULL &&
+         strcmp (cached_rcs->path, name) == 0 ?
+         cached_rcsbuf.fp : NULL;
+ }
+ 
+ void RCS_cache_close ()
+ {
+     rcsbuf_cache_close ();
+ }
  /*
   * For a given file with full pathname PATH and revision number REV,
   * produce a file label suitable for passing to diff.  The default
Index: src/rcs.h
===================================================================
RCS file: e:/reposit/gnu/cvs/src/rcs.h,v
retrieving revision 1.1.1.3
retrieving revision 1.1.3.2.4.2
diff -c -r1.1.1.3 -r1.1.3.2.4.2
*** src/rcs.h	2000/12/19 16:58:27	1.1.1.3
--- src/rcs.h	2001/01/01 15:51:54	1.1.3.2.4.2
***************
*** 242,244 ****
--- 242,247 ----
  extern int add_rcs_file PROTO ((char *, char *, char *, char *, char *,
  				char *, char *, int, char **,
  				char *, size_t, FILE *));
+ 
+ FILE* RCS_get_cached PROTO ((const char *));
+ void RCS_cache_close PROTO ((void));
Index: src/sanity.sh
===================================================================
RCS file: e:/reposit/gnu/cvs/src/sanity.sh,v
retrieving revision 1.1.1.3
retrieving revision 1.1.3.2.4.2
diff -c -r1.1.1.3 -r1.1.3.2.4.2
*** src/sanity.sh	2000/12/19 16:58:34	1.1.1.3
--- src/sanity.sh	2001/01/01 15:51:57	1.1.3.2.4.2
***************
*** 37,46 ****
  LC_ALL=C
  export LC_ALL
  
! # The default value of /tmp/cvs-sanity for TESTDIR is dubious,
  # because it loses if two people/scripts try to run the tests
  # at the same time.  Some possible solutions:
! # 1.  Use /tmp/cvs-test$$.  One disadvantage is that the old
  #     cvs-test* directories would pile up, because they wouldn't
  #     necessarily get removed.
  # 2.  Have everyone/everything running the testsuite set
--- 37,46 ----
  LC_ALL=C
  export LC_ALL
  
! # The default value of ${TMPDIR}/cvs-sanity for TESTDIR is dubious,
  # because it loses if two people/scripts try to run the tests
  # at the same time.  Some possible solutions:
! # 1.  Use ${TMPDIR}/cvs-test$$.  One disadvantage is that the old
  #     cvs-test* directories would pile up, because they wouldn't
  #     necessarily get removed.
  # 2.  Have everyone/everything running the testsuite set
***************
*** 61,66 ****
--- 61,82 ----
  
  echo 'This test should produce no other output than this line, and a final "OK".'
  
+ # FIXME: The detection of OS_COMPILER_EMU only tests for OS.
+ # Is there some way to tell what compiled cvs? If so, then things
+ # like cygwin32 compiled cvs might be handled.
+ 
+ OS_COMPILER_EMU=""
+ if test x"${OS2_SHELL}" != x; then
+   OS_COMPILER_EMU="os2_gcc_emx"
+   RSH_FLAGS="-b"
+ fi
+ if test x"${OS}" = x"Windows_NT"; then
+   OS_COMPILER_EMU="win32_msvc_cygwin32"
+ fi
+ if test "x`uname`" = "xWindows_95"; then
+   OS_COMPILER_EMU="win95_msvc_mks"
+ fi
+ 
  if test x"$1" = x"-r"; then
  	shift
  	remote=yes
***************
*** 69,75 ****
  fi
  
  # The --keep option will eventually cause all the tests to leave around the
! # contents of the /tmp directory; right now only some implement it.  Not
  # useful if you are running more than one test.
  # FIXME: need some real option parsing so this doesn't depend on the order
  # in which they are specified.
--- 85,91 ----
  fi
  
  # The --keep option will eventually cause all the tests to leave around the
! # contents of the ${TMPDIR} directory; right now only some implement it.  Not
  # useful if you are running more than one test.
  # FIXME: need some real option parsing so this doesn't depend on the order
  # in which they are specified.
***************
*** 87,93 ****
    echo "Usage: `basename $0` [-r] [--keep] CVS-TO-TEST [TESTS-TO-RUN...]" 1>&2
    exit 1
    ;;
! /*)
    testcvs=$1
    ;;
  *)
--- 103,109 ----
    echo "Usage: `basename $0` [-r] [--keep] CVS-TO-TEST [TESTS-TO-RUN...]" 1>&2
    exit 1
    ;;
! /*|[a-zA-Z]:/*)
    testcvs=$1
    ;;
  *)
***************
*** 123,128 ****
--- 139,356 ----
    fi
  fi
  
+ # Further tests (probably incepted in version 1.11 of CVS by
+ # Y2K hysteria) will rely on 01/01/1970 as the zero point. In
+ # OS/2, Windows-NT and Novell Netware, however, the DOS traditions
+ # are intact.
+ 
+ # The IntraNetware Client 4.11a does badly on rcs-5 when the /tmp
+ # is on Netware server. src/vers-ts.c(Version-TS) does
+ # utime (finfo->file, &t) with t.actime = t.modtime = 31564805 which
+ # causes modified time of file2 to be set to 1 jan 2099 (rather than
+ # 1 jan 1971). Looks to me like Netware counts file times from 1 jan
+ # 1980 0:0:0. Here is some mush to use dates in 1980 rather than 1971
+ # when it looks like we have OS/2, NT or Netware.
+ 
+ DECADE="7"
+ if touch -t123123591979.59 netware; then
+   if $EXPR "`ls -l netware`" : \
+      "${DOTSTAR}1979${DOTSTAR}" >/dev/null; then
+     : base date probably before 1980
+   else
+     echo "I think you are using a DOS-style system or a Netware Fileserver"
+     DECADE="8"
+   fi
+ fi
+ rm netware
+ 
+ 
+ 
+ # Here are a bunch of things that let sanity.sh run better on EMX
+ # and on windows-NT.
+ 
+ case $OS_COMPILER_EMU in
+   os2_gcc_emx)
+ 	echo "Bending sanity.sh for ${OS_COMPILER_EMU}"
+ 
+ 	# Regexp to match the name of a temporary file (from cvs_temp_name).
+ 	# redefine to allow colon
+ 	tempname="[-a-zA-Z0-9/.%_:]*"
+ 
+ 	# when asked `type -p sh`, pd korn shell for OS/2 5.27 says 
+ 	# "sh is a tracked alias for d:\gnu\bin/sh.exe"
+ 	TESTSHELL=sh
+ 
+ 	# On OS/2 and Windows-NT, we can't make directories readonly with 
+ 	# chmod -w
+ 	# When the line below is uncommented, test needing that are not run
+ 	CANT_PROTECT_DIRS=1
+ 
+ 	# On OS/2 and Windows-NT, sometimes we can't run shell scripts by 
+ 	# naming them.
+ 	# When the line below is uncommented, hack around such problems
+ 	# Andreas Huber says when he is finished his port of 1.9.28.1
+ 	# scripts will run ok.
+ 	CANT_RUN_SCRIPTS=1
+ 
+ 	# On OS/2 with EMX, invoke edhack.exe instead of a shell script editme
+ 	# You'll need edhack.exe on your path for this one
+ 	# You can find a copy below in this file (look for edhack.c)
+ 	#EDHACK_EDITOR=1
+ 
+ 	# On OS/2 and Win-NT do tests for PreservePermissions only if asked
+ 	# (that way, default sanity.sh run is easy)
+ 	WONT_PRESERVE_PERMISSIONS=1
+ 
+ 	# OS/2 (EMX) ls - GNU file utilities 3.13 shows things like drwxa--
+ 	# rather than -r--r--r--. this breaks most of modes) test, so don't
+ 	# do it unless asked.
+ 	BROKEN_LS_L=1
+ 
+ 	# DEVNULL is used for expr comparison (like macro in src/cvs.h 
+ 	# (/dev/null) and also in windows-NT/config.h (nul) for 
+ 	# OS/2 emx gcc and Windows-NT MSVC++ want nul
+ 	DEVNULL=nul
+ 	DEVNULL_TIME="[a-zA-Z0-9: ]*"
+ 
+ 	# OS/2 EMX and cygwin32 have cat and echo emit lines with crlf at end
+ 	# This is no good for For making RCS files, so the kludge crlf2lf.exe
+ 	# can be used instead (you'll need it on your path)
+ 	# You can find a copy below in this file (look for crlf2lf.c)
+ 	CRLF_ENDLINES=1
+ 
+ 	# Under OS/2, we skip everything which is related to user IDs, access
+ 	# control and everything like that (anyone wishing to add LS-specific
+ 	# logic?)
+ 	SINGLE_USER=1
+ 
+ 	# Specific fixup for basic2-64. Since we're proud to use "/" eveywhere,
+ 	# we must ensure that when TMPPWD is set, it's allowed to have drive
+ 	# letter, which is not repored by pwd, and reference to /cvs-sanity.
+ 	TMPPWD_FIXUP=1
+ 
+ 	# Prefix for local repositories, needed for the multiple repositories
+ 	# tests.
+ 	LOCAL_ROOT_PREFIX=:local:
+ 
+ 
+   	SLASH="/"
+   ;;
+   win32_msvc_cygwin32)
+ 	echo "Bending sanity.sh for ${OS_COMPILER_EMU}"
+ 	tempname="[-a-zA-Z0-9/\\.%_:]*"
+ 
+ 	# reserved-13b works like this
+ 	TESTSHELL=sh
+ 
+ 	CANT_PROTECT_DIRS=1
+ 	CANT_RUN_SCRIPTS=1
+ 	EDHACK_EDITOR=1
+ 	WONT_PRESERVE_PERMISSIONS=1
+ 
+ 	# FIXME: cygwyn32 is a lot less broken than emx, and may possibly
+ 	# be made to work. 
+         # For instance, emx fails at modes-5, but nt fails at modes-7b
+ 	# when the BROKEN_LS_L isn't defined.
+ 	# On the other hand, maybe cygwin32 not passing modes) is a real bug.
+ 	BROKEN_LS_L=1
+ 	DEVNULL=nul
+ 	CRLF_ENDLINES=1
+ 
+ 	# Some RCS outputs have \ rather than / on windows-NT when
+ 	# compiled by MS Visual C++
+   	SLASH="[/\\]"
+ 
+ 	# death2-diff tests give ? as filetime of nul
+ 	DEVNULL_TIME="?"
+   ;;
+   win95_msvc_mks)
+ 	echo "Bending sanity.sh for ${OS_COMPILER_EMU}"
+ 	tempname="[-a-zA-Z0-9/\\.%_:]*"
+ 
+ 	# MKS ksh seems to run DOS type rather than *nix type, so
+ 	# shell detection just doesn't work.
+ 	TESTSHELL=sh
+ 
+ 	CANT_PROTECT_DIRS=1
+ 	CANT_RUN_SCRIPTS=1
+ 	EDHACK_EDITOR=1
+ 	WONT_PRESERVE_PERMISSIONS=1
+ 
+ 	# FIXME: cygwyn32 is a lot less broken than emx, and may possibly
+ 	# be made to work. 
+         # For instance, emx fails at modes-5, but nt fails at modes-7b
+ 	# when the BROKEN_LS_L isn't defined.
+ 	# On the other hand, maybe cygwin32 not passing modes) is a real bug.
+ 	BROKEN_LS_L=1
+ 	DEVNULL=nul
+ 	CRLF_ENDLINES=1
+ 
+ 	# Some RCS outputs have \ rather than / on windows-NT when
+ 	# compiled by MS Visual C++
+   	SLASH="[/\\]"
+ 
+ 	# death2-diff tests give ? as filetime of nul
+ 	DEVNULL_TIME="?"
+  	DEVNULL_TIME="[a-zA-Z0-9: ]*"
+   ;;
+   *)
+ 	DEVNULL=/dev/null
+ 	SLASH="/"
+ 	DEVNULL_TIME="[a-zA-Z0-9: ]*"
+ 	FILESYSTEM_TICK=0
+   ;;
+ esac
+ 
+ 
+ # here is a hack that converts files with cr lf end lines to lf endlines
+ lf_endlines ()
+ {
+   if test x"${CRLF_ENDLINES}" = x; then
+     return 0
+   fi
+   crlf2lf <$1 ${TMPDIR}/lf$$
+   cp ${TMPDIR}/lf$$ $1
+   rm -f ${TMPDIR}/lf$$
+   return 0
+ }
+ # /* crlf2lf.c */
+ # #include <stdio.h>
+ # 
+ # int Usage( const char * pszPgmname )
+ # {
+ #    fprintf( stdout, "Usage: %s OUTFILE\n", pszPgmname );
+ #    fprintf( stdout,
+ #       "\n"
+ #       "Copy stdin to OUTFILE replacing crlf by lf.\n");
+ #    return 1;
+ # }
+ # 
+ # int main(int argc, const char * argv[])
+ # {
+ #    FILE *         pOutFile;
+ #    int i;
+ # 
+ #    if (argc != 2)
+ #       {
+ #       return Usage(argv[0]);
+ #       }
+ #    pOutFile = fopen( argv[1], "wb");
+ #    if (0 == pOutFile)
+ #       {
+ #       printf("Can't open %s for writing\n", argv[1]);
+ #       return Usage(argv[0]);
+ #       }
+ # 
+ #    while (EOF != (i= getc(stdin)))
+ #       putc(i, pOutFile);
+ #    return 0;
+ # 
+ #    fflush( pOutFile );
+ # }
+ 
+ 
+ 
  # FIXME: try things (what things? checkins?) without -m.
  #
  # Some of these tests are written to expect -Q.  But testing with
***************
*** 186,214 ****
  
  # You can't run CVS as root; print a nice error message here instead
  # of somewhere later, after making a mess.
! case "`$ID -u`" in
!   "0")
!     echo "Test suite does not work correctly when run as root" >&2
!     exit 1
!     ;;
! 
!   "")
!     ID=`find_tool id`
!     if test -z "$ID" ; then
!       echo 'Running these tests requires an "id" program that understands the' >&2
!       echo '-u and -n flags.  Make sure that such an id (GNU, or many but not' >&2
!       echo 'all vendor-supplied versions) is in your path.' >&2
        exit 1
!     fi
!     ;;
! esac
! username=`$ID -un`
! if $EXPR "${username}" : "${username}" >/dev/null; then
!   : good, it works
  else
!   echo "Test suite does not work correctly when run by a username" >&2
!   echo "containing regular expression meta-characters." >&2
!   exit 1
  fi
  
  # Cause NextStep 3.3 users to lose in a more graceful fashion.
--- 414,446 ----
  
  # You can't run CVS as root; print a nice error message here instead
  # of somewhere later, after making a mess.
! if test x"${SINGLE_USER}" = x; then
!   case "`$ID -u`" in
!     "0")
!       echo "Test suite does not work correctly when run as root" >&2
        exit 1
!       ;;
! 
!     "")
!       ID=`find_tool id`
!       if test -z "$ID" ; then
!         echo 'Running these tests requires an "id" program that understands the' >&2
!         echo '-u and -n flags.  Make sure that such an id (GNU, or many but not' >&2
!         echo 'all vendor-supplied versions) is in your path.' >&2
!         exit 1
!       fi
!       ;;
!   esac
!   username=`$ID -un`
!   if $EXPR "${username}" : "${username}" >/dev/null; then
!     : good, it works
!   else
!     echo "Test suite does not work correctly when run by a username" >&2
!     echo "containing regular expression meta-characters." >&2
!     exit 1
!   fi
  else
!   username=$LOGNAME
  fi
  
  # Cause NextStep 3.3 users to lose in a more graceful fashion.
***************
*** 602,614 ****
  # likely that we test whether CVS is distinguishing between TMPPWD
  # and TESTDIR.  However, there is no guarantee that will test it anyway.
  # If we really care, we should do something along the lines of:
! #   cd /tmp/cvs-sanity  # In reality, overridable with environment variable?
  #   mkdir realdir
  #   ln -s realdir testdir
! #   TESTDIR=/tmp/cvs-sanity/testdir
! #   TMPPWD=/tmp/cvs-sanity/realdir
! TMPPWD=`pwd`
  
  # Avoid picking up any stray .cvsrc, etc., from the user running the tests
  mkdir home
  HOME=${TESTDIR}/home; export HOME
--- 834,944 ----
  # likely that we test whether CVS is distinguishing between TMPPWD
  # and TESTDIR.  However, there is no guarantee that will test it anyway.
  # If we really care, we should do something along the lines of:
! #   cd ${TMPDIR}/cvs-sanity  # In reality, overridable with environment variable?
  #   mkdir realdir
  #   ln -s realdir testdir
! #   TESTDIR=${TMPDIR}/cvs-sanity/testdir
! #   TMPPWD=${TMPDIR}/cvs-sanity/realdir
! 
! # allow overide of TMPPWD from outside sanity.sh
! 
! if test x"${TMPPWD}" = x; then
!   if test x"${SLASH}" = x"/"; then
!     TMPPWD=`pwd`
!     # Fix for OS/2
!     if test x"${TMPPWD_FIXUP}" != x; then
!       TMPPWD="[A-Za-z:]*${SLASH}*${TMPPWD}"
!     fi
!   else
!     if test x"${TESTDIR}" = x"/tmp/cvs-sanity"; then
  
+       # but here's a hack that makes basic2-64 happier with winnt, MS Visual C++ 4.0
+       # and cygwin32 beta19 bash by accepting optional drive letter and slosh
+       # instead of slash
+       TMPPWD=[A-Za-z:]*${SLASH}tmp${SLASH}cvs-sanity
+ 
+     else
+       echo '${SLASH} != / and ${TESTDIR} != /tmp/cvs-sanity. TMPPWD will be wrongly set'
+     fi
+   fi
+ fi
+ 
+ 
+ # In various places, CVS waits a tick of the filesystem clock to make
+ # sure that files have different timestamps. This was coded as sleep (1).
+ # For some filesystems (eg FAT, FAT32) 2 seconds are needed.
+ # In my local cvs, I've defined FILESYSTEM_TICK in windows-NT/options.h,
+ # and in src/cvs.h a default of 1 second is defined.
+ #
+ # I found some timing problems using sanity.sh Windows-95 on Pentium 90
+ # with MKS Toolkit and FAT. These are worse on Pentium-II 333.
+ # On the other hand, I didn't see these problems withPentium 133 NT and
+ # cygwin32 on a netware 4.10 server for which the script below reports
+ # 2 seconds per filesystem tick.
+ # Nor did I see these problems with OS/2 HPFS using EMX port.
+ #
+ # Perhaps part of the problem is not 
+ #
+ # I suspect that CVS doesn't sleep in enough places for this to work 
+ # properly.
+ #
+ # multibranch2 often fails, as does the second ci here :
+ #   cvs add file1
+ #   cvs ci
+ #   echo foo >file1
+ #   cvs ci
+ #
+ # Windows_95 on Pentium 90 using FAT I found that I had about 18 mostly
+ # consistent failures where sanity.sh expected a file just modified
+ # in the sandbox to be checked in and cvs didn't do that.
+ # When I ran on Pentium-II 333 (FAT32) I got about 30.
+ # Eventually, I tried putting sleep before the echo command modifying
+ # the file - problem gone.
+ # I'm told FAT doesn't keep the low order bit of time in seconds.
+ #
+ # The code below works out the number of seconds (>=0) to wait between
+ # creating files to be sure that they have different timestamps.
+ # I've put sleeps where they seem to be needed (before
+ # echo cat or cp before ci modified, 
+ # before update -r,
+ # before tag -b branch)
+ #
+ # Having different timestamps on fileX and in CVS/Entries for fileX is
+ # how cvs decides file is modified since checkout. Detection would be
+ # more robust if bytesize was also compared. 
+ # Would changing the Entries file be a bad thing?
+ #
+ # Murray Bishop, 1 July 98
+ 
+ if test "x${FILESYSTEM_TICK}" = "x"; then
+   seconds=0
+   while test "x${FILESYSTEM_TICK}" = "x"; do
+     echo tock >tick1
+     sleep ${seconds}
+     echo tock >tick2
+     sleep ${seconds}
+     echo tock >tick3
+     sleep ${seconds}
+     echo tock >tick4
+     sleep ${seconds}
+     echo tock >tick5
+     if test  tick1 -ot tick2 \
+ 	-a tick2 -ot tick3 \
+ 	-a tick3 -ot tick4 \
+ 	-a tick4 -ot tick5; then
+       FILESYSTEM_TICK=${seconds}
+     fi
+     seconds=`expr ${seconds} + 1`
+   done
+   rm tick1 tick2 tick3 tick4 tick5
+ fi
+ if test "x${FILESYSTEM_TICK}" != "x0"; then
+   : When we depart from distribution behavior - say so.
+   echo "Waiting ${FILESYSTEM_TICK} seconds between creating files gives different modified times."
+ fi
+ 
+ 
+ 
  # Avoid picking up any stray .cvsrc, etc., from the user running the tests
  mkdir home
  HOME=${TESTDIR}/home; export HOME
***************
*** 655,661 ****
  	tests="${tests} crerepos rcs rcs2 rcs3 lockfiles backuprecover"
  	# More history browsing, &c.
  	tests="${tests} history"
! 	tests="${tests} big modes modes2 modes3 stamps"
  	# PreservePermissions stuff: permissions, symlinks et al.
  	# tests="${tests} perms symlinks symlinks2 hardlinks"
  	# More tag and branch tests, keywords.
--- 985,997 ----
  	tests="${tests} crerepos rcs rcs2 rcs3 lockfiles backuprecover"
  	# More history browsing, &c.
  	tests="${tests} history"
! 	tests="${tests} big"
! 	if test x"${BROKEN_LS_L}" = x; then
! 	  tests="${tests} modes modes2 modes3"
! 	else
! 	  echo "Won't run modes modes2 modes3 tests - BROKEN_LS_L"
! 	fi
! 	test="${tests} stamps"
  	# PreservePermissions stuff: permissions, symlinks et al.
  	# tests="${tests} perms symlinks symlinks2 hardlinks"
  	# More tag and branch tests, keywords.
***************
*** 687,700 ****
  	ISDIFF=false
  
  	cd $DIR_1
! 	find . -print | fgrep -v /CVS | sort > /tmp/dc$$d1
  
  	# go back where we were to avoid symlink hell...
  	cd $OLDPWD
  	cd $DIR_2
! 	find . -print | fgrep -v /CVS | sort > /tmp/dc$$d2
  
! 	if diff /tmp/dc$$d1 /tmp/dc$$d2 >/dev/null 2>&1
  	then
  		:
  	else
--- 1023,1037 ----
  	ISDIFF=false
  
  	cd $DIR_1
! 	# EMX gnu find 4.1 emits CVS rather than ./CVS
! 	find . -print | fgrep -v CVS | sort > ${TMPDIR}/dc$$d1
  
  	# go back where we were to avoid symlink hell...
  	cd $OLDPWD
  	cd $DIR_2
! 	find . -print | fgrep -v CVS | sort > ${TMPDIR}/dc$$d2
  
! 	if diff ${TMPDIR}/dc$$d1 ${TMPDIR}/dc$$d2 >/dev/null 2>&1
  	then
  		:
  	else
***************
*** 710,722 ****
  				ISDIFF=true
  			fi
  		fi
! 	done < /tmp/dc$$d1
! 	rm -f /tmp/dc$$*
  }
  
  # Set up CVSROOT (the crerepos tests will test operating without CVSROOT set).
  CVSROOT_DIRNAME=${TESTDIR}/cvsroot
! CVSROOT=${CVSROOT_DIRNAME} ; export CVSROOT
  if test "x$remote" = xyes; then
  	# Currently we test :fork: and :ext: (see crerepos test).
  	# Testing :pserver: would be hard (inetd issues).
--- 1047,1059 ----
  				ISDIFF=true
  			fi
  		fi
! 	done < ${TMPDIR}/dc$$d1
! 	rm -f ${TMPDIR}/dc$$*
  }
  
  # Set up CVSROOT (the crerepos tests will test operating without CVSROOT set).
  CVSROOT_DIRNAME=${TESTDIR}/cvsroot
! CVSROOT=:local:${CVSROOT_DIRNAME} ; export CVSROOT
  if test "x$remote" = xyes; then
  	# Currently we test :fork: and :ext: (see crerepos test).
  	# Testing :pserver: would be hard (inetd issues).
***************
*** 904,913 ****
  	  # The .* here will normally be "No such file or directory",
  	  # but if memory serves some systems (AIX?) have a different message.
  :	  dotest_fail basica-9 \
! 	    "${testcvs} -q -d ${TESTDIR}/nonexist update" \
  "${PROG}: cannot access cvs root ${TESTDIR}/nonexist: .*"
  	  dotest_fail basica-9 \
! 	    "${testcvs} -q -d ${TESTDIR}/nonexist update" \
  "${PROG} \[[a-z]* aborted\]: ${TESTDIR}/nonexist/CVSROOT: .*"
  
  	  dotest basica-10 "${testcvs} annotate" \
--- 1241,1250 ----
  	  # The .* here will normally be "No such file or directory",
  	  # but if memory serves some systems (AIX?) have a different message.
  :	  dotest_fail basica-9 \
! 	    "${testcvs} -q -d :local:${TESTDIR}/nonexist update" \
  "${PROG}: cannot access cvs root ${TESTDIR}/nonexist: .*"
  	  dotest_fail basica-9 \
! 	    "${testcvs} -q -d :local:${TESTDIR}/nonexist update" \
  "${PROG} \[[a-z]* aborted\]: ${TESTDIR}/nonexist/CVSROOT: .*"
  
  	  dotest basica-10 "${testcvs} annotate" \
***************
*** 1093,1098 ****
--- 1430,1436 ----
  ${TESTDIR}/cvsroot/first-dir/sdir2/sfile2,v  <--  sfile2
  initial revision: 1\.1
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo sfile1 develops >Emptydir/sfile1
  	  dotest basicb-6 "${testcvs} -q ci -m modify" \
  "Checking in Emptydir/sfile1;
***************
*** 1909,1914 ****
--- 2247,2253 ----
  			cd $i
  
  			# modify a file
+ 			sleep ${FILESYSTEM_TICK}
  			echo file6 >>file6
  
  			# delete a file
***************
*** 2049,2055 ****
  		fi
  
  		# directory copies are done in an oblique way in order to avoid a bug in sun's tmp filesystem.
! 		mkdir first-dir.cpy ; (cd first-dir ; tar cf - . | (cd ../first-dir.cpy ; tar xf -))
  
  		directory_cmp first-dir export-dir
  
--- 2388,2405 ----
  		fi
  
  		# directory copies are done in an oblique way in order to avoid a bug in sun's tmp filesystem.
! 		if test "x${OS_COMPILER_EMU}" = "xwin95_msvc_mks"; then
! 		  # MKS Toolkit on win95 sometimes chokes on the usual way
! 		  mkdir first-dir.cpy
! 		  cd first-dir
! 		  tar cf ${TESTDIR}/ball.tar .
! 		  cd ../first-dir.cpy
! 		  tar xf ${TESTDIR}/ball.tar
! 		  rm ${TESTDIR}/ball.tar
! 		  cd ..
! 		else
! 		 mkdir first-dir.cpy ; (cd first-dir ; tar cf - . | (cd ../first-dir.cpy ; tar xf -))
! 		fi
  
  		directory_cmp first-dir export-dir
  
***************
*** 2097,2103 ****
  
  		rm -r export-dir first-dir
  		mkdir first-dir
! 		(cd first-dir.cpy ; tar cf - . | (cd ../first-dir ; tar xf -))
  
  		# update the top, cancelling sticky tags, retag, update other copy, compare.
  		cd first-dir
--- 2447,2463 ----
  
  		rm -r export-dir first-dir
  		mkdir first-dir
! 		if test "x${OS_COMPILER_EMU}" = "xwin95_msvc_mks"; then
! 		  # MKS Toolkit on win95 sometimes chokes on the usual way
! 		  cd first-dir.cpy
! 		  tar cf ${TESTDIR}/ball.tar .
! 		  cd ../first-dir
! 		  tar xf ${TESTDIR}/ball.tar
! 		  rm ${TESTDIR}/ball.tar
! 		  cd ..
! 		else
! 		  (cd first-dir.cpy ; tar cf - . | (cd ../first-dir ; tar xf -))
! 		fi
  
  		# update the top, cancelling sticky tags, retag, update other copy, compare.
  		cd first-dir
***************
*** 2490,2495 ****
--- 2850,2856 ----
  U trdiff/bar
  U trdiff/foo"
  		cd trdiff
+ 		sleep ${FILESYSTEM_TICK}
  		echo something >> foo
  		dotest rdiff-3 \
  		  "${testcvs} ci -m added-something foo" \
***************
*** 2552,2559 ****
  ! \$''Name: local-v0 \$
  ! something
  Index: trdiff/new
! diff -c /dev/null trdiff/new:1\.1
! \*\*\* /dev/null	.*
  --- trdiff/new	.*
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 0 \*\*\*\*
--- 2913,2920 ----
  ! \$''Name: local-v0 \$
  ! something
  Index: trdiff/new
! diff -c '"${DEVNULL}"' trdiff/new:1\.1
! \*\*\* '"${DEVNULL}"'	.*
  --- trdiff/new	.*
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 0 \*\*\*\*
***************
*** 2767,2772 ****
--- 3128,3134 ----
  T file2'
  
  		# branch1
+ 		sleep ${FILESYSTEM_TICK}
  		if ${CVS} tag -b branch1  ; then
  		    pass 73
  		else
***************
*** 2774,2779 ****
--- 3136,3142 ----
  		fi
  
  		# and move to the branch.
+ 		sleep ${FILESYSTEM_TICK}
  		if ${CVS} update -r branch1  ; then
  		    pass 74
  		else
***************
*** 2800,2807 ****
  		dotest death-76a0 \
  "${testcvs} -q rdiff -r bp_branch1 -r branch1 first-dir" \
  "Index: first-dir/file3
! diff -c /dev/null first-dir/file3:1\.1\.2\.1
! \*\*\* /dev/null	.*
  --- first-dir/file3	.*
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 0 \*\*\*\*
--- 3163,3170 ----
  		dotest death-76a0 \
  "${testcvs} -q rdiff -r bp_branch1 -r branch1 first-dir" \
  "Index: first-dir/file3
! diff -c ${DEVNULL} first-dir/file3:1\.1\.2\.1
! \*\*\* ${DEVNULL}	.*
  --- first-dir/file3	.*
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 0 \*\*\*\*
***************
*** 2964,2969 ****
--- 3327,3333 ----
  		fi
  
  		# typo; try to get to the branch and fail
+ 		sleep ${FILESYSTEM_TICK}
  		dotest_fail 92.1a "${testcvs} update -r brnach1" \
  		  "${PROG}"' \[[a-z]* aborted\]: no such tag brnach1'
  		# Make sure we are still on the trunk
***************
*** 2979,2984 ****
--- 3343,3349 ----
  		fi
  
  		# back to branch1
+ 		sleep ${FILESYSTEM_TICK}
  		if ${CVS} update -r branch1  2>> ${LOGFILE}; then
  		    pass 93
  		else
***************
*** 3040,3045 ****
--- 3405,3411 ----
  done"
  
  	  # Make a branch and a non-branch tag.
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest death2-4 "${testcvs} -q tag -b branch" \
  'T file1
  T file4'
***************
*** 3048,3053 ****
--- 3414,3420 ----
  T file4'
  
  	  # Switch over to the branch.
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest death2-6 "${testcvs} -q update -r branch" ''
  
  	  # Delete the file on the branch.
***************
*** 3069,3075 ****
  RCS file: file1
  diff -N file1
  \*\*\* ${tempname}[ 	][	]*[a-zA-Z0-9: ]*
! --- /dev/null[ 	][ 	]*[a-zA-Z0-9: ]*
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 1 \*\*\*\*
  - first revision
--- 3436,3442 ----
  RCS file: file1
  diff -N file1
  \*\*\* ${tempname}[ 	][	]*[a-zA-Z0-9: ]*
! --- ${DEVNULL}[ 	][ 	]*${DEVNULL_TIME}
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 1 \*\*\*\*
  - first revision
***************
*** 3093,3099 ****
  RCS file: file1
  diff -N file1
  \*\*\* ${tempname}[ 	][	]*[a-zA-Z0-9: ]*
! --- /dev/null[ 	][ 	]*[a-zA-Z0-9: ]*
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 1 \*\*\*\*
  - first revision
--- 3460,3466 ----
  RCS file: file1
  diff -N file1
  \*\*\* ${tempname}[ 	][	]*[a-zA-Z0-9: ]*
! --- ${DEVNULL}[ 	][ 	]*${DEVNULL_TIME}
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 1 \*\*\*\*
  - first revision
***************
*** 3108,3114 ****
  RCS file: file1
  diff -N file1
  \*\*\* ${tempname}[ 	][	]*[a-zA-Z0-9: ]*
! --- /dev/null[ 	][ 	]*[a-zA-Z0-9: ]*
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 1 \*\*\*\*
  - first revision
--- 3475,3481 ----
  RCS file: file1
  diff -N file1
  \*\*\* ${tempname}[ 	][	]*[a-zA-Z0-9: ]*
! --- ${DEVNULL}[ 	][ 	]*${DEVNULL_TIME}
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 1 \*\*\*\*
  - first revision
***************
*** 3143,3149 ****
  ===================================================================
  RCS file: file1
  diff -N file1
! \*\*\* /dev/null[ 	][ 	]*[a-zA-Z0-9: ]*
  --- ${tempname}[ 	][ 	]*[a-zA-Z0-9: ]*
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 0 \*\*\*\*
--- 3510,3516 ----
  ===================================================================
  RCS file: file1
  diff -N file1
! \*\*\* ${DEVNULL}[ 	][ 	]*${DEVNULL_TIME}
  --- ${tempname}[ 	][ 	]*[a-zA-Z0-9: ]*
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 0 \*\*\*\*
***************
*** 3196,3201 ****
--- 3563,3569 ----
  	  # The ``no longer in the repository'' message doesn't really
  	  # look right to me, but that's what CVS currently prints for
  	  # this case.
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest death2-14 "${testcvs} -q update -r branch" \
  "[UP] file1
  ${PROG} [a-z]*: file2 is no longer in the repository
***************
*** 3234,3240 ****
  ===================================================================
  RCS file: file3
  diff -N file3
! \*\*\* /dev/null[ 	][ 	]*[a-zA-Z0-9: ]*
  --- ${tempname}[ 	][ 	]*[a-zA-Z0-9: ]*
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 0 \*\*\*\*
--- 3602,3608 ----
  ===================================================================
  RCS file: file3
  diff -N file3
! \*\*\* ${DEVNULL}[ 	][ 	]*${DEVNULL_TIME}
  --- ${tempname}[ 	][ 	]*[a-zA-Z0-9: ]*
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 0 \*\*\*\*
***************
*** 3277,3283 ****
  ===================================================================
  RCS file: file2
  diff -N file2
! \*\*\* /dev/null[ 	][ 	]*[a-zA-Z0-9: ]*
  --- ${tempname}[ 	][ 	]*[a-zA-Z0-9: ]*
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 0 \*\*\*\*
--- 3645,3651 ----
  ===================================================================
  RCS file: file2
  diff -N file2
! \*\*\* ${DEVNULL}[ 	][ 	]*${DEVNULL_TIME}
  --- ${tempname}[ 	][ 	]*[a-zA-Z0-9: ]*
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 0 \*\*\*\*
***************
*** 3287,3293 ****
  ===================================================================
  RCS file: file3
  diff -N file3
! \*\*\* /dev/null[ 	][ 	]*[a-zA-Z0-9: ]*
  --- ${tempname}[ 	][ 	]*[a-zA-Z0-9: ]*
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 0 \*\*\*\*
--- 3655,3661 ----
  ===================================================================
  RCS file: file3
  diff -N file3
! \*\*\* ${DEVNULL}[ 	][ 	]*${DEVNULL_TIME}
  --- ${tempname}[ 	][ 	]*[a-zA-Z0-9: ]*
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 0 \*\*\*\*
***************
*** 3298,3310 ****
  RCS file: file4
  diff -N file4
  \*\*\* ${tempname}[ 	][ 	]*[a-zA-Z0-9: ]*
! --- /dev/null[ 	][ 	]*[a-zA-Z0-9: ]*
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 1 \*\*\*\*
  - file4 first revision
  --- 0 ----"
  
  	  # Switch to the nonbranch tag.
  	  dotest death2-19 "${testcvs} -q update -r tag" \
  "[UP] file1
  ${PROG} [a-z]*: file2 is no longer in the repository
--- 3666,3679 ----
  RCS file: file4
  diff -N file4
  \*\*\* ${tempname}[ 	][ 	]*[a-zA-Z0-9: ]*
! --- ${DEVNULL}[ 	][ 	]*${DEVNULL_TIME}
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 1 \*\*\*\*
  - file4 first revision
  --- 0 ----"
  
  	  # Switch to the nonbranch tag.
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest death2-19 "${testcvs} -q update -r tag" \
  "[UP] file1
  ${PROG} [a-z]*: file2 is no longer in the repository
***************
*** 3322,3328 ****
  ===================================================================
  RCS file: file1
  diff -N file1
! \*\*\* /dev/null[ 	][ 	]*[a-zA-Z0-9: ]*
  --- ${tempname}[ 	][ 	]*[a-zA-Z0-9: ]*
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 0 \*\*\*\*
--- 3691,3697 ----
  ===================================================================
  RCS file: file1
  diff -N file1
! \*\*\* ${DEVNULL}[ 	][ 	]*${DEVNULL_TIME}
  --- ${tempname}[ 	][ 	]*[a-zA-Z0-9: ]*
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  \*\*\* 0 \*\*\*\*
***************
*** 3857,3862 ****
--- 4226,4232 ----
  initial revision: 1.1
  done
  HERE
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 4:trunk-2 >file4
  	  dotest branches-3.2 "${testcvs} -q ci -m trunk-before-branch" \
  "Checking in file4;
***************
*** 3873,3887 ****
--- 4243,4260 ----
  	  # Modify this file before branching, to deal with the case where
  	  # someone is hacking along, says "oops, I should be doing this on
  	  # a branch", and only then creates the branch.
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 1:br1 >file1
  	  dotest branches-4 "${testcvs} tag -b br1" "${PROG}"' [a-z]*: Tagging \.
  T file1
  T file2
  T file3
  T file4'
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest branches-5 "${testcvs} update -r br1" \
  "${PROG} [a-z]*: Updating \.
  M file1"
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 2:br1 >file2
  	  echo 4:br1 >file4
  	  dotest branches-6 "${testcvs} -q ci -m modify" \
***************
*** 3897,3907 ****
--- 4270,4283 ----
  ${TESTDIR}/cvsroot/first-dir/file4,v  <--  file4
  new revision: 1\.2\.2\.1; previous revision: 1\.2
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest branches-7 "${testcvs} -q tag -b brbr" 'T file1
  T file2
  T file3
  T file4'
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest branches-8 "${testcvs} -q update -r brbr" ''
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 1:brbr >file1
  	  echo 4:brbr >file4
  	  dotest branches-9 "${testcvs} -q ci -m modify" \
***************
*** 3917,3922 ****
--- 4293,4299 ----
  2:br1
  3:ancest
  4:brbr'
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest branches-11 "${testcvs} -q update -r br1" \
  '[UP] file1
  [UP] file4'
***************
*** 3924,3929 ****
--- 4301,4307 ----
  2:br1
  3:ancest
  4:br1'
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 4:br1-2 >file4
  	  dotest branches-12.2 "${testcvs} -q ci -m change-on-br1" \
  "Checking in file4;
***************
*** 3937,3942 ****
--- 4315,4321 ----
  2:ancest
  3:ancest
  4:trunk-2'
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 4:trunk-3 >file4
  	  dotest branches-14.2 \
  	    "${testcvs} -q ci -m trunk-change-after-branch" \
***************
*** 4077,4083 ****
--- 4456,4464 ----
  	  dotest branches2-4 "${testcvs} -q tag tag1" 'T file1'
  
  	  # Make two branches.
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest branches2-5 "${testcvs} -q rtag -b -r tag1 b1 first-dir" ''
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest branches2-6 "${testcvs} -q rtag -b -r tag1 b2 first-dir" ''
  
  	  # Create some files and a subdirectory on branch b1.
***************
*** 4510,4515 ****
--- 4891,4897 ----
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  I am the first foo, and my name is \$""Name: first \$\."
  
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo "I am the second foo, and my name is $""Name$." > foo.c
  	  dotest rcsdiff-6 "${testcvs} commit -m rev2 foo.c" \
  "Checking in foo\.c;
***************
*** 4538,4543 ****
--- 4920,4926 ----
  ---
  > I am the second foo, and my name is \$""Name:  \$\."
  
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo "I am the once and future foo, and my name is $""Name$." > foo.c
  	  dotest_fail rcsdiff-10 "${testcvs} diff -r first" \
  "${PROG} [a-z]*: Diffing \.
***************
*** 4576,4581 ****
--- 4959,4965 ----
  ${TESTDIR}/cvsroot/first-dir/rgx\.c,v  <--  rgx\.c
  initial revision: 1\.1
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  cat >rgx.c <<EOF
  test_regex (whiz, bang)
  {
***************
*** 4640,4652 ****
--- 5024,5039 ----
  ${TESTDIR}/cvsroot/first-dir/file1,v  <--  file1
  initial revision: 1\.1
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  sed -e 's/2/two/' file1 > f; mv f file1
  	  dotest rcslib-merge-6 "${testcvs} -q commit -m '' file1" \
  "Checking in file1;
  ${TESTDIR}/cvsroot/first-dir/file1,v  <--  file1
  new revision: 1\.2; previous revision: 1\.1
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest rcslib-merge-7 "${testcvs} -q tag -b -r 1.1 patch1" "T file1"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest rcslib-merge-8 "${testcvs} -q update -r patch1" "[UP] file1"
  	  dotest rcslib-merge-9 "${testcvs} -q status" \
  "===================================================================
***************
*** 4661,4666 ****
--- 5048,5054 ----
  '$''Revision: 1\.1 $
  2
  3'
+ 	  sleep ${FILESYSTEM_TICK}
  	  sed -e 's/3/three/' file1 > f; mv f file1
  	  dotest rcslib-merge-11 "${testcvs} -q commit -m '' file1" \
  "Checking in file1;
***************
*** 4685,4700 ****
  3
  [>]>>>>>> 1\.2"
  
! 	  # Test behavior of symlinks in the repository.
! 	  dotest rcslib-symlink-1 "ln -s file1,v ${CVSROOT_DIRNAME}/first-dir/file2,v"
! 	  dotest rcslib-symlink-2 "${testcvs} update file2" "U file2"
! 	  echo "This is a change" >> file2
! 	  dotest rcslib-symlink-3 "${testcvs} ci -m because file2" \
  "Checking in file2;
  ${TESTDIR}/cvsroot/first-dir/file1,v  <--  file2
  new revision: 1\.1\.2\.2; previous revision: 1\.1\.2\.1
  done"
! 	  dotest rcslib-symlink-4 "ls -l $CVSROOT_DIRNAME/first-dir/file2,v" \
  ".*$CVSROOT_DIRNAME/first-dir/file2,v -> file1,v"
  	  # Test 5 reveals a problem with having symlinks in the
  	  # repository.  CVS will try to tag both of the files
--- 5073,5089 ----
  3
  [>]>>>>>> 1\.2"
  
! 	  if test x"${WONT_PRESERVE_PERMISSIONS}" = x; then
! 	    # Test behavior of symlinks in the repository.
! 	    dotest rcslib-symlink-1 "ln -s file1,v ${CVSROOT_DIRNAME}/first-dir/file2,v"
! 	    dotest rcslib-symlink-2 "${testcvs} update file2" "U file2"
! 	    echo "This is a change" >> file2
! 	    dotest rcslib-symlink-3 "${testcvs} ci -m because file2" \
  "Checking in file2;
  ${TESTDIR}/cvsroot/first-dir/file1,v  <--  file2
  new revision: 1\.1\.2\.2; previous revision: 1\.1\.2\.1
  done"
! 	    dotest rcslib-symlink-4 "ls -l $CVSROOT_DIRNAME/first-dir/file2,v" \
  ".*$CVSROOT_DIRNAME/first-dir/file2,v -> file1,v"
  	  # Test 5 reveals a problem with having symlinks in the
  	  # repository.  CVS will try to tag both of the files
***************
*** 4703,4709 ****
  	  # so the tag will already be there.  FIXME: do we bother
  	  # changing operations to notice cases like this?  This
  	  # strikes me as a difficult problem.  -Noel
! 	  dotest rcslib-symlink-5 "${testcvs} tag the_tag" \
  "${PROG} [a-z]*: Tagging .
  T file1
  W file2 : the_tag already exists on version 1.1.2.1 : NOT MOVING tag to version 1.1.2.2"
--- 5092,5098 ----
  	  # so the tag will already be there.  FIXME: do we bother
  	  # changing operations to notice cases like this?  This
  	  # strikes me as a difficult problem.  -Noel
! 	    dotest rcslib-symlink-5 "${testcvs} tag the_tag" \
  "${PROG} [a-z]*: Tagging .
  T file1
  W file2 : the_tag already exists on version 1.1.2.1 : NOT MOVING tag to version 1.1.2.2"
***************
*** 4711,4726 ****
  ".*$CVSROOT_DIRNAME/first-dir/file2,v -> file1,v"
  
  	  # Symlinks tend to interact poorly with the Attic.
! 	  cd ..
! 	  mkdir 2; cd 2
! 	  dotest rcslib-symlink-7 "${testcvs} -q co first-dir" \
  "U first-dir/file1
  U first-dir/file2"
! 	  cd first-dir
! 	  dotest rcslib-symlink-8 "${testcvs} rm -f file2" \
  "${PROG} [a-z]*: scheduling .file2. for removal
  ${PROG} [a-z]*: use .${PROG} commit. to remove this file permanently"
! 	  dotest rcslib-symlink-9 "${testcvs} -q ci -m rm-it" \
  "Removing file2;
  ${TESTDIR}/cvsroot/first-dir/file1,v  <--  file2
  new revision: delete; previous revision: 1\.2
--- 5100,5115 ----
  ".*$CVSROOT_DIRNAME/first-dir/file2,v -> file1,v"
  
  	  # Symlinks tend to interact poorly with the Attic.
! 	    cd ..
! 	    mkdir 2; cd 2
! 	    dotest rcslib-symlink-7 "${testcvs} -q co first-dir" \
  "U first-dir/file1
  U first-dir/file2"
! 	    cd first-dir
! 	    dotest rcslib-symlink-8 "${testcvs} rm -f file2" \
  "${PROG} [a-z]*: scheduling .file2. for removal
  ${PROG} [a-z]*: use .${PROG} commit. to remove this file permanently"
! 	    dotest rcslib-symlink-9 "${testcvs} -q ci -m rm-it" \
  "Removing file2;
  ${TESTDIR}/cvsroot/first-dir/file1,v  <--  file2
  new revision: delete; previous revision: 1\.2
***************
*** 4728,4739 ****
  	  # OK, why this message happens twice is relatively clear
  	  # (the check_* and rtag_* calls to start_recursion).
  	  # Why it happens a third time I didn't try to find out.
! 	  dotest rcslib-symlink-10 \
  "${testcvs} -q rtag -b -r the_tag brtag first-dir" \
  "${PROG} [a-z]*: could not read RCS file for file2
  ${PROG} [a-z]*: could not read RCS file for first-dir/file2
  ${PROG} [a-z]*: could not read RCS file for first-dir/file2"
! 	  cd ..
  
  	  cd ..
  
--- 5117,5131 ----
  	  # OK, why this message happens twice is relatively clear
  	  # (the check_* and rtag_* calls to start_recursion).
  	  # Why it happens a third time I didn't try to find out.
! 	    dotest rcslib-symlink-10 \
  "${testcvs} -q rtag -b -r the_tag brtag first-dir" \
  "${PROG} [a-z]*: could not read RCS file for file2
  ${PROG} [a-z]*: could not read RCS file for first-dir/file2
  ${PROG} [a-z]*: could not read RCS file for first-dir/file2"
! 	    cd ..
! 	  else
! 	    echo "Won't run rcslib-symlink-* tests - WONT_PRESERVE_PERMISSIONS"
! 	  fi
  
  	  cd ..
  
***************
*** 4764,4791 ****
--- 5156,5191 ----
  initial revision: 1.1
  done
  HERE
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest multibranch-4 "${testcvs} tag -b br1" \
  "${PROG} [a-z]*: Tagging \.
  T file1"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest multibranch-5 "${testcvs} tag -b br2" \
  "${PROG} [a-z]*: Tagging \.
  T file1"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest multibranch-6 "${testcvs} -q update -r br1" ''
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo on-br1 >file1
  	  dotest multibranch-7 "${testcvs} -q ci -m modify-on-br1" \
  "Checking in file1;
  ${TESTDIR}/cvsroot/first-dir/file1,v  <--  file1
  new revision: 1\.1\.2\.1; previous revision: 1\.1
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest multibranch-8 "${testcvs} -q update -r br2" '[UP] file1'
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo br2 adds a line >>file1
  	  dotest multibranch-9 "${testcvs} -q ci -m modify-on-br2" \
  "Checking in file1;
  ${TESTDIR}/cvsroot/first-dir/file1,v  <--  file1
  new revision: 1\.1\.4\.1; previous revision: 1\.1
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest multibranch-10 "${testcvs} -q update -r br1" '[UP] file1'
  	  dotest multibranch-11 "cat file1" 'on-br1'
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest multibranch-12 "${testcvs} -q update -r br2" '[UP] file1'
  	  dotest multibranch-13 "cat file1" '1:trunk-1
  br2 adds a line'
***************
*** 4895,4900 ****
--- 5295,5301 ----
  '"${PROG}"' [a-z]*: use .'"${PROG}"' commit. to remove this file permanently'
  
  		# change
+ 		sleep ${FILESYSTEM_TICK}
  		echo local-change >> imported-f2
  
  		# commit
***************
*** 4940,4945 ****
--- 5341,5347 ----
  ============================================================================="
  
  		# update into the vendor branch.
+  		sleep ${FILESYSTEM_TICK}
  		dotest import-102 "${testcvs} update -rvendor-branch" \
  "${PROG} [a-z]*: Updating .
  [UP] imported-f1
***************
*** 4966,4971 ****
--- 5368,5374 ----
  
  		# second import - file4 deliberately unchanged
  		cd ../import-dir
+ 		sleep ${FILESYSTEM_TICK}
  		for i in 1 2 3 ; do
  		  echo rev 2 of file $i >> imported-f"$i"
  		done
***************
*** 5007,5012 ****
--- 5410,5416 ----
  		done
  
  		# check vendor branch for file4
+ 		sleep ${FILESYSTEM_TICK}
  		dotest import-110 "${testcvs} -q update -rvendor-branch" \
  "[UP] imported-f1
  [UP] imported-f2"
***************
*** 5170,5176 ****
  	  # Note that some versions of touch when used without -t don't handle
  	  # y2k and/or set the seconds reliably.
  	  # We should probably find a different way of doing this.
! 	  touch 0704034371 bdir/subdir/file1
  	  touch 1225180134 cdir/cfile
  	  dotest_sort importc-1 \
  "${testcvs} import -d -m import-it first-dir vendor release" \
--- 5574,5580 ----
  	  # Note that some versions of touch when used without -t don't handle
  	  # y2k and/or set the seconds reliably.
  	  # We should probably find a different way of doing this.
! 	  touch 07040343${DECADE}1 bdir/subdir/file1
  	  touch 1225180134 cdir/cfile
  	  dotest_sort importc-1 \
  "${testcvs} import -d -m import-it first-dir vendor release" \
***************
*** 5281,5292 ****
  description:
  ----------------------------
  revision 1\.1
! date: 1971/07/0[3-5] [0-9][0-9]:43:[0-9][0-9];  author: ${username};  state: Exp;
  branches:  1\.1\.1;
  Initial revision
  ----------------------------
  revision 1\.1\.1\.1
! date: 1971/07/0[3-5] [0-9][0-9]:43:[0-9][0-9];  author: ${username};  state: Exp;  lines: ${PLUS}0 -0
  import-it
  ============================================================================="
  	  cd ..
--- 5685,5696 ----
  description:
  ----------------------------
  revision 1\.1
! date: 19${DECADE}1/07/0[3-5] [0-9][0-9]:43:[0-9][0-9];  author: ${username};  state: Exp;
  branches:  1\.1\.1;
  Initial revision
  ----------------------------
  revision 1\.1\.1\.1
! date: 19${DECADE}1/07/0[3-5] [0-9][0-9]:43:[0-9][0-9];  author: ${username};  state: Exp;  lines: ${PLUS}0 -0
  import-it
  ============================================================================="
  	  cd ..
***************
*** 5479,5484 ****
--- 5883,5889 ----
  done"
  
  	  # Make a branch.
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest join-4 "${testcvs} -q tag -b branch ." \
  'T file3
  T file4
***************
*** 5487,5492 ****
--- 5892,5898 ----
  
  	  # Add file2 and file7, modify file4, and remove file6 and file8.
  	  echo 'first revision of file2' > file2
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'second revision of file4' > file4
  	  echo 'first revision of file7' > file7
  	  rm file6 file8
***************
*** 5538,5543 ****
--- 5944,5950 ----
  
  	  # Modify the files on the branch, so that T1 is not an
  	  # ancestor of the main line, and add file5
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'first branch revision of file3' > file3
  	  echo 'first branch revision of file4' > file4
  	  echo 'first branch revision of file6' > file6
***************
*** 5705,5710 ****
--- 6112,6118 ----
  	  # single revision.
  	  # The file2 handling is a bug; see above join-20.
  	  cd first-dir
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'third revision of file4' > file4
  	  dotest join-23 "${testcvs} -q update -jbranch ." \
  "U file1
***************
*** 5735,5745 ****
--- 6143,6155 ----
  U first-dir/file4
  U first-dir/file7'
  	  cd first-dir
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest join-26 "${testcvs} -q tag -b br2" \
  "T file2
  T file3
  T file4
  T file7"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest join-27 "${testcvs} -q update -r br2" ""
  	  # The handling of file8 here looks fishy to me.  I don't see
  	  # why it should be different from the case where we merge to
***************
*** 5845,5852 ****
--- 6255,6265 ----
  ${TESTDIR}/cvsroot/first-dir/file1,v  <--  file1
  initial revision: 1\.1
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest join2-5 "${testcvs} -q tag -b br1" "T file1"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest join2-6 "${testcvs} -q update -r br1" ""
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'modify on branch' >>file1
  	  touch bradd
  	  dotest join2-6a "${testcvs} add bradd" \
***************
*** 5906,5911 ****
--- 6319,6325 ----
  	  # OK, the above is all well and good and has worked for some
  	  # time.  Now try the case where the file had been added on
  	  # the branch.
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest join2-16 "${testcvs} -q update -r br1" "[UP] file1"
  	  # The workaround is to update the whole directory.
  	  # The non-circumvented version won't work.  The reason is that
***************
*** 5963,5969 ****
--- 6377,6385 ----
  initial revision: 1\.1
  done"
  	  dotest join3-5 "${testcvs} -q tag -b br1" "T file1"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest join3-6 "${testcvs} -q update -r br1" ""
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'br1:line1' >>file1
  	  dotest join3-7 "${testcvs} -q ci -m modify" \
  "Checking in file1;
***************
*** 5974,5984 ****
--- 6390,6403 ----
  	  # Now back to the trunk for:
  	  # another revision and another branch for file1.
  	  # add file2, which will exist on trunk and br2 but not br1.
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest join3-8 "${testcvs} -q update -A" "[UP] file1"
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'trunk:line1' > file2
  	  dotest join3-8a "${testcvs} add file2" \
  "${PROG} [a-z]*: scheduling file .file2. for addition
  ${PROG} [a-z]*: use .${PROG} commit. to add this file permanently"
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'trunk:line1' >>file1
  	  dotest join3-9 "${testcvs} -q ci -m modify" \
  "Checking in file1;
***************
*** 5991,6000 ****
--- 6410,6421 ----
  ${TESTDIR}/cvsroot/first-dir/file2,v  <--  file2
  initial revision: 1\.1
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest join3-10 "${testcvs} -q tag -b br2" "T file1
  T file2"
  
  	  # Before we actually have any revision on br2, let's try a join
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest join3-11 "${testcvs} -q update -r br1" "[UP] file1
  ${PROG} [a-z]*: file2 is no longer in the repository"
  	  dotest join3-12 "${testcvs} -q update -j br2" \
***************
*** 6014,6022 ****
--- 6435,6445 ----
  	  rm file1
  
  	  # OK, we'll try the same thing with a revision on br2.
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest join3-14 "${testcvs} -q update -r br2 file1" \
  "${PROG} [a-z]*: warning: file1 was lost
  U file1" "U file1"
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'br2:line1' >>file1
  	  dotest join3-15 "${testcvs} -q ci -m modify file1" \
  "Checking in file1;
***************
*** 6025,6030 ****
--- 6448,6454 ----
  done"
  
  	  # OK, now we can join br2 to br1
+ 	  sleep ${FILESYSTEM_TICK} 
  	  dotest join3-16 "${testcvs} -q update -r br1 file1" "[UP] file1"
  	  # It may seem odd, to merge a higher branch into a lower
  	  # branch, but in fact CVS defines the ancestor as 1.1
***************
*** 6191,6196 ****
--- 6615,6621 ----
  		    pass 122
  		fi
  
+ 		sleep ${FILESYSTEM_TICK}
  		if ${CVS} update -rHEAD 2>&1 | grep longer ; then
  		    fail 123
  		else
***************
*** 6226,6231 ****
--- 6651,6657 ----
  done"
  
  	  # Make a branch.
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest newb-123d "${testcvs} -q tag -b branch" "T a"
  
  	  # Check out the branch.
***************
*** 6330,6336 ****
  "${PROG} [a-z]*: Updating first-dir
  ===================================================================
  Checking out first-dir/a
! RCS:  ${TMPPWD}/cvsroot/first-dir/a,v
  VERS: 1\.1
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*"
  		if ${CVS} co first-dir ; then
--- 6756,6762 ----
  "${PROG} [a-z]*: Updating first-dir
  ===================================================================
  Checking out first-dir/a
! RCS:  ${TMPPWD}${SLASH}cvsroot${SLASH}first-dir${SLASH}a,v
  VERS: 1\.1
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*"
  		if ${CVS} co first-dir ; then
***************
*** 6346,6351 ****
--- 6772,6778 ----
  		fi
  
  		cd ../../1/first-dir
+ 		sleep ${FILESYSTEM_TICK}
  		echo add a line >>a
  		mkdir dir1
  		dotest conflicts-127b "${testcvs} add dir1" \
***************
*** 6367,6373 ****
  "${PROG} [a-z]*: Updating first-dir
  ===================================================================
  Checking out first-dir/a
! RCS:  ${TMPPWD}/cvsroot/first-dir/a,v
  VERS: 1\.2
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  add a line"
--- 6794,6800 ----
  "${PROG} [a-z]*: Updating first-dir
  ===================================================================
  Checking out first-dir/a
! RCS:  ${TMPPWD}${SLASH}cvsroot${SLASH}first-dir${SLASH}a,v
  VERS: 1\.2
  \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
  add a line"
***************
*** 6377,6382 ****
--- 6804,6810 ----
  		# Now go over the to the other working directory and
  		# start testing conflicts
  		cd 2/first-dir
+ 		sleep ${FILESYSTEM_TICK}
  		echo add a conflicting line >>a
  		dotest_fail conflicts-129 "${testcvs} -q ci -m changed" \
  "${PROG}"' [a-z]*: Up-to-date check failed for `a'\''
***************
*** 6469,6474 ****
--- 6897,6903 ----
  
  		# OK, the user saw the warning (good user), and now
  		# resolves it for real.
+ 		sleep ${FILESYSTEM_TICK}
  		echo resolve conflict >a
  		dotest conflicts-status-6 "${testcvs} status a" \
  "===================================================================
***************
*** 7066,7071 ****
--- 7495,7501 ----
  U CVSROOT/rcsinfo
  U CVSROOT/taginfo
  U CVSROOT/verifymsg'
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo "# made a change" >>CVSROOT/modules
  	  dotest modules-1d "${testcvs} -q ci -m add-modules" \
  "Checking in CVSROOT/modules;
***************
*** 7090,7095 ****
--- 7520,7526 ----
  U CVSROOT/rcsinfo
  U CVSROOT/taginfo
  U CVSROOT/verifymsg'
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo "# made a change" >>CVSROOT/modules
  	  dotest modules-2d "${testcvs} -q ci -m add-modules" \
  "Checking in CVSROOT/modules;
***************
*** 7117,7122 ****
--- 7548,7554 ----
  U CVSROOT/rcsinfo
  U CVSROOT/taginfo
  U CVSROOT/verifymsg'
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo "# made a change" >>CVSROOT/modules
  	  dotest modules-3g "${testcvs} -q ci -m add-modules" \
  "Checking in CVSROOT/modules;
***************
*** 7409,7414 ****
--- 7841,7847 ----
  	  dotest modules2-1 "${testcvs} -q co CVSROOT/modules" \
  'U CVSROOT/modules'
  	  cd CVSROOT
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'ampermodule &first-dir &second-dir' > modules
  	  echo 'combmodule third-dir file3 &first-dir' >> modules
  	  echo 'ampdirmod -d newdir &first-dir &second-dir' >> modules
***************
*** 7545,7550 ****
--- 7978,7984 ----
  	  dotest modules2-a0.5 "${testcvs} -q co CVSROOT/modules" \
  'U CVSROOT/modules'
  	  cd CVSROOT
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'aliasopt -a -d onedir first-dir' >modules
  	  dotest modules2-a0 "${testcvs} -q ci -m add-modules" \
  "Checking in modules;
***************
*** 7596,7601 ****
--- 8030,8036 ----
  	  dotest modules3-4 "${testcvs} -q update -d CVSROOT" \
  "U CVSROOT${DOTSTAR}"
  	  cd CVSROOT
+ 	  sleep ${FILESYSTEM_TICK}
  	  cat >modules <<EOF
  mod1 -a first-dir/file1
  bigmod -a mod1 first-dir/file1
***************
*** 7786,7791 ****
--- 8221,8227 ----
  	  dotest modules4-7 "${testcvs} -q update -d CVSROOT" \
  "U CVSROOT${DOTSTAR}"
  	  cd CVSROOT
+ 	  sleep ${FILESYSTEM_TICK}
  	  cat >modules <<EOF
  all -a first-dir
  some -a !first-dir/subdir first-dir
***************
*** 9546,9551 ****
--- 9982,9988 ----
  	  mkdir 1; cd 1
  	  dotest emptydir-1 "${testcvs} co CVSROOT/modules" \
  "U CVSROOT/modules"
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo "# Module defs for emptydir tests" > CVSROOT/modules
  	  echo "2d1mod -d dir2d1/sub2d1 mod1" >> CVSROOT/modules
  	  echo "2d1moda -d dir2d1/suba moda/modasub" >> CVSROOT/modules
***************
*** 9771,9776 ****
--- 10208,10214 ----
  	  rm -rf ${TESTDIR}/1
  
  
+ 	if test x"${CANT_PROTECT_DIRS}" = x; then
  	  # Now try someplace where we don't have permission.
  	  mkdir ${TESTDIR}/barf
  	  chmod -w ${TESTDIR}/barf
***************
*** 9784,9789 ****
--- 10222,10230 ----
  	  chmod +w ${TESTDIR}/barf
  	  rmdir ${TESTDIR}/barf
  	  # Done.  Nothing to clean up.
+ 	else
+ 	  echo "didn't run abspath-4 - CANT_PROTECT_DIRS"
+ 	fi
  
  
  	  # Try checking out two modules into the same directory.
***************
*** 9875,9881 ****
  	  rm -r 1 2 3
  
  	  #
! 	  # FIXME: do other functions here (e.g. update /tmp/foo)
  	  #
  
  	  # Finished with all tests.  Remove the module.
--- 10316,10322 ----
  	  rm -r 1 2 3
  
  	  #
! 	  # FIXME: do other functions here (e.g. update ${TMPDIR}/foo)
  	  #
  
  	  # Finished with all tests.  Remove the module.
***************
*** 9985,9990 ****
--- 10426,10432 ----
  	  dotest toplevel-11 "${testcvs} -q update -d second-dir" \
  "U second-dir/file2"
  
+ 	if test x"${CANT_PROTECT_DIRS}" = x; then
  	  # Now remove the CVS directory (people may do this manually,
  	  # especially if they formed their habits with CVS
  	  # 1.9 and older, which didn't create it.  Or perhaps the working
***************
*** 10003,10008 ****
--- 10445,10453 ----
  ${PROG} [a-z]*: Updating top-dir"
  
  	  chmod +w ../1
+ 	else
+ 	  echo "didn't run toplevel-12 - CANT_PROTECT_DIRS"
+ 	fi
  
  	  dotest toplevel-cleanup-1 "${testcvs} -q co CVSROOT/config" \
  "U CVSROOT/config"
***************
*** 10179,10191 ****
  	  # can see the "CVS:" lines.
  	  cat >${TESTDIR}/editme <<EOF
  #!${TESTSHELL}
! sleep 1
! sed <\$1 -e 's/^/x/' >${TESTDIR}/edit.new
! mv ${TESTDIR}/edit.new \$1
  exit 0
  EOF
  	  chmod +x ${TESTDIR}/editme
  
  	  mkdir 1; cd 1
  	  dotest editor-1 "${testcvs} -q co -l ." ''
  	  mkdir first-dir
--- 10624,10695 ----
  	  # can see the "CVS:" lines.
  	  cat >${TESTDIR}/editme <<EOF
  #!${TESTSHELL}
! sleep 2
! sed <\$1 -e 's/^/x&/g' >${TESTDIR}/edit.new
! rm \$1
! sleep 2
! cp ${TESTDIR}/edit.new \$1
! rm ${TESTDIR}/edit.new
  exit 0
  EOF
+ 
+ # /* edhack.c */
+ # #include <stdio.h>
+ # #include <stdlib.h>
+ # 
+ # int main( int argc, const char * argv[] )
+ # {
+ #    static char editor[1024];
+ #    const char * testdir;
+ #    const char * testshell;
+ #    int argi;
+ # 
+ #    int iRc = system( NULL );
+ #    if (0 == iRc)
+ #       {
+ #       printf("Can't find a command processor to run system()\n");
+ #       return 1;
+ #       }
+ # 
+ #    testshell = getenv( "TESTSHELL" );
+ #    if (testshell)
+ #       {
+ #       strcpy( editor, testshell );
+ #       }
+ #    else
+ #       {
+ #       strcpy( editor, "sh" );
+ #       }
+ #    strcat( editor, " ");
+ # 
+ #    testdir = getenv( "TESTDIR" );
+ #    if (testdir)
+ #       {
+ #       strcat( editor, testdir );
+ #       strcat( editor, "/" );
+ #       }
+ #    strcat( editor, "editme" );
+ #    
+ #    for (argi = 1; argi < argc; ++argi)
+ #       {
+ #       strcat(editor," ");
+ #       strcat(editor, argv[argi] );
+ #       }
+ #    
+ # /*   printf("about to run:\"%s\"\n", editor); */
+ #    iRc = system( editor );
+ #    return iRc;
+ # }
+ 
  	  chmod +x ${TESTDIR}/editme
  
+ 	  if test x"${EDHACK_EDITOR}" = x; then
+ 	    EDITME_DO=${TESTDIR}/editme
+ 	  else
+ 	    EDITME_DO=edhack
+ 	    export TESTDIR
+ 	  fi
+ 
  	  mkdir 1; cd 1
  	  dotest editor-1 "${testcvs} -q co -l ." ''
  	  mkdir first-dir
***************
*** 10197,10203 ****
  "${PROG} [a-z]*: scheduling file .file1. for addition
  ${PROG} [a-z]*: scheduling file .file2. for addition
  ${PROG} [a-z]*: use .${PROG} commit. to add these files permanently"
! 	  dotest editor-4 "${testcvs} -e ${TESTDIR}/editme -q ci" \
  "RCS file: ${TESTDIR}/cvsroot/first-dir/file1,v
  done
  Checking in file1;
--- 10701,10707 ----
  "${PROG} [a-z]*: scheduling file .file1. for addition
  ${PROG} [a-z]*: scheduling file .file2. for addition
  ${PROG} [a-z]*: use .${PROG} commit. to add these files permanently"
! 	  dotest editor-4 "${testcvs} -e ${EDITME_DO} -q ci" \
  "RCS file: ${TESTDIR}/cvsroot/first-dir/file1,v
  done
  Checking in file1;
***************
*** 10210,10220 ****
  ${TESTDIR}/cvsroot/first-dir/file2,v  <--  file2
  initial revision: 1\.1
  done"
  	  dotest editor-5 "${testcvs} -q tag -b br" "T file1
  T file2"
  	  dotest editor-6 "${testcvs} -q update -r br" ''
  	  echo modify >>file1
! 	  dotest editor-7 "${testcvs} -e ${TESTDIR}/editme -q ci" \
  "Checking in file1;
  ${TESTDIR}/cvsroot/first-dir/file1,v  <--  file1
  new revision: 1\.1\.2\.1; previous revision: 1\.1
--- 10714,10727 ----
  ${TESTDIR}/cvsroot/first-dir/file2,v  <--  file2
  initial revision: 1\.1
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest editor-5 "${testcvs} -q tag -b br" "T file1
  T file2"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest editor-6 "${testcvs} -q update -r br" ''
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo modify >>file1
! 	  dotest editor-7 "${testcvs} -e ${EDITME_DO} -q ci" \
  "Checking in file1;
  ${TESTDIR}/cvsroot/first-dir/file1,v  <--  file1
  new revision: 1\.1\.2\.1; previous revision: 1\.1
***************
*** 10225,10232 ****
  	  # already on the branch.  If there were a revision on the branch,
  	  # CVS would correctly give an up-to-date check failed.
  	  dotest editor-8 "${testcvs} -q update -A" "U file1"
  	  echo add a line >>file2
! 	  dotest editor-9 "${testcvs} -q -e ${TESTDIR}/editme ci -rbr file2" \
  "Checking in file2;
  ${TESTDIR}/cvsroot/first-dir/file2,v  <--  file2
  new revision: 1\.1\.2\.1; previous revision: 1\.1
--- 10732,10740 ----
  	  # already on the branch.  If there were a revision on the branch,
  	  # CVS would correctly give an up-to-date check failed.
  	  dotest editor-8 "${testcvs} -q update -A" "U file1"
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo add a line >>file2
! 	  dotest editor-9 "${testcvs} -q -e ${EDITME_DO} ci -rbr file2" \
  "Checking in file2;
  ${TESTDIR}/cvsroot/first-dir/file2,v  <--  file2
  new revision: 1\.1\.2\.1; previous revision: 1\.1
***************
*** 10393,10398 ****
--- 10901,10907 ----
  	  fi
  
  	  cd ../../2/1dir
+ 	if test x"${CANT_PROTECT_DIRS}" = x; then
  	  # FIXME: should be using dotest.
  	  ${testcvs} -q update 2>../tst167.err
  	  cat ../tst167.err >>${LOGFILE}
***************
*** 10407,10412 ****
--- 10916,10924 ----
  	  else
  	      fail 168
  	  fi
+ 	else
+ 	  echo "didn't run 168 (errmsg1) - CANT_PROTECT_DIRS"
+ 	fi
  
  	  cd ..
  	  chmod u+w 1dir
***************
*** 10622,10627 ****
--- 11134,11140 ----
  
  	  dotest devcom-178 "${testcvs} editors" ""
  
+ 	  sleep ${FILESYSTEM_TICK}
  	  if ${testcvs} edit abb; then
  	      pass 179
  	  else
***************
*** 10636,10641 ****
--- 11149,11155 ----
  	  dotest devcom-180 "${testcvs} editors" \
  "abb	${username}	[SMTWF][uoehra][neduit] [JFAMSOND][aepuco][nbrylgptvc] [0-9 ][0-9] [0-9:]* [0-9][0-9][0-9][0-9] GMT	[-a-zA-Z_.0-9]*	${TESTDIR}/2/first-dir"
  
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo aaaa >>abb
  	  if ${testcvs} ci -m modify abb >>${LOGFILE} 2>&1; then
  	      pass 182
***************
*** 10647,10658 ****
  
  	  dotest devcom-183 "${testcvs} editors" ""
  
! 	  if test -w abb; then
! 	      fail 185
  	  else
! 	      pass 185
  	  fi
  
  	  if ${testcvs} edit abc; then
  	      pass 186a1
  	  else
--- 11161,11175 ----
  
  	  dotest devcom-183 "${testcvs} editors" ""
  
! 
! 	  if test "x${OS_COMPILER_EMU}" = xwin32_msvc_cygwin32; then
! 	      echo 'devcom: (cygwin32 b19.1 test -w strange) - using attrib'
! 	      dotest 185 "attrib abb"  "A    R ${DOTSTAR}"
  	  else
! 	      dotest_fail 185 "test -w abb" ''
  	  fi
  
+ 
  	  if ${testcvs} edit abc; then
  	      pass 186a1
  	  else
***************
*** 10669,10674 ****
--- 11186,11192 ----
  	  else
  	      fail 186a3
  	  fi
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo changedabc >abc
  	  # Try to unedit a modified file; cvs should ask for confirmation
  	  if (echo no | ${testcvs} unedit abc) >>${LOGFILE}; then
***************
*** 10765,10772 ****
  	  cd 3
  	  dotest devcom-some1 "${testcvs} -q co first-dir" 'U first-dir/abb
  U first-dir/abc'
! 	  dotest devcom-some2 "test -w first-dir/abb" ''
! 	  dotest_fail devcom-some3 "test -w first-dir/abc" ''
  	  cd ..
  
  	  if test "$keep" = yes; then
--- 11283,11296 ----
  	  cd 3
  	  dotest devcom-some1 "${testcvs} -q co first-dir" 'U first-dir/abb
  U first-dir/abc'
! 	  if test "x${OS_COMPILER_EMU}" = xwin32_msvc_cygwin32; then
! 	    echo 'devcom: cygwin32 b19.1 test -w is very weird - using attrib instead'
! 	    dotest devcom-some2 "attrib first-dir\\abb" "A      ${DOTSTAR}"
! 	    dotest devcom-some2 "attrib first-dir\\abc" "A    R ${DOTSTAR}"
! 	  else
! 	    dotest devcom-some2 "test -w first-dir/abb" ''
! 	    dotest_fail devcom-some3 "test -w first-dir/abc" ''
! 	  fi
  	  cd ..
  
  	  if test "$keep" = yes; then
***************
*** 10821,10830 ****
  U first-dir/w1
  U first-dir/w2
  U first-dir/w3'
! 	  dotest devcom2-8 "test -w first-dir/nw1" ''
! 	  dotest_fail devcom2-9 "test -w first-dir/w1" ''
! 	  dotest_fail devcom2-10 "test -w first-dir/w2" ''
! 	  dotest_fail devcom2-11 "test -w first-dir/w3" ''
  
  	  cd first-dir
  	  # OK, now we want to try files in various states with cvs edit.
--- 11345,11362 ----
  U first-dir/w1
  U first-dir/w2
  U first-dir/w3'
! 	  if test "x${OS_COMPILER_EMU}" = xwin32_msvc_cygwin32; then
! 	    echo 'devcom2: cygwin32 b19.1 test -w is very weird - using attrib instead'
! 	    dotest devcom2-8 "attrib first-dir\\nw1" "A      ${DOTSTAR}"
! 	    dotest devcom2-9 "attrib first-dir\\w1" "A    R ${DOTSTAR}"
! 	    dotest devcom2-10 "attrib first-dir\\w2" "A    R ${DOTSTAR}"
! 	    dotest devcom2-11 "attrib first-dir\\w3" "A    R ${DOTSTAR}"
! 	  else
! 	    dotest devcom2-8 "test -w first-dir/nw1" ''
! 	    dotest_fail devcom2-9 "test -w first-dir/w1" ''
! 	    dotest_fail devcom2-10 "test -w first-dir/w2" ''
! 	    dotest_fail devcom2-11 "test -w first-dir/w3" ''
! 	  fi
  
  	  cd first-dir
  	  # OK, now we want to try files in various states with cvs edit.
***************
*** 11008,11019 ****
--- 11540,11555 ----
  	  dotest_fail watch4-8 "test -w first-dir/file1" ''
  	  dotest_fail watch4-9 "test -w first-dir/subdir/sfile" ''
  	  cd first-dir
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest watch4-10 "${testcvs} edit file1" ''
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'edited in 2' >file1
  	  cd ../..
  
  	  cd 1/first-dir
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest watch4-11 "${testcvs} edit file1" ''
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'edited in 1' >file1
  	  dotest watch4-12 "${testcvs} -q ci -m edit-in-1" \
  "Checking in file1;
***************
*** 11142,11148 ****
  
  	  # SunOS4.1.4 systems make it this far, but with a corrupted
  	  # CVS/Entries file.  Demonstrate the corruption!
! 	  dotest unedit-without-baserev-5 "cat CVS/Entries" \
  	    "/$file/1\.1\.1\.1/${DOTSTAR}"
  
  	  if test "$remote" = yes; then
--- 11678,11686 ----
  
  	  # SunOS4.1.4 systems make it this far, but with a corrupted
  	  # CVS/Entries file.  Demonstrate the corruption!
! 	  # Note there will tend to be a second "D" line which the DOTSTAR
! 	  # matches.
!   	  dotest unedit-without-baserev-5 "cat CVS/Entries" \
  	    "/$file/1\.1\.1\.1/${DOTSTAR}"
  
  	  if test "$remote" = yes; then
***************
*** 11366,11371 ****
--- 11904,11910 ----
  	    </dev/null | ${TR} '@' '\000' >binfile.dat
  	  cat binfile.dat binfile.dat >binfile2.dat
  	  cd first-dir
+ 	  sleep ${FILESYSTEM_TICK}
  	  cp ../binfile.dat binfile
  	  dotest binfiles-2 "${testcvs} add -kb binfile" \
  "${PROG}"' [a-z]*: scheduling file `binfile'\'' for addition
***************
*** 11416,11421 ****
--- 11955,11961 ----
  	  rm -r 3
  	  cd 2/first-dir
  
+ 	  sleep ${FILESYSTEM_TICK}
  	  cp ../../1/binfile2.dat binfile
  	  dotest binfiles-6 "${testcvs} -q ci -m modify-it" \
  "Checking in binfile;
***************
*** 11427,11432 ****
--- 11967,11973 ----
  	  dotest binfiles-8 "cmp ../binfile2.dat binfile" ''
  
  	  # Now test handling of conflicts with binary files.
+ 	  sleep ${FILESYSTEM_TICK}
  	  cp ../binfile.dat binfile
  	  dotest binfiles-con0 "${testcvs} -q ci -m modify-it" \
  "Checking in binfile;
***************
*** 11434,11439 ****
--- 11975,11981 ----
  new revision: 1\.3; previous revision: 1\.2
  done"
  	  cd ../../2/first-dir
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'edits in dir 2' >binfile
  	  dotest binfiles-con1 "${testcvs} -q update" \
  "U binfile
***************
*** 11444,11449 ****
--- 11986,11992 ----
  	  dotest binfiles-con2 "cmp binfile ../../1/binfile.dat" ''
  	  dotest binfiles-con3 "cat .#binfile.1.2" 'edits in dir 2'
  
+ 	  sleep ${FILESYSTEM_TICK}
  	  cp ../../1/binfile2.dat binfile
  	  dotest binfiles-con4 "${testcvs} -q ci -m resolve-it" \
  "Checking in binfile;
***************
*** 11479,11485 ****
--- 12022,12030 ----
  	  rm -r 3
  
  	  cd 2/first-dir
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'this file is $''RCSfile$' >binfile
+ 	  lf_endlines binfile
  	  dotest binfiles-14a "${testcvs} -q ci -m modify-it" \
  "Checking in binfile;
  ${TESTDIR}/cvsroot/first-dir/binfile,v  <--  binfile
***************
*** 11595,11604 ****
  total revisions: 1
  ============================================================================="
  
! 	  # Check that the contents were right.  This isn't the hard case
! 	  # (in which RCS_delete_revs does a diff), but might as well.
! 	  dotest binfiles-o4 "${testcvs} -q update binfile" "U binfile"
! 	  dotest binfiles-o5 "cmp binfile ../../1/binfile.dat" ""
  
  	  cd ../..
  	  rm -rf ${CVSROOT_DIRNAME}/first-dir
--- 12140,12153 ----
  total revisions: 1
  ============================================================================="
  
! 	  if test x"${CRLF_ENDLINES}" = x; then
! 	    # Check that the contents were right.  This isn't the hard case
! 	    # (in which RCS_delete_revs does a diff), but might as well.
! 	    dotest binfiles-o4 "${testcvs} -q update binfile" "U binfile"
! 	    dotest binfiles-o5 "cmp binfile ../../1/binfile.dat" ""
! 	  else
! 	    echo "Skipping the final of binfiles - CRLF_ENDLINES"
! 	  fi
  
  	  cd ../..
  	  rm -rf ${CVSROOT_DIRNAME}/first-dir
***************
*** 11670,11683 ****
--- 12219,12235 ----
  ${TESTDIR}/cvsroot/first-dir/brmod-wdmod,v  <--  brmod-wdmod
  initial revision: 1\.1
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest binfiles2-2 "${testcvs} -q tag -b br" 'T brmod
  T brmod-trmod
  T brmod-wdmod'
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest binfiles2-3 "${testcvs} -q update -r br" ''
  	  cp ../binfile binfile.dat
  	  dotest binfiles2-4 "${testcvs} add -kb binfile.dat" \
  "${PROG} [a-z]*: scheduling file .binfile\.dat. for addition on branch .br.
  ${PROG} [a-z]*: use .${PROG} commit. to add this file permanently"
+ 	  sleep ${FILESYSTEM_TICK}
  	  cp ../binfile2 brmod
  	  cp ../binfile2 brmod-trmod
  	  cp ../binfile2 brmod-wdmod
***************
*** 11707,11718 ****
--- 12259,12272 ----
  [UP] brmod-wdmod"
  	  dotest_fail binfiles2-7 "test -f binfile.dat" ''
  	  dotest binfiles2-7-brmod "cmp ../binfile brmod"
+ 	  sleep ${FILESYSTEM_TICK}
  	  cp ../binfile3 brmod-trmod
  	  dotest binfiles2-7a "${testcvs} -q ci -m tr-modify" \
  "Checking in brmod-trmod;
  ${TESTDIR}/cvsroot/first-dir/brmod-trmod,v  <--  brmod-trmod
  new revision: 1\.2; previous revision: 1\.1
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  cp ../binfile3 brmod-wdmod
  
  	  dotest binfiles2-8 "${testcvs} -q update -j br" \
***************
*** 11952,11962 ****
--- 12506,12519 ----
  	  # both.
  	  CVSWRAPPERS="* -m 'COPY'"
  	  export CVSWRAPPERS
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest mcopy-2 "${testcvs} -q tag -b br" 'T \.cvswrappers
  T brmod
  T brmod-trmod
  T brmod-wdmod'
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest mcopy-3 "${testcvs} -q update -r br" ''
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'modify brmod on br' >brmod
  	  echo 'modify brmod-trmod on br' >brmod-trmod
  	  echo 'modify brmod-wdmod on br' >brmod-wdmod
***************
*** 11973,11978 ****
--- 12530,12536 ----
  ${TESTDIR}/cvsroot/first-dir/brmod-wdmod,v  <--  brmod-wdmod
  new revision: 1\.1\.2\.1; previous revision: 1\.1
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest mcopy-6 "${testcvs} -q update -A" \
  "[UP] brmod
  [UP] brmod-trmod
***************
*** 11982,11993 ****
--- 12540,12553 ----
  brmod-trmod initial contents
  brmod-wdmod initial contents"
  
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'modify brmod-trmod again on trunk' >brmod-trmod
  	  dotest mcopy-7a "${testcvs} -q ci -m tr-modify" \
  "Checking in brmod-trmod;
  ${TESTDIR}/cvsroot/first-dir/brmod-trmod,v  <--  brmod-trmod
  new revision: 1\.2; previous revision: 1\.1
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'modify brmod-wdmod in working dir' >brmod-wdmod
  
  	  dotest mcopy-8 "${testcvs} -q update -j br" \
***************
*** 12228,12233 ****
--- 12788,12794 ----
            # This destroys anything currently in cvswrappers, but
  	  # presumably other tests will take care of it themselves if
  	  # they use cvswrappers:
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo "foo*.sb  -k 'b'" > cvswrappers
  	  dotest binwrap3-2 "${testcvs} -q ci -m cvswrappers-mod" \
  "Checking in cvswrappers;
***************
*** 12387,12392 ****
--- 12948,12954 ----
  
  	  dotest mwrap-c1 "${testcvs} -q co CVSROOT" "[UP] CVSROOT${DOTSTAR}"
  	  cd CVSROOT
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo "* -m 'COPY'" >>cvswrappers
  	  dotest mwrap-c2 "${testcvs} -q ci -m wrapper-mod" \
  "Checking in cvswrappers;
***************
*** 12416,12421 ****
--- 12978,12984 ----
  	  mkdir m2; cd m2
  	  dotest mwrap-5 "${testcvs} -q co first-dir" "U first-dir/aa"
  	  cd first-dir
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo "changed in m2" >aa
  	  dotest mwrap-6 "${testcvs} -q ci -m m2-mod" \
  "Checking in aa;
***************
*** 12489,12500 ****
  	  rm -f $TESTDIR/testlog $TESTDIR/testlog2
  	  echo "ALL sh -c \"echo x\${=MYENV}\${=OTHER}y\${=ZEE}=\$USER=\$CVSROOT= >>$TESTDIR/testlog; cat >/dev/null\"" > loginfo
            # The following cases test the format string substitution
!           echo "ALL echo %{sVv} >>$TESTDIR/testlog2; cat >/dev/null" >> loginfo
!           echo "ALL echo %{v} >>$TESTDIR/testlog2; cat >/dev/null" >> loginfo
!           echo "ALL echo %s >>$TESTDIR/testlog2; cat >/dev/null" >> loginfo
!           echo "ALL echo %{V}AX >>$TESTDIR/testlog2; cat >/dev/null" >> loginfo
!           echo "first-dir echo %sux >>$TESTDIR/testlog2; cat >/dev/null" \
!             >> loginfo
  
  	  # Might be nice to move this to crerepos tests; it should
  	  # work to create a loginfo file if you didn't create one
--- 13052,13072 ----
  	  rm -f $TESTDIR/testlog $TESTDIR/testlog2
  	  echo "ALL sh -c \"echo x\${=MYENV}\${=OTHER}y\${=ZEE}=\$USER=\$CVSROOT= >>$TESTDIR/testlog; cat >/dev/null\"" > loginfo
            # The following cases test the format string substitution
!  	  if test x"${CANT_RUN_SCRIPTS}" = x; then
!            echo "ALL echo %{sVv} >>$TESTDIR/testlog2; cat >/dev/null" >> loginfo
!            echo "ALL echo %{v} >>$TESTDIR/testlog2; cat >/dev/null" >> loginfo
!            echo "ALL echo %s >>$TESTDIR/testlog2; cat >/dev/null" >> loginfo
!            echo "ALL echo %{V}AX >>$TESTDIR/testlog2; cat >/dev/null" >> loginfo
!            echo "first-dir echo %sux >>$TESTDIR/testlog2; cat >/dev/null" \
!               >> loginfo
! 	  else
! 	    echo "ALL ${TESTSHELL} -c \"echo %{sVv} >>$TESTDIR/testlog2; cat >/dev/null\"" >> loginfo
! 	    echo "ALL ${TESTSHELL} -c \"echo %{v} >>$TESTDIR/testlog2; cat >/dev/null\"" >> loginfo
! 	    echo "ALL ${TESTSHELL} -c \"echo %s >>$TESTDIR/testlog2; cat >/dev/null\"" >> loginfo
! 	    echo "ALL ${TESTSHELL} -c \"echo %{V}AX >>$TESTDIR/testlog2; cat >/dev/null\"" >> loginfo
! 	    echo "first-dir ${TESTSHELL} -c \"echo %sux >>$TESTDIR/testlog2; cat >/dev/null\"" \
!               >> loginfo
! 	  fi
  
  	  # Might be nice to move this to crerepos tests; it should
  	  # work to create a loginfo file if you didn't create one
***************
*** 12535,12540 ****
--- 13107,13113 ----
  done
  ${PROG} [a-z]*: loginfo:1: no such user variable \${=ZEE}"
  	  echo line1 >>file1
+ #	  dotest info-7 "${testcvs} -t -s OTHER=value -s ZEE=z ci -m mod-it" \
  	  dotest info-7 "${testcvs} -q -s OTHER=value -s ZEE=z ci -m mod-it" \
  "Checking in file1;
  ${TESTDIR}/cvsroot/first-dir/file1,v  <--  file1
***************
*** 12542,12547 ****
--- 13115,13127 ----
  done"
  	  cd ..
  	  dotest info-9 "cat $TESTDIR/testlog" "xenv-valueyz=${username}=${TESTDIR}/cvsroot="
+ 
+ 	  # Windows-NT, Microsoft Visual C++ 4.2 does badly on info-10
+ 	  # for files that have %{sVv} substitutions.
+ 	  # src/logmsg.c(logfile_write) puts apostrophe around strings,
+ 	  # windows-NT/run.c(requote) changes these to quote.
+ 	  # windows-NT/run.c(run_popen) passes these to CMD.EXE.
+ 	  # 
            dotest info-10 "cat $TESTDIR/testlog2" 'first-dir file1,NONE,1.1
  first-dir 1.1
  first-dir file1
***************
*** 12559,12564 ****
--- 13139,13145 ----
  first-dir file1ux'
  
  	  cd CVSROOT
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo '# do nothing' >loginfo
  	  dotest info-11 "${testcvs} -q -s ZEE=garbage ci -m nuke-loginfo" \
  "Checking in loginfo;
***************
*** 12579,12585 ****
  fi
  EOF
  	  chmod +x ${TESTDIR}/vscript
! 	  echo "^first-dir ${TESTDIR}/vscript" >>verifymsg
  	  dotest info-v1 "${testcvs} -q ci -m add-verification" \
  "Checking in verifymsg;
  ${TESTDIR}/cvsroot/CVSROOT/verifymsg,v  <--  verifymsg
--- 13160,13170 ----
  fi
  EOF
  	  chmod +x ${TESTDIR}/vscript
! 	  if test x"${CANT_RUN_SCRIPTS}" = x; then
! 	    echo "^first-dir ${TESTDIR}/vscript" >>verifymsg
! 	  else
! 	    echo "^first-dir ${TESTSHELL} ${TESTDIR}/vscript" >>verifymsg
! 	  fi
  	  dotest info-v1 "${testcvs} -q ci -m add-verification" \
  "Checking in verifymsg;
  ${TESTDIR}/cvsroot/CVSROOT/verifymsg,v  <--  verifymsg
***************
*** 12615,12620 ****
--- 13200,13206 ----
  	  rmdir another-dir
  
  	  cd CVSROOT
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo '# do nothing' >verifymsg
  	  dotest info-cleanup-verifymsg "${testcvs} -q ci -m nuke-verifymsg" \
  "Checking in verifymsg;
***************
*** 12773,12778 ****
--- 13359,13365 ----
  
  	  dotest config-1 "${testcvs} -q co CVSROOT" "U CVSROOT/${DOTSTAR}"
  	  cd CVSROOT
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'bogus line' >config
  	  # We can't rely on specific revisions, since other tests
  	  # might need to modify CVSROOT/config
***************
*** 12782,12787 ****
--- 13369,13375 ----
  new revision: 1\.[0-9]*; previous revision: 1\.[0-9]*
  done
  ${PROG} [a-z]*: Rebuilding administrative file database"
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'BogusOption=yes' >config
  	  dotest config-4 "${testcvs} -q ci -m change-to-bogus-opt" \
  "${PROG} [a-z]*: syntax error in ${TESTDIR}/cvsroot/CVSROOT/config: line 'bogus line' is missing '='
***************
*** 12790,12795 ****
--- 13378,13384 ----
  new revision: 1\.[0-9]*; previous revision: 1\.[0-9]*
  done
  ${PROG} [a-z]*: Rebuilding administrative file database"
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo '# No config is a good config' > config
  	  dotest config-5 "${testcvs} -q ci -m change-to-comment" \
  "${PROG} [a-z]*: ${TESTDIR}/cvsroot/CVSROOT/config: unrecognized keyword 'BogusOption'
***************
*** 12911,12916 ****
--- 13500,13506 ----
  done"
  	  rm -f ${TESTDIR}/comment.tmp
  
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'second revision' > file1
  	  dotest log-4 "${testcvs} -q ci -m2 file1" \
  "Checking in file1;
***************
*** 12918,12925 ****
--- 13508,13517 ----
  new revision: 1\.2; previous revision: 1\.1
  done"
  
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest log-5 "${testcvs} -q tag -b branch file1" 'T file1'
  
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'third revision' > file1
  	  dotest log-6 "${testcvs} -q ci -m3 file1" \
  "Checking in file1;
***************
*** 12927,12934 ****
--- 13519,13528 ----
  new revision: 1\.3; previous revision: 1\.2
  done"
  
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest log-7 "${testcvs} -q update -r branch" '[UP] file1'
  
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'first branch revision' > file1
  	  dotest log-8 "${testcvs} -q ci -m1b file1" \
  "Checking in file1;
***************
*** 12938,12943 ****
--- 13532,13538 ----
  
  	  dotest log-9 "${testcvs} -q tag tag file1" 'T file1'
  
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'second branch revision' > file1
  	  dotest log-10 "${testcvs} -q ci -m2b file1" \
  "Checking in file1;
***************
*** 13386,13391 ****
--- 13981,13987 ----
  ${TESTDIR}/cvsroot/first-dir/file1,v  <--  file1
  initial revision: 1\.1
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  cat >file1 <<EOF
  this
  is
***************
*** 13402,13408 ****
--- 13998,14006 ----
  ${TESTDIR}/cvsroot/first-dir/file1,v  <--  file1
  new revision: 1\.2; previous revision: 1\.1
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest ann-6 "${testcvs} -q tag -b br" "T file1"
+ 	  sleep ${FILESYSTEM_TICK}
  	  cat >file1 <<EOF
  this
  is
***************
*** 13419,13425 ****
--- 14017,14025 ----
  ${TESTDIR}/cvsroot/first-dir/file1,v  <--  file1
  new revision: 1\.3; previous revision: 1\.2
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest ann-8 "${testcvs} -q update -r br" "[UP] file1"
+ 	  sleep ${FILESYSTEM_TICK}
  	  cat >file1 <<EOF
  this
  is
***************
*** 13550,13568 ****
  
  	    # First, if the repository doesn't exist at all...
  	    dotest_fail crerepos-1 \
! "${testcvs} -d ${TESTDIR}/crerepos co cvs-sanity" \
  "${PROG} \[[a-z]* aborted\]: ${TESTDIR}/crerepos/CVSROOT: .*"
  	    mkdir crerepos
  
  	    # The repository exists but CVSROOT doesn't.
  	    dotest_fail crerepos-2 \
! "${testcvs} -d ${TESTDIR}/crerepos co cvs-sanity" \
  "${PROG} \[[a-z]* aborted\]: ${TESTDIR}/crerepos/CVSROOT: .*"
  	    mkdir crerepos/CVSROOT
  
  	    # Checkout of nonexistent module
  	    dotest_fail crerepos-3 \
! "${testcvs} -d ${TESTDIR}/crerepos co cvs-sanity" \
  "${PROG} [a-z]*: cannot find module .cvs-sanity. - ignored"
  
  	    # Now test that CVS works correctly without a modules file
--- 14150,14168 ----
  
  	    # First, if the repository doesn't exist at all...
  	    dotest_fail crerepos-1 \
! "${testcvs} -d :local:${TESTDIR}/crerepos co cvs-sanity" \
  "${PROG} \[[a-z]* aborted\]: ${TESTDIR}/crerepos/CVSROOT: .*"
  	    mkdir crerepos
  
  	    # The repository exists but CVSROOT doesn't.
  	    dotest_fail crerepos-2 \
! "${testcvs} -d :local:${TESTDIR}/crerepos co cvs-sanity" \
  "${PROG} \[[a-z]* aborted\]: ${TESTDIR}/crerepos/CVSROOT: .*"
  	    mkdir crerepos/CVSROOT
  
  	    # Checkout of nonexistent module
  	    dotest_fail crerepos-3 \
! "${testcvs} -d :local:${TESTDIR}/crerepos co cvs-sanity" \
  "${PROG} [a-z]*: cannot find module .cvs-sanity. - ignored"
  
  	    # Now test that CVS works correctly without a modules file
***************
*** 13572,13581 ****
  	    # been created with an old version of CVS.
  	    mkdir tmp; cd tmp
  	    dotest crerepos-4 \
! "${testcvs} -q -d ${TESTDIR}/crerepos co CVSROOT" \
  ''
  	    if echo yes | \
! ${testcvs} -d ${TESTDIR}/crerepos release -d CVSROOT >>${LOGFILE}; then
  	      pass crerepos-5
  	    else
  	      fail crerepos-5
--- 14172,14181 ----
  	    # been created with an old version of CVS.
  	    mkdir tmp; cd tmp
  	    dotest crerepos-4 \
! "${testcvs} -q -d :local:${TESTDIR}/crerepos co CVSROOT" \
  ''
  	    if echo yes | \
! ${testcvs} -d :local:${TESTDIR}/crerepos release -d CVSROOT >>${LOGFILE}; then
  	      pass crerepos-5
  	    else
  	      fail crerepos-5
***************
*** 13585,13591 ****
  	    # The directory tmp should be empty
  	    dotest crerepos-6 "rmdir tmp" ''
  
! 	    CREREPOS_ROOT=${TESTDIR}/crerepos
  
  	  else
  	    # For remote, just create the repository.  We don't yet do
--- 14185,14191 ----
  	    # The directory tmp should be empty
  	    dotest crerepos-6 "rmdir tmp" ''
  
! 	    CREREPOS_ROOT=:local:${TESTDIR}/crerepos
  
  	  else
  	    # For remote, just create the repository.  We don't yet do
***************
*** 13610,13616 ****
  
  	    # If we're going to do remote testing, make sure 'rsh' works first.
  	    host="`hostname`"
! 	    if test "x`${CVS_RSH-rsh} $host -n 'echo hi'`" != "xhi"; then
  		echo "ERROR: cannot test remote CVS, because \`rsh $host' fails." >&2
  		exit 1
  	    fi
--- 14210,14216 ----
  
  	    # If we're going to do remote testing, make sure 'rsh' works first.
  	    host="`hostname`"
! 	    if test "x`${CVS_RSH-rsh} $host $RSH_FLAGS -n 'echo hi'`" != "xhi"; then
  		echo "ERROR: cannot test remote CVS, because \`rsh $host' fails." >&2
  		exit 1
  	    fi
***************
*** 13817,13822 ****
--- 14417,14423 ----
  @d2 12
  @
  EOF
+ 	  lf_endlines ${CVSROOT_DIRNAME}/first-dir/file1,v
  	  dotest rcs-1 "${testcvs} -q co first-dir" 'U first-dir/file1'
  	  cd first-dir
  	  dotest rcs-2 "${testcvs} -q log" "
***************
*** 13922,13940 ****
  	  # doc/RCSFILES and friends.  One subtle point is that none of
  	  # the lines end with newlines; that is a feature which we
  	  # should be testing.
! 	  cat <<EOF >${CVSROOT_DIRNAME}/first-dir/file2,v
  head			 	1.5                 ;
       branch        1.2.6;
  access ;
  symbols branch:1.2.6;
  locks;
  testofanewphrase @without newphrase we'd have trouble extending @@ all@ ;
! 1.5 date 71.01.01.01.00.00; author joe; state bogus; branches; next 1.4;
! 1.4 date 71.01.01.00.00.05; author joe; state bogus; branches; next 1.3;
! 1.3 date 70.12.31.15.00.05; author joe; state bogus; branches; next 1.2;
! 1.2 date 70.12.31.12.15.05; author me; state bogus; branches 1.2.6.1; next 1.1;
! 1.1 date 70.12.31.11.00.05; author joe; state bogus; branches; next; newph;
! 1.2.6.1 date 71.01.01.08.00.05; author joe; state Exp; branches; next;
  desc @@
  1.5 log @@ newphrase1; newphrase2 42; text @head revision@
  1.4 log @@ text @d1 1
--- 14523,14542 ----
  	  # doc/RCSFILES and friends.  One subtle point is that none of
  	  # the lines end with newlines; that is a feature which we
  	  # should be testing.
! 
! 
  head			 	1.5                 ;
       branch        1.2.6;
  access ;
  symbols branch:1.2.6;
  locks;
  testofanewphrase @without newphrase we'd have trouble extending @@ all@ ;
! 1.5 date ${DECADE}1.01.01.01.00.00; author joe; state bogus; branches; next 1.4;
! 1.4 date ${DECADE}1.01.01.00.00.05; author joe; state bogus; branches; next 1.3;
! 1.3 date ${DECADE}0.12.31.15.00.05; author joe; state bogus; branches; next 1.2;
! 1.2 date ${DECADE}0.12.31.12.15.05; author me; state bogus; branches 1.2.6.1; next 1.1;
! 1.1 date ${DECADE}0.12.31.11.00.05; author joe; state bogus; branches; next; newph;
! 1.2.6.1 date ${DECADE}1.01.01.08.00.05; author joe; state Exp; branches; next;
  desc @@
  1.5 log @@ newphrase1; newphrase2 42; text @head revision@
  1.4 log @@ text @d1 1
***************
*** 13956,13968 ****
--- 14558,14574 ----
  EOF
  	  # ' Match the single quote in above here doc -- for font-lock mode.
  
+ 	  lf_endlines ${CVSROOT_DIRNAME}/first-dir/file2,v
+ 
  	  # First test the default branch.
  	  dotest rcs-5 "${testcvs} -q update file2" "U file2"
  	  dotest rcs-6 "cat file2" "branch revision"
  
  	  # Check in a revision on the branch to force CVS to
  	  # interpret every revision in the file.
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest rcs-6a "${testcvs} -q update -r branch file2" ""
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo "next branch revision" > file2
  	  dotest rcs-6b "${testcvs} -q ci -m mod file2" \
  "Checking in file2;
***************
*** 13993,14026 ****
  testofanewphrase	@without newphrase we'd have trouble extending @@ all@;
  
  1\.5
! date	71\.01\.01\.01\.00\.00;	author joe;	state bogus;
  branches;
  next	1\.4;
  
  1\.4
! date	71\.01\.01\.00\.00\.05;	author joe;	state bogus;
  branches;
  next	1\.3;
  
  1\.3
! date	70\.12\.31\.15\.00\.05;	author joe;	state bogus;
  branches;
  next	1\.2;
  
  1\.2
! date	70\.12\.31\.12\.15\.05;	author me;	state bogus;
  branches
  	1\.2\.6\.1;
  next	1\.1;
  
  1\.1
! date	70\.12\.31\.11\.00\.05;	author joe;	state bogus;
  branches;
  next	;
  newph	;
  
  1\.2\.6\.1
! date	71\.01\.01\.08\.00\.05;	author joe;	state Exp;
  branches;
  next	1\.2\.6\.2;
  
--- 14599,14632 ----
  testofanewphrase	@without newphrase we'd have trouble extending @@ all@;
  
  1\.5
! date	${DECADE}1\.01\.01\.01\.00\.00;	author joe;	state bogus;
  branches;
  next	1\.4;
  
  1\.4
! date	${DECADE}1\.01\.01\.00\.00\.05;	author joe;	state bogus;
  branches;
  next	1\.3;
  
  1\.3
! date	${DECADE}0\.12\.31\.15\.00\.05;	author joe;	state bogus;
  branches;
  next	1\.2;
  
  1\.2
! date	${DECADE}0\.12\.31\.12\.15\.05;	author me;	state bogus;
  branches
  	1\.2\.6\.1;
  next	1\.1;
  
  1\.1
! date	${DECADE}0\.12\.31\.11\.00\.05;	author joe;	state bogus;
  branches;
  next	;
  newph	;
  
  1\.2\.6\.1
! date	${DECADE}1\.01\.01\.08\.00\.05;	author joe;	state Exp;
  branches;
  next	1\.2\.6\.2;
  
***************
*** 14098,14119 ****
  next branch revision
  @"
  
- 	  dotest rcs-9 "${testcvs} -q update -p -D '1970-12-31 11:30 UT' file2" \
- "start revision"
  
! 	  dotest rcs-10 "${testcvs} -q update -p -D '1970-12-31 12:30 UT' file2" \
! "mid revision"
  
- 	  dotest rcs-11 "${testcvs} -q update -p -D '1971-01-01 00:30 UT' file2" \
- "new year revision"
  
  	  # Same test as rcs-10, but with am/pm.
! 	  dotest rcs-12 "${testcvs} -q update -p -D 'December 31, 1970 12:30pm UT' file2" \
! "mid revision"
  
  	  # Same test as rcs-11, but with am/pm.
! 	  dotest rcs-13 "${testcvs} -q update -p -D 'January 1, 1971 12:30am UT' file2" \
! "new year revision"
  
  	  # OK, now make sure cvs log doesn't have any trouble with the
  	  # newphrases and such.
--- 14704,14725 ----
  next branch revision
  @"
  
  
! 	  dotest rcs-9 "${testcvs} -q update -p -D '19${DECADE}0-12-31 11:30 UT' file2" \
  
  
+ 	  dotest rcs-10 "${testcvs} -q update -p -D '19${DECADE}0-12-31 12:30 UT' file2" \
+ 
+ 
+ 	  dotest rcs-11 "${testcvs} -q update -p -D '19${DECADE}1-01-01 00:30 UT' file2" \
+ 
+ 	  # Same test as rcs-10, but with am/pm.
  	  # Same test as rcs-10, but with am/pm.
! 	  dotest rcs-12 "${testcvs} -q update -p -D 'December 31, 19${DECADE}0 12:30pm UT' file2" \
  
  	  # Same test as rcs-11, but with am/pm.
! 	  # Same test as rcs-11, but with am/pm.
! 	  dotest rcs-13 "${testcvs} -q update -p -D 'January 1, 19${DECADE}1 12:30am UT' file2" \
  
  	  # OK, now make sure cvs log doesn't have any trouble with the
  	  # newphrases and such.
***************
*** 14131,14154 ****
  description:
  ----------------------------
  revision 1\.5
! date: 1971/01/01 01:00:00;  author: joe;  state: bogus;  lines: ${PLUS}1 -1
  \*\*\* empty log message \*\*\*
  ----------------------------
  revision 1\.4
! date: 1971/01/01 00:00:05;  author: joe;  state: bogus;  lines: ${PLUS}1 -1
  \*\*\* empty log message \*\*\*
  ----------------------------
  revision 1\.3
! date: 1970/12/31 15:00:05;  author: joe;  state: bogus;  lines: ${PLUS}1 -1
  \*\*\* empty log message \*\*\*
  ----------------------------
  revision 1\.2
! date: 1970/12/31 12:15:05;  author: me;  state: bogus;  lines: ${PLUS}1 -1
  branches:  1\.2\.6;
  \*\*\* empty log message \*\*\*
  ----------------------------
  revision 1\.1
! date: 1970/12/31 11:00:05;  author: joe;  state: bogus;
  \*\*\* empty log message \*\*\*
  ----------------------------
  revision 1\.2\.6\.2
--- 14737,14760 ----
  description:
  ----------------------------
  revision 1\.5
! date: 19${DECADE}1/01/01 01:00:00;  author: joe;  state: bogus;  lines: ${PLUS}1 -1
  \*\*\* empty log message \*\*\*
  ----------------------------
  revision 1\.4
! date: 19${DECADE}1/01/01 00:00:05;  author: joe;  state: bogus;  lines: ${PLUS}1 -1
  \*\*\* empty log message \*\*\*
  ----------------------------
  revision 1\.3
! date: 19${DECADE}0/12/31 15:00:05;  author: joe;  state: bogus;  lines: ${PLUS}1 -1
  \*\*\* empty log message \*\*\*
  ----------------------------
  revision 1\.2
! date: 19${DECADE}0/12/31 12:15:05;  author: me;  state: bogus;  lines: ${PLUS}1 -1
  branches:  1\.2\.6;
  \*\*\* empty log message \*\*\*
  ----------------------------
  revision 1\.1
! date: 19${DECADE}0/12/31 11:00:05;  author: joe;  state: bogus;
  \*\*\* empty log message \*\*\*
  ----------------------------
  revision 1\.2\.6\.2
***************
*** 14156,14200 ****
  mod
  ----------------------------
  revision 1\.2\.6\.1
! date: 1971/01/01 08:00:05;  author: joe;  state: Exp;  lines: ${PLUS}1 -1
  \*\*\* empty log message \*\*\*
  ============================================================================="
  	  # Now test each date format for "cvs log -d".
  	  # Earlier than 1971-01-01
! 	  dotest rcs-15 "${testcvs} -q log -d '<1971-01-01 00:00 GMT' file2 \
! 	    | grep revision" \
  "total revisions: 7;	selected revisions: 3
  revision 1\.3
  revision 1\.2
  revision 1\.1"
  	  # Later than 1971-01-01
! 	  dotest rcs-16 "${testcvs} -q log -d '1971-01-01 00:00 GMT<' file2 \
! 	    | grep revision" \
  "total revisions: 7;	selected revisions: 4
  revision 1\.5
  revision 1\.4
  revision 1\.2\.6\.2
  revision 1\.2\.6\.1"
  	  # Alternate syntaxes for later and earlier; multiple -d options
! 	  dotest rcs-17 "${testcvs} -q log -d '>1971-01-01 00:00 GMT' \
! 	    -d '1970-12-31 12:15 GMT>' file2 | grep revision" \
! "total revisions: 7;	selected revisions: 5
  revision 1\.5
  revision 1\.4
  revision 1\.1
  revision 1\.2\.6\.2
  revision 1\.2\.6\.1"
  	  # Range, and single date
! 	  dotest rcs-18 "${testcvs} -q log -d '1970-12-31 11:30 GMT' \
! 	    -d '1971-01-01 00:00:05 GMT<1971-01-01 01:00:01 GMT' \
! 	    file2 | grep revision" \
  "total revisions: 7;	selected revisions: 2
  revision 1\.5
  revision 1\.1"
  	  # Alternate range syntax; equality
  	  dotest rcs-19 "${testcvs} -q log \
! 	    -d '1971-01-01 01:00:01 GMT>=1971-01-01 00:00:05 GMT' \
! 	    file2 | grep revision" \
  "total revisions: 7;	selected revisions: 2
  revision 1\.5
  revision 1\.4"
--- 14762,14806 ----
  mod
  ----------------------------
  revision 1\.2\.6\.1
! date: 19${DECADE}1/01/01 08:00:05;  author: joe;  state: Exp;  lines: ${PLUS}1 -1
  \*\*\* empty log message \*\*\*
  ============================================================================="
  	  # Now test each date format for "cvs log -d".
+ 	  # Earlier than 1971-01-01
  	  # Earlier than 1971-01-01
! 	  dotest rcs-15 "${testcvs} -q log -d '<19${DECADE}1-01-01 00:00 GMT' file2 \
  "total revisions: 7;	selected revisions: 3
  revision 1\.3
  revision 1\.2
  revision 1\.1"
  	  # Later than 1971-01-01
! 	  # Later than 1971-01-01
! 	  dotest rcs-16 "${testcvs} -q log -d '19${DECADE}1-01-01 00:00 GMT<' file2 \
  "total revisions: 7;	selected revisions: 4
  revision 1\.5
  revision 1\.4
  revision 1\.2\.6\.2
  revision 1\.2\.6\.1"
+ 	  # Alternate syntaxes for later and earlier; multiple -d options
  	  # Alternate syntaxes for later and earlier; multiple -d options
! 	  dotest rcs-17 "${testcvs} -q log -d '>19${DECADE}1-01-01 00:00 GMT' \
! 	    -d '19${DECADE}0-12-31 12:15 GMT>' file2 | grep revision" \
  revision 1\.5
  revision 1\.4
  revision 1\.1
  revision 1\.2\.6\.2
  revision 1\.2\.6\.1"
  	  # Range, and single date
! 	  # Range, and single date
! 	  dotest rcs-18 "${testcvs} -q log -d '19${DECADE}0-12-31 11:30 GMT' \
! 	    -d '19${DECADE}1-01-01 00:00:05 GMT<19${DECADE}1-01-01 01:00:01 GMT' \
  "total revisions: 7;	selected revisions: 2
  revision 1\.5
  revision 1\.1"
  	  # Alternate range syntax; equality
+ 	  dotest rcs-19 "${testcvs} -q log \
  	  dotest rcs-19 "${testcvs} -q log \
! 	    -d '19${DECADE}1-01-01 01:00:01 GMT>=19${DECADE}1-01-01 00:00:05 GMT' \
  "total revisions: 7;	selected revisions: 2
  revision 1\.5
  revision 1\.4"
***************
*** 14248,14253 ****
--- 14854,14860 ----
  EOF
  	  # ' Match the 3rd single quote in the here doc -- for font-lock mode.
  
+ 	  lf_endlines ${CVSROOT_DIRNAME}/first-dir/file1,v
  	  dotest rcs2-1 "${testcvs} -q co first-dir" 'U first-dir/file1'
  	  cd first-dir
  
***************
*** 14393,14408 ****
  	  # doesn't seem to use it for much (although it perhaps should).
  	  dotest lockfiles-7 "ls ${TESTDIR}/locks/first-dir/sdir/ssdir" ""
  
! 	  # The policy is that when CVS creates new lock directories, they
! 	  # inherit the permissions from the parent directory.  CVSUMASK
! 	  # isn't right, because typically the reason for LockDir is to
! 	  # use a different set of permissions.
! 	  dotest lockfiles-7a "ls -ld ${TESTDIR}/locks/first-dir" \
  "drwxr----- .*first-dir"
! 	  dotest lockfiles-7b "ls -ld ${TESTDIR}/locks/first-dir/sdir/ssdir" \
  "drwxr----- .*first-dir/sdir/ssdir"
! 
! 	  cd ../../..
  	  dotest lockfiles-8 "${testcvs} -q update" ""
  	  dotest lockfiles-9 "${testcvs} -q co -l ." ""
  
--- 15000,15018 ----
  	  # doesn't seem to use it for much (although it perhaps should).
  	  dotest lockfiles-7 "ls ${TESTDIR}/locks/first-dir/sdir/ssdir" ""
  
! 
! 	  if test x"${BROKEN_LS_L}" = x; then
! 	    # The policy is that when CVS creates new lock directories, they
! 	    # inherit the permissions from the parent directory.  CVSUMASK
! 	    # isn't right, because typically the reason for LockDir is to
! 	    # use a different set of permissions.
! 	    dotest lockfiles-7a "ls -ld ${TESTDIR}/locks/first-dir" \
  "drwxr----- .*first-dir"
! 	    dotest lockfiles-7b "ls -ld ${TESTDIR}/locks/first-dir/sdir/ssdir" \
  "drwxr----- .*first-dir/sdir/ssdir"
! 	  else
! 	    echo "Skipping the mode-specific lockfiles tests - BROKEN_LS_L"
! 	  fi
  	  dotest lockfiles-8 "${testcvs} -q update" ""
  	  dotest lockfiles-9 "${testcvs} -q co -l ." ""
  
***************
*** 14555,14560 ****
--- 15165,15171 ----
  	  cd ../../1/first-dir
  	  dotest backuprecover-11 "${testcvs} -Q update" ''
  	  echo >>file1
+           sleep ${FILESYSTEM_TICK}
  	  echo >>dir/file2
  	  echo "Oh yeah, well rhyme this" >>file1
  	  echo "  developer three" >>file1
***************
*** 14736,14741 ****
--- 15347,15353 ----
  C3b235f50|kingdon|<remote>|ccvs/emx|1.3|README
  M3b23af50|kingdon|~/work/*0|ccvs/doc|1.281|cvs.texinfo
  EOF
+ 	  lf_endlines ${CVSROOT_DIRNAME}/CVSROOT/history
  	  dotest history-1 "${testcvs} history -e -a" \
  "O 1997-06-04 19:48 ${PLUS}0000 anonymous ccvs     =ccvs= <remote>/\*
  O 1997-06-05 14:00 ${PLUS}0000 anonymous ccvs     =src=  <remote>/\*
***************
*** 14775,14780 ****
--- 15387,15393 ----
  C 2001-06-10 11:51 ${PLUS}0000 kingdon 1\.3   README    ccvs/emx == <remote>
  M 1997-06-10 01:36 ${PLUS}0000 nk      1\.229 sanity\.sh ccvs/src == <remote>"
  
+ 
  	  dotest history-8 "${testcvs} history -ca -D '1970-01-01 00:00 UT'" \
  "M 1997-06-10 01:36 ${PLUS}0000 nk        1\.229 sanity.sh   ccvs/src == <remote>
  M 1997-06-10 01:38 ${PLUS}0000 anonymous 1\.23  Makefile    ccvs/src == <remote>
***************
*** 14948,14955 ****
--- 15561,15570 ----
  
  	  # OK, now add a file on a branch.  Check that the mode gets
  	  # set the same way (it is a different code path in CVS).
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest modes-11 "${testcvs} -q tag -b br" 'T aa
  T ab'
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest modes-12 "${testcvs} -q update -r br" ''
  	  touch ac
  	  dotest modes-13 "${testcvs} add ac" \
***************
*** 15497,15502 ****
--- 16112,16118 ----
  ${TESTDIR}/cvsroot/first-dir/file1,v  <--  file1
  new revision: 1\.2; previous revision: 1\.1
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest sticky-7 "${testcvs} -q update -r tag1" "[UP] file1"
  	  dotest sticky-8 "cat file1" ''
  	  dotest sticky-9 "${testcvs} -q update" ''
***************
*** 15519,15524 ****
--- 16135,16141 ----
  done"
  
  	  # Now back to tag1
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest sticky-15 "${testcvs} -q update -r tag1" "[UP] file1
  ${PROG} [a-z]*: file2 is no longer in the repository"
  
***************
*** 15532,15537 ****
--- 16149,16155 ----
  	  dotest sticky-17 "${testcvs} -q ci -m remove-it" ""
  	  dotest sticky-18 "${testcvs} -q update -A" "U file1
  U file2"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest sticky-19 "${testcvs} -q update -r tag1" \
  "${PROG} [a-z]*: file1 is no longer in the repository
  ${PROG} [a-z]*: file2 is no longer in the repository"
***************
*** 15539,15544 ****
--- 16157,16163 ----
  U file2"
  
  	  # Now try with a numeric revision.
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest sticky-21 "${testcvs} -q update -r 1.1 file1" "U file1"
  	  rm file1
  	  dotest sticky-22 "${testcvs} rm file1" \
***************
*** 15737,15744 ****
--- 16356,16365 ----
  
  	  # Test the Name keyword.  First go back to normal expansion.
  
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest keyword-17 "${testcvs} update -A file1" "U file1"
  
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo '$''Name$' > file1
  	  dotest keyword-18 "${testcvs} ci -m modify file1" \
  "Checking in file1;
***************
*** 15746,15757 ****
--- 16367,16380 ----
  new revision: 1\.2; previous revision: 1\.1
  done"
  	  dotest keyword-19 "${testcvs} -q tag tag1" "T file1"
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo "change" >> file1
  	  dotest keyword-20 "${testcvs} -q ci -m mod2 file1" \
  "Checking in file1;
  ${TESTDIR}/cvsroot/first-dir/file1,v  <--  file1
  new revision: 1\.3; previous revision: 1\.2
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest keyword-21 "${testcvs} -q update -r tag1" "[UP] file1"
  
  	  dotest keyword-22 "cat file1" '\$'"Name: tag1 "'\$'
***************
*** 15801,15806 ****
--- 16424,16430 ----
  	  dotest keywordlog-4a "${testcvs} -q co first-dir" "U first-dir/file1"
  	  cd ../1/first-dir
  
+  	  sleep ${FILESYSTEM_TICK}
  	  echo 'xx $''Log$' >> file1
  	  cat >${TESTDIR}/comment.tmp <<EOF
  First log line
***************
*** 15819,15824 ****
--- 16443,16449 ----
  new revision: 1\.4; previous revision: 1\.3
  done"
  	  rm -f ${TESTDIR}/comment.tmp
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest keywordlog-6 "${testcvs} -q tag -b br" "T file1"
  	  dotest keywordlog-7 "cat file1" \
  "initial
***************
*** 15839,15844 ****
--- 16464,16470 ----
  xx"
  	  cd ../../1/first-dir
  
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo "change" >> file1
  	  dotest keywordlog-10 "${testcvs} ci -m modify file1" \
  "Checking in file1;
***************
*** 15872,15878 ****
--- 16498,16506 ----
  change"
  
  	  cd ../../1/first-dir
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest keywordlog-14 "${testcvs} -q update -r br" "[UP] file1"
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo br-change >>file1
  	  dotest keywordlog-15 "${testcvs} -q ci -m br-modify" \
  "Checking in file1;
***************
*** 15891,15896 ****
--- 16519,16525 ----
  xx
  br-change"
  	  cd ../../2/first-dir
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest keywordlog-17 "${testcvs} -q update -r br" "[UP] file1"
  	  dotest keywordlog-18 "cat file1" \
  "initial
***************
*** 16033,16038 ****
--- 16662,16668 ----
  	  ${AWK} 'BEGIN { printf "%c%c%c%sRevision: 1.1 $@%c%c", \
  	    2, 10, 137, "$", 13, 10 }' \
  	    </dev/null | ${TR} '@' '\000' >../binfile.dat
+ 	  lf_endlines ../binfile.dat
  	  cp ../binfile.dat .
  	  dotest keyword2-5 "${testcvs} add -kb binfile.dat" \
  "${PROG} [a-z]*: scheduling file .binfile\.dat. for addition
***************
*** 16125,16156 ****
  new revision: 1\.3; previous revision: 1\.2
  done"
  
  	  dotest_fail keyword2-15 "cmp binfile.dat ../binfile.dat" \
  "binfile\.dat \.\./binfile\.dat differ: char 13, line 2"
  
! 	  # Okay, restore everything and make CVS try and merge a binary file...
! 	  dotest keyword2-16 "${testcvs} -q update -A" \
  "[UP] binfile.dat
  [UP] file1"
! 	  dotest keyword2-17 "${testcvs} -q tag -b branch2" \
  "T binfile\.dat
  T file1"
! 	  dotest keyword2-18 "${testcvs} -q update -r branch2" ''
  
! 	  ${AWK} 'BEGIN { printf "%c%c%c@%c%c", 2, 10, 137, 13, 10 }' \
! 	    </dev/null | ${TR} '@' '\000' >>binfile.dat
! 	  dotest keyword2-19 "${testcvs} -q ci -m badbadbad" \
  "Checking in binfile\.dat;
  ${TESTDIR}/cvsroot/first-dir/binfile\.dat,v  <--  binfile\.dat
  new revision: 1\.1\.4\.1; previous revision: 1\.1
  done"
! 	  dotest keyword2-20 "${testcvs} -q update -A -kk -j branch2" \
  "U binfile\.dat
  RCS file: ${TESTDIR}/cvsroot/first-dir/binfile\.dat,v
  retrieving revision 1\.1
  retrieving revision 1\.1\.4\.1
  Merging differences between 1\.1 and 1\.1\.4\.1 into binfile\.dat
  U file1"
  
  	  # Yep, it's broke, 'cept for that gal in Hodunk who uses -kk
  	  # so that some files only merge when she says so.  Time to clean up...
--- 16755,16791 ----
  new revision: 1\.3; previous revision: 1\.2
  done"
  
+ 	  lf_endlines binfile.dat
  	  dotest_fail keyword2-15 "cmp binfile.dat ../binfile.dat" \
  "binfile\.dat \.\./binfile\.dat differ: char 13, line 2"
  
! 	  cat<binfile.dat>binfile.dat
! 	  if test x"${CRLF_ENDLINES}" = x; then
! 	    dotest keyword2-16 "${testcvs} -q update -A" \
  "[UP] binfile.dat
  [UP] file1"
! 	    dotest keyword2-17 "${testcvs} -q tag -b branch2" \
  "T binfile\.dat
  T file1"
! 	    dotest keyword2-18 "${testcvs} -q update -r branch2" ''
  
! 	    ${AWK} 'BEGIN { printf "%c%c%c@%c%c", 2, 10, 137, 13, 10 }' \
! 	      </dev/null | ${TR} '@' '\000' >>binfile.dat
! 	    dotest keyword2-19 "${testcvs} -q ci -m badbadbad" \
  "Checking in binfile\.dat;
  ${TESTDIR}/cvsroot/first-dir/binfile\.dat,v  <--  binfile\.dat
  new revision: 1\.1\.4\.1; previous revision: 1\.1
  done"
! 	    dotest keyword2-20 "${testcvs} -q update -A -kk -j branch2" \
  "U binfile\.dat
  RCS file: ${TESTDIR}/cvsroot/first-dir/binfile\.dat,v
  retrieving revision 1\.1
  retrieving revision 1\.1\.4\.1
  Merging differences between 1\.1 and 1\.1\.4\.1 into binfile\.dat
  U file1"
+ 	  else
+ 	    echo "Skipping the rest of keyword2 tests - CRLF_ENDLINES"
+ 	  fi
  
  	  # Yep, it's broke, 'cept for that gal in Hodunk who uses -kk
  	  # so that some files only merge when she says so.  Time to clean up...
***************
*** 16187,16192 ****
--- 16822,16828 ----
  "U first-dir/file1
  U first-dir/file2"
  	  cd first-dir
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'add a line on trunk' >> file1
  	  dotest head-3 "${testcvs} -q ci -m modify" \
  "Checking in file1;
***************
*** 16195,16209 ****
--- 16831,16849 ----
  done"
  	  dotest head-4 "${testcvs} -q tag trunktag" "T file1
  T file2"
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'add a line on trunk after trunktag' >> file1
  	  dotest head-5 "${testcvs} -q ci -m modify" \
  "Checking in file1;
  ${TESTDIR}/cvsroot/first-dir/file1,v  <--  file1
  new revision: 1\.3; previous revision: 1\.2
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest head-6 "${testcvs} -q tag -b br1" "T file1
  T file2"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest head-7 "${testcvs} -q update -r br1" ""
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'modify on branch' >>file1
  	  dotest head-8 "${testcvs} -q ci -m modify" \
  "Checking in file1;
***************
*** 16212,16217 ****
--- 16852,16858 ----
  done"
  	  dotest head-9 "${testcvs} -q tag brtag" "T file1
  T file2"
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'modify on branch after brtag' >>file1
  	  dotest head-10 "${testcvs} -q ci -m modify" \
  "Checking in file1;
***************
*** 16220,16225 ****
--- 16861,16867 ----
  done"
  	  # With no sticky tags, HEAD is the head of the trunk.
  	  dotest head-trunk-setup "${testcvs} -q update -A" "[UP] file1"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest head-trunk-update "${testcvs} -q update -r HEAD -p file1" \
  "imported contents
  add a line on trunk
***************
*** 16245,16251 ****
--- 16887,16895 ----
  ${PLUS} modify on branch after brtag"
  
  	  # With a branch sticky tag, HEAD is the head of the trunk.
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest head-br1-setup "${testcvs} -q update -r br1" "[UP] file1"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest head-br1-update "${testcvs} -q update -r HEAD -p file1" \
  "imported contents
  add a line on trunk
***************
*** 16256,16262 ****
--- 16900,16908 ----
  
  	  # With a nonbranch sticky tag on a branch,
  	  # HEAD is the head of the trunk
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest head-brtag-setup "${testcvs} -q update -r brtag" "[UP] file1"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest head-brtag-update "${testcvs} -q update -r HEAD -p file1" \
  "imported contents
  add a line on trunk
***************
*** 16269,16278 ****
--- 16915,16926 ----
  
  	  # With a nonbranch sticky tag on the trunk, HEAD is the head
  	  # of the trunk, I think.
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest head-trunktag-setup "${testcvs} -q update -r trunktag" \
  "[UP] file1"
  	  dotest head-trunktag-check "cat file1" "imported contents
  add a line on trunk"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest head-trunktag-update "${testcvs} -q update -r HEAD -p file1" \
  "imported contents
  add a line on trunk
***************
*** 16362,16369 ****
--- 17010,17020 ----
  ${TESTDIR}/cvsroot/first-dir/file1,v  <--  file1
  initial revision: 1\.1
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest tagdate-5 "${testcvs} -q tag -b br1" "T file1"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest tagdate-6 "${testcvs} -q tag -b br2" "T file1"
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo trunk-2 >file1
  	  dotest tagdate-7 "${testcvs} -q ci -m modify-on-trunk" \
  "Checking in file1;
***************
*** 16374,16380 ****
--- 17025,17033 ----
  	  # any revisions.  First the case where br2 doesn't have any
  	  # revisions either:
  	  dotest tagdate-8 "${testcvs} -q update -p -r br1 -D now" "trunk-1"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest tagdate-9 "${testcvs} -q update -r br2" "[UP] file1"
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo br2-1 >file1
  	  dotest tagdate-10 "${testcvs} -q ci -m modify-on-br2" \
  "Checking in file1;
***************
*** 16468,16479 ****
--- 17121,17136 ----
  ${TESTDIR}/cvsroot/first-dir/file2,v  <--  file2
  initial revision: 1\.1
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest multibranch2-5 "${testcvs} -q tag -b A" "T file1
  T file2"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest multibranch2-6 "${testcvs} -q tag -b B" "T file1
  T file2"
  
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest multibranch2-7 "${testcvs} -q update -r B" ''
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo branch-B >file1
  	  echo branch-B >file2
  	  dotest multibranch2-8 "${testcvs} -q ci -m modify-on-B" \
***************
*** 16486,16493 ****
--- 17143,17152 ----
  new revision: 1\.1\.4\.1; previous revision: 1\.1
  done"
  
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest multibranch2-9 "${testcvs} -q update -r A" '[UP] file1
  [UP] file2'
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo branch-A >file1
  	  # When using cvs-1.9.20, this commit gets a failed assertion in rcs.c.
  	  dotest multibranch2-10 "${testcvs} -q ci -m modify-on-A" \
***************
*** 16551,16558 ****
--- 17210,17219 ----
  	  # bring the changes from B to A.  Probably tests many of the
  	  # same code paths but might as well keep it separate, I guess.
  
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest multibranch2-13 "${testcvs} -q update -r B" "[UP] file1
  [UP] file2"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest multibranch2-14 "${testcvs} -q update -r A -j B file2" \
  "[UP] file2
  RCS file: ${TESTDIR}/cvsroot/first-dir/file2,v
***************
*** 16712,16720 ****
--- 17373,17384 ----
  ${TESTDIR}/cvsroot/first-dir/file2,v  <--  file2
  initial revision: 1\.1
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest admin-7 "${testcvs} -q tag -b br" "T file1
  T file2"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest admin-8 "${testcvs} -q update -r br" ""
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'add a line on the branch' >> file1
  	  dotest admin-9 "${testcvs} -q ci -m modify-on-branch" \
  "Checking in file1;
***************
*** 16999,17004 ****
--- 17663,17669 ----
  done"
  
  	  # Add another revision to file2, so we can delete one.
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo 'add a line' >> file2
  	  dotest admin-21 "${testcvs} -q ci -m modify file2" \
  "Checking in file2;
***************
*** 17026,17055 ****
--- 17691,17725 ----
  ${TESTDIR}/cvsroot/first-dir/aaa,v  <--  aaa
  initial revision: 1\.1
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo second rev >> aaa
  	  dotest admin-22-o3 "${testcvs} -q ci -m second aaa" \
  "Checking in aaa;
  ${TESTDIR}/cvsroot/first-dir/aaa,v  <--  aaa
  new revision: 1\.2; previous revision: 1\.1
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo third rev >> aaa
  	  dotest admin-22-o4 "${testcvs} -q ci -m third aaa" \
  "Checking in aaa;
  ${TESTDIR}/cvsroot/first-dir/aaa,v  <--  aaa
  new revision: 1\.3; previous revision: 1\.2
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo fourth rev >> aaa
  	  dotest admin-22-o5 "${testcvs} -q ci -m fourth aaa" \
  "Checking in aaa;
  ${TESTDIR}/cvsroot/first-dir/aaa,v  <--  aaa
  new revision: 1\.4; previous revision: 1\.3
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo fifth rev >>aaa
  	  dotest admin-22-o6 "${testcvs} -q ci -m fifth aaa" \
  "Checking in aaa;
  ${TESTDIR}/cvsroot/first-dir/aaa,v  <--  aaa
  new revision: 1\.5; previous revision: 1\.4
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo sixth rev >> aaa
  	  dotest admin-22-o7 "${testcvs} -q ci -m sixth aaa" \
  "Checking in aaa;
***************
*** 17119,17126 ****
--- 17789,17799 ----
  first
  ============================================================================="
  
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest admin-22-o14 "${testcvs} tag -b -r1.3 br1 aaa" "T aaa"
+ 	  sleep ${FILESYSTEM_TICK}
  	  dotest admin-22-o15 "${testcvs} update -rbr1 aaa" "U aaa"
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo new branch rev >> aaa
  	  dotest admin-22-o16 "${testcvs} ci -m new-branch aaa" \
  "Checking in aaa;
***************
*** 17142,17159 ****
--- 17815,17835 ----
  second rev
  third rev
  fourth rev"
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo second branch rev >> aaa
  	  dotest admin-22-o19 "${testcvs} ci -m branch-two aaa" \
  "Checking in aaa;
  ${TESTDIR}/cvsroot/first-dir/aaa,v  <--  aaa
  new revision: 1\.3\.2\.2; previous revision: 1\.3\.2\.1
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo third branch rev >> aaa
  	  dotest admin-22-o20 "${testcvs} ci -m branch-three aaa" \
  "Checking in aaa;
  ${TESTDIR}/cvsroot/first-dir/aaa,v  <--  aaa
  new revision: 1\.3\.2\.3; previous revision: 1\.3\.2\.2
  done"
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo fourth branch rev >> aaa
  	  dotest admin-22-o21 "${testcvs} ci -m branch-four aaa" \
  "Checking in aaa;
***************
*** 17334,17339 ****
--- 18010,18016 ----
        	  
  	  # Add a couple more revisions
  	  #
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo "nuthr_line" >> file2
  	  dotest admin-27-1 "${testcvs} commit -m nuthr_line file2"  \
  "Checking in file2;
***************
*** 17341,17346 ****
--- 18018,18024 ----
  new revision: 1\.3; previous revision: 1\.2
  done"
  
+ 	  sleep ${FILESYSTEM_TICK}
  	  echo "yet_another" >> file2
  	  dotest admin-27-2 "${testcvs} commit -m yet_another file2"  \
  "Checking in file2;
***************
*** 17590,17596 ****
  	    fail reserved-11
  	  fi
  	  cd CVSROOT
! 	  echo "DEFAULT ${TESTDIR}/lockme" >>commitinfo
  	  dotest reserved-12 "${testcvs} -q ci -m rcslock commitinfo" \
  "Checking in commitinfo;
  ${TESTDIR}/cvsroot/CVSROOT/commitinfo,v  <--  commitinfo
--- 18268,18279 ----
  	    fail reserved-11
  	  fi
  	  cd CVSROOT
! 	  sleep ${FILESYSTEM_TICK}
! 	  if test x"${CANT_RUN_SCRIPTS}" = x; then
! 	    echo "DEFAULT ${TESTDIR}/lockme" >>commitinfo
! 	  else
! 	    echo "DEFAULT ${TESTSHELL} ${TESTDIR}/lockme" >>commitinfo
! 	  fi
  	  dotest reserved-12 "${testcvs} -q ci -m rcslock commitinfo" \
  "Checking in commitinfo;
  ${TESTDIR}/cvsroot/CVSROOT/commitinfo,v  <--  commitinfo
***************
*** 18500,18505 ****
--- 19183,19189 ----
          CPen *pMinorPen;        // pen to use for drawing minor grid lines
  d472 12
  @" > diffmerge2/sgrid.h,v
+ 	  lf_endlines diffmerge2/sgrid.h,v
  
  	  # We have to put the RCS file in the repository by hand for
  	  # this test:
***************
*** 18611,18618 ****
  
  	  CVSROOT1_DIRNAME=${TESTDIR}/root1
  	  CVSROOT2_DIRNAME=${TESTDIR}/root2
! 	  CVSROOT1=${CVSROOT1_DIRNAME} ; export CVSROOT1
! 	  CVSROOT2=${CVSROOT2_DIRNAME} ; export CVSROOT2
  	  if test "x$remote" = xyes; then
  	      CVSROOT1=:fork:${CVSROOT1_DIRNAME} ; export CVSROOT1
  	      CVSROOT2=:fork:${CVSROOT2_DIRNAME} ; export CVSROOT2
--- 19295,19302 ----
  
  	  CVSROOT1_DIRNAME=${TESTDIR}/root1
  	  CVSROOT2_DIRNAME=${TESTDIR}/root2
! 	  CVSROOT1=${LOCAL_ROOT_PREFIX}${CVSROOT1_DIRNAME} ; export CVSROOT1
! 	  CVSROOT2=${LOCAL_ROOT_PREFIX}${CVSROOT2_DIRNAME} ; export CVSROOT2
  	  if test "x$remote" = xyes; then
  	      CVSROOT1=:fork:${CVSROOT1_DIRNAME} ; export CVSROOT1
  	      CVSROOT2=:fork:${CVSROOT2_DIRNAME} ; export CVSROOT2
***************
*** 19804,19811 ****
  
  	  CVSROOT1_DIRNAME=${TESTDIR}/root1
  	  CVSROOT2_DIRNAME=${TESTDIR}/root2
! 	  CVSROOT1=${CVSROOT1_DIRNAME} ; export CVSROOT1
! 	  CVSROOT2=${CVSROOT2_DIRNAME} ; export CVSROOT2
  	  if test "x$remote" = xyes; then
  	      CVSROOT1=:fork:${CVSROOT1_DIRNAME} ; export CVSROOT1
  	      CVSROOT2=:fork:${CVSROOT2_DIRNAME} ; export CVSROOT2
--- 20488,20495 ----
  
  	  CVSROOT1_DIRNAME=${TESTDIR}/root1
  	  CVSROOT2_DIRNAME=${TESTDIR}/root2
! 	  CVSROOT1=${LOCAL_ROOT_PREFIX}${CVSROOT1_DIRNAME} ; export CVSROOT1
! 	  CVSROOT2=${LOCAL_ROOT_PREFIX}${CVSROOT2_DIRNAME} ; export CVSROOT2
  	  if test "x$remote" = xyes; then
  	      CVSROOT1=:fork:${CVSROOT1_DIRNAME} ; export CVSROOT1
  	      CVSROOT2=:fork:${CVSROOT2_DIRNAME} ; export CVSROOT2
***************
*** 19871,19880 ****
  	  # to work around).
  	  if test "$remote" = no; then
  	    dotest multiroot2-9 "${testcvs} -t update" \
! "${PROG} update: notice: main loop with CVSROOT=${TESTDIR}/root1
  ${PROG} update: Updating \.
  ${PROG} update: Updating dir1
! ${PROG} update: notice: main loop with CVSROOT=${TESTDIR}/root2
  ${PROG} update: Updating dir1/sdir
  ${PROG} update: Updating dir1/sdir/ssdir"
  	  fi
--- 20555,20564 ----
  	  # to work around).
  	  if test "$remote" = no; then
  	    dotest multiroot2-9 "${testcvs} -t update" \
! "${PROG} update: notice: main loop with CVSROOT=${LOCAL_ROOT_PREFIX}${TESTDIR}/root1
  ${PROG} update: Updating \.
  ${PROG} update: Updating dir1
! ${PROG} update: notice: main loop with CVSROOT=${LOCAL_ROOT_PREFIX}${TESTDIR}/root2
  ${PROG} update: Updating dir1/sdir
  ${PROG} update: Updating dir1/sdir/ssdir"
  	  fi
***************
*** 19945,19952 ****
  	    CVSROOT1=:fork:${TESTDIR}/root1 ; export CVSROOT1
  	    CVSROOT2=:fork:${TESTDIR}/root2 ; export CVSROOT2
  	  else
! 	    CVSROOT1=${TESTDIR}/root1 ; export CVSROOT1
! 	    CVSROOT2=${TESTDIR}/root2 ; export CVSROOT2
  	  fi
  
  	  mkdir 1; cd 1
--- 20629,20636 ----
  	    CVSROOT1=:fork:${TESTDIR}/root1 ; export CVSROOT1
  	    CVSROOT2=:fork:${TESTDIR}/root2 ; export CVSROOT2
  	  else
! 	    CVSROOT1=${LOCAL_ROOT_PREFIX}${TESTDIR}/root1 ; export CVSROOT1
! 	    CVSROOT2=${LOCAL_ROOT_PREFIX}${TESTDIR}/root2 ; export CVSROOT2
  	  fi
  
  	  mkdir 1; cd 1
***************
*** 20086,20093 ****
  	    CVSROOT1=:fork:${TESTDIR}/root1 ; export CVSROOT1
  	    CVSROOT2=:fork:${TESTDIR}/root2 ; export CVSROOT2
  	  else
! 	    CVSROOT1=${TESTDIR}/root1 ; export CVSROOT1
! 	    CVSROOT2=${TESTDIR}/root2 ; export CVSROOT2
  	  fi
  
  	  mkdir 1; cd 1
--- 20770,20777 ----
  	    CVSROOT1=:fork:${TESTDIR}/root1 ; export CVSROOT1
  	    CVSROOT2=:fork:${TESTDIR}/root2 ; export CVSROOT2
  	  else
! 	    CVSROOT1=${LOCAL_ROOT_PREFIX}${TESTDIR}/root1 ; export CVSROOT1
! 	    CVSROOT2=${LOCAL_ROOT_PREFIX}${TESTDIR}/root2 ; export CVSROOT2
  	  fi
  
  	  mkdir 1; cd 1
***************
*** 20199,20206 ****
  	    CVSROOT1=:fork:${TESTDIR}/root1 ; export CVSROOT1
  	    CVSROOT_MOVED=:fork:${TESTDIR}/root-moved ; export CVSROOT1
  	  else
! 	    CVSROOT1=${TESTDIR}/root1 ; export CVSROOT1
! 	    CVSROOT_MOVED=${TESTDIR}/root-moved ; export CVSROOT1
  	  fi
  
  	  dotest reposmv-setup-1 "${testcvs} -d ${CVSROOT1} init" ""
--- 20883,20890 ----
  	    CVSROOT1=:fork:${TESTDIR}/root1 ; export CVSROOT1
  	    CVSROOT_MOVED=:fork:${TESTDIR}/root-moved ; export CVSROOT1
  	  else
! 	    CVSROOT1=${LOCAL_ROOT_PREFIX}${TESTDIR}/root1 ; export CVSROOT1
! 	    CVSROOT_MOVED=${LOCAL_ROOT_PREFIX}${TESTDIR}/root-moved ; export CVSROOT1
  	  fi
  
  	  dotest reposmv-setup-1 "${testcvs} -d ${CVSROOT1} init" ""
***************
*** 20227,20239 ****
  	  # for the part of the error message which makes sense.
  	  # Bug: "skipping directory " without filename.
  	  if test "$remote" = no; then
! 	    dotest reposmv-2 "${testcvs} update" "${DOTSTAR}
  ${PROG} update: ignoring CVS/Root because it specifies a non-existent repository ${TESTDIR}/root1
  ${PROG} update: cannot open directory ${TESTDIR}/cvsroot/dir1: No such file or directory
  ${PROG} update: skipping directory "
  	  else
  	    dotest_fail reposmv-2 "${testcvs} update" \
! "Cannot access ${TESTDIR}/root1/CVSROOT
  No such file or directory"
  	  fi
  
--- 20911,20928 ----
  	  # for the part of the error message which makes sense.
  	  # Bug: "skipping directory " without filename.
  	  if test "$remote" = no; then
! 	    if test x"${LOCAL_ROOT_PREFIX}" = x; then
! 	      dotest reposmv-2 "${testcvs} update" "${DOTSTAR}
  ${PROG} update: ignoring CVS/Root because it specifies a non-existent repository ${TESTDIR}/root1
  ${PROG} update: cannot open directory ${TESTDIR}/cvsroot/dir1: No such file or directory
  ${PROG} update: skipping directory "
+ 	    else
+ 	      dotest_fail reposmv-2 "${testcvs} update" \
+ "${PROG} \[update aborted\]: ${TESTDIR}/root1/CVSROOT: No such file or directory"
+ 	    fi
  	  else
  	    dotest_fail reposmv-2 "${testcvs} update" \
! "Cannot access ${LOCAL_ROOT_PREFIX}${TESTDIR}/root1/CVSROOT
  No such file or directory"
  	  fi
  
***************
*** 20241,20251 ****
  	  if test "$remote" = no; then
  	    CVSROOT_SAVED=${CVSROOT}
  	    CVSROOT=${TESTDIR}/root-moved; export CVSROOT
! 	    dotest reposmv-3 "${testcvs} update" \
  "${DOTSTAR}
  ${PROG} update: ignoring CVS/Root because it specifies a non-existent repository ${TESTDIR}/root1
  ${PROG} update: Updating \.
  ${DOTSTAR}"
  	    CVSROOT=${CVSROOT_SAVED}; export CVSROOT
  	  else
  	    CVSROOT_SAVED=${CVSROOT}
--- 20930,20945 ----
  	  if test "$remote" = no; then
  	    CVSROOT_SAVED=${CVSROOT}
  	    CVSROOT=${TESTDIR}/root-moved; export CVSROOT
! 	    if test x"${LOCAL_ROOT_PREFIX}" = x; then
! 	      dotest reposmv-3 "${testcvs} update" \
  "${DOTSTAR}
  ${PROG} update: ignoring CVS/Root because it specifies a non-existent repository ${TESTDIR}/root1
  ${PROG} update: Updating \.
  ${DOTSTAR}"
+ 	    else
+ 	      dotest_fail reposmv-3 "${testcvs} update" \
+ "${PROG} \[update aborted\]: ${TESTDIR}/root1/CVSROOT: No such file or directory"
+ 	    fi
  	    CVSROOT=${CVSROOT_SAVED}; export CVSROOT
  	  else
  	    CVSROOT_SAVED=${CVSROOT}
***************
*** 20261,20271 ****
  	    # Bug?  Not necessarily a big deal if it only affects error
  	    # messages.
  	    CVSROOT_SAVED=${CVSROOT}
! 	    CVSROOT=${TESTDIR}/root-none; export CVSROOT
! 	    dotest_fail reposmv-4 "${testcvs} update" \
  "${PROG} update: in directory \.:
  ${PROG} update: ignoring CVS/Root because it specifies a non-existent repository ${TESTDIR}/root1
  ${PROG} \[update aborted\]: ${TESTDIR}/root-none/CVSROOT: No such file or directory"
  	    CVSROOT=${CVSROOT_SAVED}; export CVSROOT
  	  else
  	    CVSROOT_SAVED=${CVSROOT}
--- 20955,20974 ----
  	    # Bug?  Not necessarily a big deal if it only affects error
  	    # messages.
  	    CVSROOT_SAVED=${CVSROOT}
! 	    CVSROOT=${LOCAL_ROOT_PREFIX}${TESTDIR}/root-none; export CVSROOT
! 	    if test x"${LOCAL_ROOT_PREFIX}" = x; then
! 	      dotest_fail reposmv-4 "${testcvs} update" \
  "${PROG} update: in directory \.:
  ${PROG} update: ignoring CVS/Root because it specifies a non-existent repository ${TESTDIR}/root1
  ${PROG} \[update aborted\]: ${TESTDIR}/root-none/CVSROOT: No such file or directory"
+ 	    else
+ 	      # This may not be a good idea to consider an attempt of scrambling
+ 	      # away from a broken repository as invalid... but well, in the
+ 	      # CVS 1.10 ages the Netlabs had a dedicated script to fix the
+ 	      # repositories reference.
+ 	      dotest_fail reposmv-4 "${testcvs} update" \
+ "${PROG} \[update aborted\]: ${TESTDIR}/root1/CVSROOT: No such file or directory"
+ 	    fi
  	    CVSROOT=${CVSROOT_SAVED}; export CVSROOT
  	  else
  	    CVSROOT_SAVED=${CVSROOT}
***************
*** 20832,20838 ****
  # End of TODO list.
  
  # Remove the test directory, but first change out of it.
! cd /tmp
  rm -rf ${TESTDIR}
  
  # end of sanity.sh
--- 21535,21541 ----
  # End of TODO list.
  
  # Remove the test directory, but first change out of it.
! cd ${TMPDIR}
  rm -rf ${TESTDIR}
  
  # end of sanity.sh
Index: src/server.c
===================================================================
RCS file: e:/reposit/gnu/cvs/src/server.c,v
retrieving revision 1.1.1.3
retrieving revision 1.1.3.2.4.2
diff -c -r1.1.1.3 -r1.1.3.2.4.2
*** src/server.c	2000/12/19 16:58:42	1.1.1.3
--- src/server.c	2001/01/01 15:52:12	1.1.3.2.4.2
***************
*** 551,557 ****
       * Skip over leading slash if present.  We won't bother to try to
       * make '/'.
       */
!     p = dir + 1;
      while (1)
      {
  	while (*p != '/' && *p != '\0')
--- 551,557 ----
       * Skip over leading slash if present.  We won't bother to try to
       * make '/'.
       */
!     p = strchr(dir, '/') + 1;
      while (1)
      {
  	while (*p != '/' && *p != '\0')
***************
*** 815,827 ****
      free (path);
  
  #ifdef HAVE_PUTENV
!     env = malloc (strlen (CVSROOT_ENV) + strlen (CVSroot_directory) + 1 + 1);
      if (env == NULL)
      {
  	pending_error = ENOMEM;
  	return;
      }
!     (void) sprintf (env, "%s=%s", CVSROOT_ENV, CVSroot_directory);
      (void) putenv (env);
      /* do not free env, as putenv has control of it */
  #endif
--- 815,827 ----
      free (path);
  
  #ifdef HAVE_PUTENV
!     env = malloc (strlen (CVSROOT_ENV) + strlen (CVSroot_directory) + 8 + 1);
      if (env == NULL)
      {
  	pending_error = ENOMEM;
  	return;
      }
!     (void) sprintf (env, "%s=:local:%s", CVSROOT_ENV, CVSroot_directory);
      (void) putenv (env);
      /* do not free env, as putenv has control of it */
  #endif
***************
*** 993,999 ****
--- 993,1002 ----
      }
  
      if (dir_name != NULL)
+     {
  	free (dir_name);
+ 	dir_name = NULL;
+     }
  
      dir_len = strlen (dir);
  
***************
*** 1010,1015 ****
--- 1013,1021 ----
  	return;
      }
  
+     if (isabsolute (dir))
+ 	return;
+ 
      dir_name = malloc (strlen (server_temp_dir) + dir_len + 40);
      if (dir_name == NULL)
      {
***************
*** 1341,1346 ****
--- 1347,1362 ----
      }
  }
  
+ /* Kopt for the next file sent in Modified or Is-modified.  */
+ static char *kopt;
+ 
+ struct an_entry {
+     struct an_entry *next;
+     char *entry;
+ };
+ 
+ static struct an_entry *entries;
+ 
  /* Receive SIZE bytes, write to filename FILE.  */
  static void
  receive_file (size, file, gzipped)
***************
*** 1350,1358 ****
  {
      int fd;
      char *arg = file;
  
      /* Write the file.  */
!     fd = CVS_OPEN (arg, O_WRONLY | O_CREAT | O_TRUNC, 0600);
      if (fd < 0)
      {
  	int save_errno = errno;
--- 1366,1397 ----
  {
      int fd;
      char *arg = file;
+     int len, bin;
+     struct an_entry *ent;
+     char *p = NULL;
+  
+     len = strlen (arg);
+     for (ent = entries; ent != NULL; ent = ent->next)
+     {
+ 	if ((p = strchr (ent->entry, '/')) == NULL)
+ 	   continue;
+ 	if (strncmp (p+1, arg, len) == 0 && p[1+len] == '/')
+ 	   break;
+     }
+     bin = 0;
+     if (ent != NULL)
+     {
+ 	p += 1+len;
+ 	if ((p = strchr(p+1, '/')) != NULL &&
+ 	    (p = strchr(p+1, '/')) != NULL &&
+ 	    strncmp(p, "/-kb/", 4) == 0)
+ 	    bin = OPEN_BINARY;
+     }
+     else if (kopt != NULL && strcmp(kopt, "-kb") == 0)
+ 	bin = OPEN_BINARY;
  
      /* Write the file.  */
!     fd = CVS_OPEN (arg, O_WRONLY | O_CREAT | O_TRUNC | bin, 0600);
      if (fd < 0)
      {
  	int save_errno = errno;
***************
*** 1627,1639 ****
  {
  }
  
- struct an_entry {
-     struct an_entry *next;
-     char *entry;
- };
- 
- static struct an_entry *entries;
- 
  static void serve_unchanged PROTO ((char *));
  
  static void
--- 1666,1671 ----
***************
*** 1869,1875 ****
  
      f = NULL;
      /* Note that we free all the entries regardless of errors.  */
!     if (!error_pending ())
      {
  	/* We open in append mode because we don't want to clobber an
             existing Entries file.  If we are checking out a module
--- 1901,1907 ----
  
      f = NULL;
      /* Note that we free all the entries regardless of errors.  */
!     if (dir_name != NULL && !error_pending ())
      {
  	/* We open in append mode because we don't want to clobber an
             existing Entries file.  If we are checking out a module
***************
*** 1889,1895 ****
      {
  	if (!error_pending ())
  	{
! 	    if (fprintf (f, "%s\n", p->entry) < 0)
  	    {
  		int save_errno = errno;
  		if (alloc_pending (80 + strlen(CVSADM_ENT)))
--- 1921,1927 ----
      {
  	if (!error_pending ())
  	{
! 	    if (f != NULL && fprintf (f, "%s\n", p->entry) < 0)
  	    {
  		int save_errno = errno;
  		if (alloc_pending (80 + strlen(CVSADM_ENT)))
***************
*** 4062,4067 ****
--- 4094,4100 ----
  		   tradeoff.  */
  
  		int fd;
+ 		int bin = 0;
  
  		/* Callers must avoid passing us a buffer if
                     file_gzip_level is set.  We could handle this case,
***************
*** 4070,4077 ****
  		if (filebuf != NULL)
  		    error (1, 0, "\
  CVS server internal error: unhandled case in server_updated");
! 
! 		fd = CVS_OPEN (finfo->file, O_RDONLY | OPEN_BINARY, 0);
  		if (fd < 0)
  		    error (1, errno, "reading %s", finfo->fullname);
  		if (read_and_gzip (fd, finfo->fullname, &file,
--- 4103,4112 ----
  		if (filebuf != NULL)
  		    error (1, 0, "\
  CVS server internal error: unhandled case in server_updated");
! 		if (finfo->rcs->expand != NULL &&
! 			strcmp(finfo->rcs->expand, "b") == 0)
! 		    bin = OPEN_BINARY;
! 		fd = CVS_OPEN (finfo->file, O_RDONLY | bin, 0);
  		if (fd < 0)
  		    error (1, errno, "reading %s", finfo->fullname);
  		if (read_and_gzip (fd, finfo->fullname, &file,
***************
*** 4087,4097 ****
  	    else if (filebuf == NULL)
  	    {
  		long status;
  
! 		f = CVS_FOPEN (finfo->file, "rb");
  		if (f == NULL)
  		    error (1, errno, "reading %s", finfo->fullname);
! 		status = buf_read_file (f, size, &list, &last);
  		if (status == -2)
  		    (*protocol->memory_error) (protocol);
  		else if (status != 0)
--- 4122,4136 ----
  	    else if (filebuf == NULL)
  	    {
  		long status;
+ 		int bin = 0;
  
! 		if (finfo->rcs->expand != NULL &&
! 			strcmp(finfo->rcs->expand, "b") == 0)
! 		    bin = 1;
! 		f = CVS_FOPEN (finfo->file, bin ? "rb" : "r");
  		if (f == NULL)
  		    error (1, errno, "reading %s", finfo->fullname);
! 		status = buf_read_file_to_eof (f, &list, &last);
  		if (status == -2)
  		    (*protocol->memory_error) (protocol);
  		else if (status != 0)
***************
*** 4099,4104 ****
--- 4138,4144 ----
  			   finfo->fullname);
  		if (fclose (f) == EOF)
  		    error (1, errno, "reading %s", finfo->fullname);
+ 		size = buf_chain_length (list);
  	    }
  	}
  
***************
*** 4905,4910 ****
--- 4945,4955 ----
       int argc;
       char **argv;
  {
+ #ifdef RSHD_NOT_TRANSPARENT
+     setmode (STDIN_FILENO, O_BINARY);
+     setmode (STDOUT_FILENO, O_BINARY);
+     setmode (STDERR_FILENO, O_BINARY);
+ #endif
      if (argc == -1)
      {
  	static const char *const msg[] =
Index: src/update.c
===================================================================
RCS file: e:/reposit/gnu/cvs/src/update.c,v
retrieving revision 1.1.1.3
retrieving revision 1.1.3.2.4.2
diff -c -r1.1.1.3 -r1.1.3.2.4.2
*** src/update.c	2000/12/19 16:58:45	1.1.1.3
--- src/update.c	2001/01/01 15:52:16	1.1.3.2.4.2
***************
*** 1759,1765 ****
  	       violation.  */
  	    if (CVS_STAT (vers_ts->srcfile->path, file_info) < 0)
  		error (1, errno, "could not stat %s", vers_ts->srcfile->path);
! 	    if (chmod (finfo->file,
  		       file_info->st_mode & ~(S_IWRITE | S_IWGRP | S_IWOTH))
  		< 0)
  		error (0, errno, "cannot change mode of file %s", finfo->file);
--- 1759,1765 ----
  	       violation.  */
  	    if (CVS_STAT (vers_ts->srcfile->path, file_info) < 0)
  		error (1, errno, "could not stat %s", vers_ts->srcfile->path);
! 	    if (CVS_CHMOD (finfo->file,
  		       file_info->st_mode & ~(S_IWRITE | S_IWGRP | S_IWOTH))
  		< 0)
  		error (0, errno, "cannot change mode of file %s", finfo->file);
Index: vms/pathnames.h
===================================================================
RCS file: e:/reposit/gnu/cvs/vms/pathnames.h,v
retrieving revision 1.1.1.2
retrieving revision 1.1.3.2
diff -c -r1.1.1.2 -r1.1.3.2
*** vms/pathnames.h	1999/07/12 02:05:42	1.1.1.2
--- vms/pathnames.h	2000/02/10 18:18:50	1.1.3.2
***************
*** 31,37 ****
   * SUCH DAMAGE.
   *
   *	from: @(#)pathnames.h	5.2 (Berkeley) 4/9/90
!  *	$Id: pathnames.h,v 1.1.1.2 1999/07/12 02:05:42 root Exp $
   */
  
  #define	_PATH_RLOGIN	"/usr/bin/rlogin"
--- 31,37 ----
   * SUCH DAMAGE.
   *
   *	from: @(#)pathnames.h	5.2 (Berkeley) 4/9/90
!  *	$Id: pathnames.h,v 1.1.3.2 2000/02/10 18:18:50 root Exp $
   */
  
  #define	_PATH_RLOGIN	"/usr/bin/rlogin"
Index: zlib/adler32.c
===================================================================
RCS file: e:/reposit/gnu/cvs/zlib/adler32.c,v
retrieving revision 1.1.1.2
retrieving revision 1.1.3.2
diff -c -r1.1.1.2 -r1.1.3.2
*** zlib/adler32.c	1999/07/12 02:05:51	1.1.1.2
--- zlib/adler32.c	2000/02/10 18:18:59	1.1.3.2
***************
*** 3,9 ****
   * For conditions of distribution and use, see copyright notice in zlib.h 
   */
  
! /* $Id: adler32.c,v 1.1.1.2 1999/07/12 02:05:51 root Exp $ */
  
  #include "zlib.h"
  
--- 3,9 ----
   * For conditions of distribution and use, see copyright notice in zlib.h 
   */
  
! /* $Id: adler32.c,v 1.1.3.2 2000/02/10 18:18:59 root Exp $ */
  
  #include "zlib.h"
  
Index: zlib/compress.c
===================================================================
RCS file: e:/reposit/gnu/cvs/zlib/compress.c,v
retrieving revision 1.1.1.2
retrieving revision 1.1.3.2
diff -c -r1.1.1.2 -r1.1.3.2
*** zlib/compress.c	1999/07/12 02:05:52	1.1.1.2
--- zlib/compress.c	2000/02/10 18:19:00	1.1.3.2
***************
*** 3,9 ****
   * For conditions of distribution and use, see copyright notice in zlib.h 
   */
  
! /* $Id: compress.c,v 1.1.1.2 1999/07/12 02:05:52 root Exp $ */
  
  #include "zlib.h"
  
--- 3,9 ----
   * For conditions of distribution and use, see copyright notice in zlib.h 
   */
  
! /* $Id: compress.c,v 1.1.3.2 2000/02/10 18:19:00 root Exp $ */
  
  #include "zlib.h"
  
Index: zlib/crc32.c
===================================================================
RCS file: e:/reposit/gnu/cvs/zlib/crc32.c,v
retrieving revision 1.1.1.2
retrieving revision 1.1.3.2
diff -c -r1.1.1.2 -r1.1.3.2
*** zlib/crc32.c	1999/07/12 02:05:52	1.1.1.2
--- zlib/crc32.c	2000/02/10 18:19:00	1.1.3.2
***************
*** 3,9 ****
   * For conditions of distribution and use, see copyright notice in zlib.h 
   */
  
! /* $Id: crc32.c,v 1.1.1.2 1999/07/12 02:05:52 root Exp $ */
  
  #include "zlib.h"
  
--- 3,9 ----
   * For conditions of distribution and use, see copyright notice in zlib.h 
   */
  
! /* $Id: crc32.c,v 1.1.3.2 2000/02/10 18:19:00 root Exp $ */
  
  #include "zlib.h"
  
Index: zlib/deflate.c
===================================================================
RCS file: e:/reposit/gnu/cvs/zlib/deflate.c,v
retrieving revision 1.1.1.2
retrieving revision 1.1.3.2
diff -c -r1.1.1.2 -r1.1.3.2
*** zlib/deflate.c	1999/07/12 02:05:53	1.1.1.2
--- zlib/deflate.c	2000/02/10 18:19:01	1.1.3.2
***************
*** 47,53 ****
   *
   */
  
! /* $Id: deflate.c,v 1.1.1.2 1999/07/12 02:05:53 root Exp $ */
  
  #include "deflate.h"
  
--- 47,53 ----
   *
   */
  
! /* $Id: deflate.c,v 1.1.3.2 2000/02/10 18:19:01 root Exp $ */
  
  #include "deflate.h"
  
Index: zlib/deflate.h
===================================================================
RCS file: e:/reposit/gnu/cvs/zlib/deflate.h,v
retrieving revision 1.1.1.2
retrieving revision 1.1.3.2
diff -c -r1.1.1.2 -r1.1.3.2
*** zlib/deflate.h	1999/07/12 02:05:53	1.1.1.2
--- zlib/deflate.h	2000/02/10 18:19:01	1.1.3.2
***************
*** 8,14 ****
     subject to change. Applications should only use zlib.h.
   */
  
! /* $Id: deflate.h,v 1.1.1.2 1999/07/12 02:05:53 root Exp $ */
  
  #ifndef _DEFLATE_H
  #define _DEFLATE_H
--- 8,14 ----
     subject to change. Applications should only use zlib.h.
   */
  
! /* $Id: deflate.h,v 1.1.3.2 2000/02/10 18:19:01 root Exp $ */
  
  #ifndef _DEFLATE_H
  #define _DEFLATE_H
Index: zlib/example.c
===================================================================
RCS file: e:/reposit/gnu/cvs/zlib/example.c,v
retrieving revision 1.1.1.2
retrieving revision 1.1.3.2
diff -c -r1.1.1.2 -r1.1.3.2
*** zlib/example.c	1999/07/12 02:05:54	1.1.1.2
--- zlib/example.c	2000/02/10 18:19:02	1.1.3.2
***************
*** 3,9 ****
   * For conditions of distribution and use, see copyright notice in zlib.h 
   */
  
! /* $Id: example.c,v 1.1.1.2 1999/07/12 02:05:54 root Exp $ */
  
  #include <stdio.h>
  #include "zlib.h"
--- 3,9 ----
   * For conditions of distribution and use, see copyright notice in zlib.h 
   */
  
! /* $Id: example.c,v 1.1.3.2 2000/02/10 18:19:02 root Exp $ */
  
  #include <stdio.h>
  #include "zlib.h"
Index: zlib/gzio.c
===================================================================
RCS file: e:/reposit/gnu/cvs/zlib/gzio.c,v
retrieving revision 1.1.1.2
retrieving revision 1.1.3.2
diff -c -r1.1.1.2 -r1.1.3.2
*** zlib/gzio.c	1999/07/12 02:05:54	1.1.1.2
--- zlib/gzio.c	2000/02/10 18:19:02	1.1.3.2
***************
*** 3,9 ****
   * For conditions of distribution and use, see copyright notice in zlib.h
   */
  
! /* $Id: gzio.c,v 1.1.1.2 1999/07/12 02:05:54 root Exp $ */
  
  #include <stdio.h>
  
--- 3,9 ----
   * For conditions of distribution and use, see copyright notice in zlib.h
   */
  
! /* $Id: gzio.c,v 1.1.3.2 2000/02/10 18:19:02 root Exp $ */
  
  #include <stdio.h>
  
Index: zlib/minigzip.c
===================================================================
RCS file: e:/reposit/gnu/cvs/zlib/minigzip.c,v
retrieving revision 1.1.1.2
retrieving revision 1.1.3.2
diff -c -r1.1.1.2 -r1.1.3.2
*** zlib/minigzip.c	1999/07/12 02:05:58	1.1.1.2
--- zlib/minigzip.c	2000/02/10 18:19:05	1.1.3.2
***************
*** 13,19 ****
   * or in pipe mode.
   */
  
! /* $Id: minigzip.c,v 1.1.1.2 1999/07/12 02:05:58 root Exp $ */
  
  #include <stdio.h>
  #include "zlib.h"
--- 13,19 ----
   * or in pipe mode.
   */
  
! /* $Id: minigzip.c,v 1.1.3.2 2000/02/10 18:19:05 root Exp $ */
  
  #include <stdio.h>
  #include "zlib.h"
Index: zlib/trees.c
===================================================================
RCS file: e:/reposit/gnu/cvs/zlib/trees.c,v
retrieving revision 1.1.1.2
retrieving revision 1.1.3.2
diff -c -r1.1.1.2 -r1.1.3.2
*** zlib/trees.c	1999/07/12 02:05:58	1.1.1.2
--- zlib/trees.c	2000/02/10 18:19:06	1.1.3.2
***************
*** 29,35 ****
   *          Addison-Wesley, 1983. ISBN 0-201-06672-6.
   */
  
! /* $Id: trees.c,v 1.1.1.2 1999/07/12 02:05:58 root Exp $ */
  
  #include "deflate.h"
  
--- 29,35 ----
   *          Addison-Wesley, 1983. ISBN 0-201-06672-6.
   */
  
! /* $Id: trees.c,v 1.1.3.2 2000/02/10 18:19:06 root Exp $ */
  
  #include "deflate.h"
  
Index: zlib/uncompr.c
===================================================================
RCS file: e:/reposit/gnu/cvs/zlib/uncompr.c,v
retrieving revision 1.1.1.2
retrieving revision 1.1.3.2
diff -c -r1.1.1.2 -r1.1.3.2
*** zlib/uncompr.c	1999/07/12 02:05:59	1.1.1.2
--- zlib/uncompr.c	2000/02/10 18:19:06	1.1.3.2
***************
*** 3,9 ****
   * For conditions of distribution and use, see copyright notice in zlib.h 
   */
  
! /* $Id: uncompr.c,v 1.1.1.2 1999/07/12 02:05:59 root Exp $ */
  
  #include "zlib.h"
  
--- 3,9 ----
   * For conditions of distribution and use, see copyright notice in zlib.h 
   */
  
! /* $Id: uncompr.c,v 1.1.3.2 2000/02/10 18:19:06 root Exp $ */
  
  #include "zlib.h"
  
Index: zlib/zconf.h
===================================================================
RCS file: e:/reposit/gnu/cvs/zlib/zconf.h,v
retrieving revision 1.1.1.2
retrieving revision 1.1.3.2
diff -c -r1.1.1.2 -r1.1.3.2
*** zlib/zconf.h	1999/07/12 02:05:59	1.1.1.2
--- zlib/zconf.h	2000/02/10 18:19:07	1.1.3.2
***************
*** 3,9 ****
   * For conditions of distribution and use, see copyright notice in zlib.h 
   */
  
! /* $Id: zconf.h,v 1.1.1.2 1999/07/12 02:05:59 root Exp $ */
  
  #ifndef _ZCONF_H
  #define _ZCONF_H
--- 3,9 ----
   * For conditions of distribution and use, see copyright notice in zlib.h 
   */
  
! /* $Id: zconf.h,v 1.1.3.2 2000/02/10 18:19:07 root Exp $ */
  
  #ifndef _ZCONF_H
  #define _ZCONF_H
Index: zlib/zutil.c
===================================================================
RCS file: e:/reposit/gnu/cvs/zlib/zutil.c,v
retrieving revision 1.1.1.2
retrieving revision 1.1.3.2
diff -c -r1.1.1.2 -r1.1.3.2
*** zlib/zutil.c	1999/07/12 02:06:00	1.1.1.2
--- zlib/zutil.c	2000/02/10 18:19:08	1.1.3.2
***************
*** 3,9 ****
   * For conditions of distribution and use, see copyright notice in zlib.h 
   */
  
! /* $Id: zutil.c,v 1.1.1.2 1999/07/12 02:06:00 root Exp $ */
  
  #include <stdio.h>
  
--- 3,9 ----
   * For conditions of distribution and use, see copyright notice in zlib.h 
   */
  
! /* $Id: zutil.c,v 1.1.3.2 2000/02/10 18:19:08 root Exp $ */
  
  #include <stdio.h>
  
Index: zlib/zutil.h
===================================================================
RCS file: e:/reposit/gnu/cvs/zlib/zutil.h,v
retrieving revision 1.1.1.2
retrieving revision 1.1.3.2
diff -c -r1.1.1.2 -r1.1.3.2
*** zlib/zutil.h	1999/07/12 02:06:00	1.1.1.2
--- zlib/zutil.h	2000/02/10 18:19:08	1.1.3.2
***************
*** 8,14 ****
     subject to change. Applications should only use zlib.h.
   */
  
! /* $Id: zutil.h,v 1.1.1.2 1999/07/12 02:06:00 root Exp $ */
  
  #ifndef _Z_UTIL_H
  #define _Z_UTIL_H
--- 8,14 ----
     subject to change. Applications should only use zlib.h.
   */
  
! /* $Id: zutil.h,v 1.1.3.2 2000/02/10 18:19:08 root Exp $ */
  
  #ifndef _Z_UTIL_H
  #define _Z_UTIL_H
