MS-DOS patches to perl.
Apply this patch to the standard perl source, version 4, patch level 19,
using "patch -p."  Do this in the root directory of the perl source
distribution.

You can cat all these patches together and pipe the output to patch -p.

Len Reed
Holos Software, Inc.
..!gatech!holos0!lbr
holos0!lbr@gatech.edu
--------------------------------------
*** msdos/config.h.old	Fri Jun 14 20:09:08 1991
--- msdos/config.h	Sun Jan  5 20:35:24 1992
***************
*** 4,9 ****
--- 4,10 ----
   *
   * This file is hand tailored for MS-DOS and MSC 5.1 and 6.00A.
   * Tom Dinger, March 1991.
+  * Len Reed, August 1991.
   */
  
  
***************
*** 17,26 ****
   *	Microsoft C compiler version 6.0A.  It is used as a conditional to
   *	guard code sections that are known to break this compiler.
   */
- #define BUGGY_MSC5			/**/
- /*#undef BUGGY_MSC6			/**/
  
  
  /* EUNICE
   *	This symbol, if defined, indicates that the program is being compiled
   *	under the EUNICE package under VMS.  The program will need to handle
--- 18,32 ----
   *	Microsoft C compiler version 6.0A.  It is used as a conditional to
   *	guard code sections that are known to break this compiler.
   */
  
+ #if !defined(_MSC_VER) || _MSC_VER < 600
+ # define BUGGY_MSC5			/**/
+ #endif
  
+ #if _MSC_VER == 600
+ # define BUGGY_MSC6			/**/
+ #endif
+ 
  /* EUNICE
   *	This symbol, if defined, indicates that the program is being compiled
   *	under the EUNICE package under VMS.  The program will need to handle
***************
*** 65,73 ****
   *	output.  This symbol will have the value "-" if CPPSTDIN needs a minus
   *	to specify standard input, otherwise the value is "".
   */
! /* TODO: doesn't work for MSC -- it's more complicated than this */
! #define CPPSTDIN "cl "
! #define CPPMINUS ""
  
  /* HAS_BCMP
   *	This symbol, if defined, indicates that the bcmp routine is available
--- 71,79 ----
   *	output.  This symbol will have the value "-" if CPPSTDIN needs a minus
   *	to specify standard input, otherwise the value is "".
   */
! /* MS-DOS version works differently.  See perl.c */
! /* #undef CPPSTDIN */
! /* #undef CPPMINUS */
  
  /* HAS_BCMP
   *	This symbol, if defined, indicates that the bcmp routine is available
***************
*** 308,322 ****
  
  /* HAS_NDBM
   *	This symbol, if defined, indicates that ndbm.h exists and should
!  *	be included.
   */
- /*#undef	HAS_NDBM		/**/
  
  /* HAS_ODBM
   *	This symbol, if defined, indicates that dbm.h exists and should
!  *	be included.
   */
! /*#undef	HAS_ODBM		/**/
  
  /* HAS_OPEN3
   *	This manifest constant lets the C program know that the three
--- 314,329 ----
  
  /* HAS_NDBM
   *	This symbol, if defined, indicates that ndbm.h exists and should
!  *	be included.  MS-DOS makefile may define externally: -DHAS_NDBM
   */
  
+ /*#undef HAS_NDBM unless defined by -D */
+ 
  /* HAS_ODBM
   *	This symbol, if defined, indicates that dbm.h exists and should
!  *	be included.  Under MS-DOS, may be defined by the makefile using -D.
   */
!   /*#undef HAS_ODBM		/**/
  
  /* HAS_OPEN3
   *	This manifest constant lets the C program know that the three
***************
*** 558,564 ****
   *	This symbol, if defined, indicates that this C compiler knows about
   *	the volatile declaration.
   */
! /*#undef	HASVOLATILE	/**/
  
  /* HAS_VPRINTF
   *	This symbol, if defined, indicates that the vprintf routine is available
--- 565,571 ----
   *	This symbol, if defined, indicates that this C compiler knows about
   *	the volatile declaration.
   */
! #define	HASVOLATILE	/**/
  
  /* HAS_VPRINTF
   *	This symbol, if defined, indicates that the vprintf routine is available
***************
*** 754,760 ****
   *	This symbol contains the number of bits of random number the rand()
   *	function produces.  Usual values are 15, 16, and 31.
   */
! #define RANDBITS 31		/**/
  
  /* SCRIPTDIR
   *	This symbol holds the name of the directory in which the user wants
--- 761,767 ----
   *	This symbol contains the number of bits of random number the rand()
   *	function produces.  Usual values are 15, 16, and 31.
   */
! #define RANDBITS 15		/**/
  
  /* SCRIPTDIR
   *	This symbol holds the name of the directory in which the user wants
***************
*** 820,828 ****
   *	its value is "char *".
   */
  #ifndef VOIDWANT
! #define VOIDWANT 1
  #endif
! #define VOIDHAVE 1
  #if (VOIDHAVE & VOIDWANT) != VOIDWANT
  #define void int		/* is void to be avoided? */
  #define VOID
--- 827,835 ----
   *	its value is "char *".
   */
  #ifndef VOIDWANT
! #define VOIDWANT 7
  #endif
! #define VOIDHAVE 7
  #if (VOIDHAVE & VOIDWANT) != VOIDWANT
  #define void int		/* is void to be avoided? */
  #define VOID
***************
*** 838,845 ****
   *	The library is private in the sense that it needn't be in anyone's
   *	execution path, but it should be accessible by the world.  The program
   *	should be prepared to do ~ expansion.
   */
! #define PRIVLIB "/usr/local/lib/perl"		/**/
  
  /*
   * BINARY:
--- 845,855 ----
   *	The library is private in the sense that it needn't be in anyone's
   *	execution path, but it should be accessible by the world.  The program
   *	should be prepared to do ~ expansion.
+  *
+  *	In MSDOS only, this value is overridden by the first directory
+  *	in the $PERLLIB environment variable, if that is set.
   */
! #define PRIVLIB "/usr/local/lib/perl"
  
  /*
   * BINARY:
