Commit Graph

600 Commits

Author SHA1 Message Date
mycroft 25138f4af3 const poisoning. 1998-07-26 12:39:40 +00:00
mycroft dae9fd960e const poisoning. 1998-07-26 12:35:24 +00:00
mycroft be9c427d60 const poisoning. 1998-07-26 12:29:33 +00:00
mycroft 0c38099309 const poisoning. 1998-07-26 11:45:21 +00:00
mycroft 9c286352d4 const poisoning. 1998-07-26 11:37:23 +00:00
tv 77a275d732 Change ld.so default behavior to RTLD_LOCAL, and make RTLD_LOCAL into a
new flag bit.  Keep RTLD_GLOBAL as an actual flag bit so it won't be
re-used, or may be used for something later.  Mask the dlopen() mode bits
in ld.elf_so so a comparison against RTLD_NOW works.  (RTLD_{LOCAL,GLOBAL}
needs to be implemented for ld.elf_so.)
1998-07-14 22:18:36 +00:00
kleink 2fc150acf9 For the sake of XPG3 and later, provide TMP_MAX; consistent with the defintion
in <stdio.h>.  Also, rearrange name space protection a bit.
1998-07-08 19:51:25 +00:00
kleink 901ea16862 Addendum to previous change: since pread()'s and pwrite()'s first official
appearance was in X/Open CAE Spec Issue 5 Version 2, add a section for that
and move the prototypes there.
1998-07-02 21:20:54 +00:00
thorpej c0f28f93e4 Prototype pread(2) and pwrite(2) if !defined(_POSIX_C_SOURCE). 1998-06-30 19:46:41 +00:00
msaitoh c2219d6aa5 pid/gid is not int but pid_t/gid_t (u_int32_t (unsigned!)). 1998-06-22 13:29:43 +00:00
tv 004209941c Typo: POSXI -> POSIX.
Re-add GLOB_QUOTE and GLOB_ABEND bracketed by standards ifs for source
compatibility.
1998-06-22 12:01:43 +00:00
kleink 9a2e6944c4 * Remove GLOB_QUOTE, add GLOB_NOESCAPE. Per POSIX, backslash quoting of
special characters is the default behaviour, which may be disabled by
  setting GLOB_NOESCAPE.
* Add GLOB_NOMATCH, which will be returned if no matching pathnames have been
  found and GLOB_NOCHECK was not set.
* Add GLOB_NOSYS for completeness; it will never happen.
1998-06-19 22:41:44 +00:00
lukem 986a30c817 move pw_scan from util.h to pwd.h, add _PASSWORD_{OLDFMT,NOWARN} flags 1998-06-08 03:05:14 +00:00
kleink 4a8b801d9d Add a prototype for fdatasync(2). 1998-06-05 20:45:39 +00:00
kleink 9b9e255051 * Further name space protection reorganization: distinguish between various
issues of the XPG.
* Move setkey() prototype from <unistd.h> to this file. (XPG4)
* Move mkstemp(), mktemp(), ttyslot() and valloc() prototypes from <unistd.h>
  to this file. (XPG4.2)
1998-06-01 20:10:15 +00:00
kleink f39087367a * Reorganize name space protection.
* Remove mknod() prototype; it's located in <sys/stat.h> (XPG4.2).
* Remove re_comp() and re_exec() prototypes; their location is <re_comp.h>
  (XPG4.2).
* Move setkey() prototype to <stdlib.h> (XPG4).
* Move mkstemp(), mktemp(), ttyslot() and valloc() prototypes to <stdlib.h>
  (XPG4.2).
Assign copyright to TNF.
1998-06-01 20:06:45 +00:00
kleink c97ee76bc4 Reorganize name space protection, mostly related to interfaces introduced in
XPG 4.2.
1998-05-25 21:55:48 +00:00
kleink 9436b9b06b Make the rename() prototype available to XPG Issue <=3 applications only; the
canonical header for the prototype has been <stdio.h> for quite a while.
1998-05-24 19:13:56 +00:00
thorpej dd26162d11 Need <dlfcn.h> for Dl_info. 1998-05-14 01:55:28 +00:00
pk 79bd77e1cc Add `dladdr()' rtld entry point. 1998-05-12 21:21:21 +00:00
pk c68cbc9073 Add dladdr() and `Dl_info' structure; interface cloned from Solaris 2. 1998-05-12 21:17:09 +00:00
drochner 2d422e9c9e add missing backslash 1998-05-11 15:49:15 +00:00
kleink ff08122ed4 Reorganize name space protection. 1998-05-11 12:00:27 +00:00
kleink fbfd5f44f3 Fix comment typo in previous. 1998-05-11 11:06:23 +00:00
kleink ca01c95791 * Remove the inclusion of <sys/param.h>; the most common use for this was
the MAXHOSTNAMELEN constant whose semantics are not intended for network
  database lookup operations, and which pollutes name space.
* Per XSH98, provide symbols from <inttypes.h>.
* Add various bits of name space protection.
1998-05-10 17:32:39 +00:00
kleink c903851a7e Reorganize name space protection. 1998-05-10 16:57:51 +00:00
fair 7482c120bd KNF for comments (sigh) 1998-05-08 18:18:29 +00:00
kleink 23a9b2c5c9 Change the file mode argument to dbopen() and the db backends from int to
mode_t.
1998-05-07 19:24:20 +00:00
kleink 62bbd8ee4b Reorganize name space protecion. Also, change file mode argument to
dbm_open() from int to mode_t.
1998-05-07 19:02:04 +00:00
kleink ac3781ec96 Reorganize name space protection. 1998-05-07 18:50:08 +00:00
kleink 7826b591ac Per XSH98, define the RTLD_LOCAL flag. In this implementation it's a NOP,
since non-local searches have to be explicitly enabled via RTLD_GLOBAL.
1998-05-06 20:28:54 +00:00
kleink 5a50994071 Make strtok_r() available to _XOPEN_SOURCE >= 500, and fix the protection of
memccpy() and strdup().
1998-05-06 20:17:55 +00:00
kleink 485ed6437f Change the type of the `namelen' argument of gethostname(), getdomainname(),
sethostname(), setdomainname() from int to size_t.  The former change was
made due to an X/Open XNS5 requirement, the latter three were made for
consistency.
1998-05-06 19:59:35 +00:00
kleink 6ea15afcfa Reorganize name space protection. 1998-05-06 19:17:37 +00:00
kleink 4881197c08 Reorganize name space protection. 1998-05-06 19:05:51 +00:00
kleink 6cee3660f1 For completeness, add REG_ENOSYS. 1998-05-06 18:12:12 +00:00
kleink fe17338747 Reorganize name space protection. 1998-05-06 18:01:23 +00:00
kleink 82b3194c0e Per POSIX and X/Open, don't include <sys/types.h> but make only time_t
available.
1998-05-06 17:30:12 +00:00
kleink f991579d16 Don't make NULL available to _XOPEN_SOURCE. 1998-05-06 17:12:45 +00:00
tv ced11d04ee Move the #include <strings.h> line inside a !defined(_XOPEN_SOURCE) block
(not just !POSIX and !ANSI)
1998-04-27 17:02:04 +00:00
kleink af3e9a7144 If _XOPEN_SOURCE isn't defined, provide <string.h> definitions for
compatibility.
1998-04-27 16:48:09 +00:00
tv 12c753dbfe C++ has a very different concept of "exception." Delimit struct exception
and matherr() with #ifndef __cplusplus.
1998-04-08 23:42:59 +00:00
fair aceea1460f Update STDPATH and DEFPATH as suggested by PR#4304. Document more carefully
which is supposed to be used for what (they should not be the same; why
separate them in the first place, otherwise?).
1998-04-07 21:09:31 +00:00
kleink d555fccde7 Replace the old GLOB_ABEND constant with (the standardized) GLOB_ABORTED. 1998-03-31 20:32:48 +00:00
kleink 3a1500efe9 Per X/Open CAE Spec Issue 5 Version 2, change the buffer size argument of
readlink() from type `int' to type `size_t'.  This isn't an ABI change, since
the calling convention of our only LP64 platform (the Alpha) already promotes
this argument to a `long'.

This may not be the final action on this matter; readlink() still returns
an `int', which may change in a future revision of the standard.
1998-03-27 13:02:20 +00:00
kleink a681a3706c Protect the dlctl() prototype and the DL_* macros against _XOPEN_SOURCE;
they are neither specified by the XPG nor part of the name space reserved for
implementation-defined use.
1998-03-25 12:21:05 +00:00
mhitch 082edecc20 Add support for mips. 1998-03-25 04:12:32 +00:00
mrg 62817961ee cast the argument of ctype macros to (int). 1998-03-23 06:44:34 +00:00
pk 5cc521c079 Define RTLD_GLOBAL. 1998-03-15 23:13:42 +00:00
thorpej 31e20a3875 Prototype getsid(). 1998-02-18 18:24:26 +00:00
kleink c0dde81ddb If standards-compliance is requested by defining the preprocessor symbols
_POSIX_SOURCE or _XOPEN_SOURCE at compile time, use __RENAME() to call
__posix_chown(), __posix_fchown(), __posix_lchown() and __posix_rename()
instead of their NetBSD counterparts in order to remove the requirement of
linking against libposix.
1998-02-14 20:39:26 +00:00
kleink 5d431855e2 If standards-compliance is requested by defining the preprocessor symbols
_POSIX_SOURCE or _XOPEN_SOURCE at compile time, use __RENAME() to call
__posix_rename() instead of rename() in order to remove the requirement of
linking against libposix.
1998-02-14 20:33:21 +00:00
lukem 8cc8e93ab9 minor typo and grammar fixes 1998-02-13 04:36:13 +00:00
lukem 423e29d2ec revert; we can't break the existing ABI and API 1998-02-11 23:01:22 +00:00
lukem 88a058d32b revert to 1.6; we can't break the existing ABI and API 1998-02-11 22:53:13 +00:00
lukem 27c585ce51 revert to 1.7; we can't break the existing ABI and API 1998-02-11 22:52:38 +00:00
lukem 6dabc120ba revert to 1.5; we can't break the existing ABI and API 1998-02-11 22:46:41 +00:00
lukem c889fe8fd3 revert to 1.9; we can't break the existing ABI and API 1998-02-11 22:41:30 +00:00
lukem 29c82e2ef6 use u_int32_t instead of size_t for oa_length 1998-02-11 08:05:54 +00:00
lukem 279cdc6c6d fix up type insanity for clntudp_create (thanks to thorpej who found this) 1998-02-11 07:57:55 +00:00
lukem cc775ebf69 cleanup type usage 1998-02-10 04:12:24 +00:00
lukem ddc57feb42 major cleanup
* use int32_t instead of long
* use size_t instead of u_int as appropriate
* use in_port_t instead of u_short as appropriate
* KNF, cleanup typos and spellos in comments
* deprecate svc_fds; it's obselete and not supported in libc/rpc anyway
1998-02-10 03:52:14 +00:00
perry 3d7d6c33df cleanup multiple inclusion protection. 1998-02-10 00:44:23 +00:00
perry 3b3774fc83 add/cleanup multiple inclusion protection. 1998-02-10 00:38:16 +00:00
perry d39928a203 add/cleanup multiple inclusion protection. 1998-02-10 00:25:25 +00:00
kleink df0d6631b5 Per XPG4.2, change the `n' argument of initstate() to size_t. (Since it was
recently changed from int to long (lite-2 import), I saw no reason to delay
this `alignment'.)
1998-02-04 21:06:14 +00:00
perry d7d500efb6 restore include of sys/featuretest.h 1998-02-03 04:45:41 +00:00
perry dde65b6a43 fix/restore Id 1998-02-03 04:20:36 +00:00
perry 883ee70d11 remove sys/featuretest.h -- why did kleink add it? 1998-02-02 22:07:54 +00:00
perry b7b7322c68 merge lite-2 1998-02-02 21:07:13 +00:00
perry 4ab34663db merge lite-2 sccs id, but as per jt, don't switch to using lite-2 rune_t's 1998-02-02 17:13:49 +00:00
perry 45c131a89e Switch to using lite-2's tar.h instead of ours. The contents are
identical, but lite-2's has comments explaining them, which makes it
superior to jt's tar.h. no functional difference.
1998-02-02 17:10:19 +00:00
perry a141abe41d merge lite-2 1998-02-02 16:32:57 +00:00
kleink ea1a5dbd26 Per XPG4.2, move the prototypes of bcmp(), bcopy(), bzero(), ffs(), index(),
rindex(), strcasecmp() and strncasecmp() to <strings.h>.  For now, include
<strings.h> to get these prototypes; this should go away eventually.
Also, protect the prototypes of strtok_r() and strsep().
1998-02-02 16:15:07 +00:00
kleink 7d9fe293d7 Rework this header to be XPG4.2-compliant: provide the symbols and prototypes
defined in the spec, and don't include the whole <string.h> header.
1998-02-02 15:59:13 +00:00
thorpej 5caf2349e4 Fix the prototypes for srandom() and initstate() after the libc/stdlib lite-2
merge (ints -> longs).  The only platform on which this might have caused
a problem is the Alpha, and it happens to be safe because the first 6 arguments
are passed in registers on the Alpha (and are thus implicitly promoted to
longs anyhow).
1998-01-31 20:36:47 +00:00
jtc 397b763df8 Added function declarations for flockfile(), ftrylockfile(), funlockfile(),
getc_unlocked(), getchar_unlocked(), putc_unlocked(), & putchar_unlocked().
Added macro definitions for the latter four functions.

Changed so that getc(), putc(), clearerr(), feof() and ferror() macros
are not defined if _REENTRANT is defined so that thread-safe function
versions will be used instead.
1998-01-19 07:35:06 +00:00
kleink 7d2c50b586 Add a FNM_NOSYS return code. This condition will never happen (since fnmatch()
is implemented), but this preprocessor symbol is required by XPG4.2.
1998-01-13 12:45:02 +00:00
kleink f1d296dd60 Per XPG4, move the prototype of swab() from <string.h> to <unistd.h>. 1998-01-12 16:05:40 +00:00
perry 3fe138c146 RCS Id Police. 1998-01-09 08:03:16 +00:00
thorpej 4a7fabf18c Update for __vfork14(). 1998-01-05 06:14:51 +00:00
kleink 916831ec4e Add lockf(), an alternate interface to perform advisory record locking;
per XPG4.2.
1997-12-20 20:23:15 +00:00
lukem a4c9cc609b add flags arg to fparseln(), and define FPARSELN_UNESC{ESC,CONT,COMM,REST,ALL} 1997-12-01 02:25:46 +00:00
kleink 5d7a8f4a16 Modify the recent sigaltstack() interface change to use the __RENAME() scheme;
add __sigaltstack14().
1997-11-29 18:38:20 +00:00
kleink 5abc2c37ce Update sigaltstack() to use stack_t parameters. 1997-11-26 16:51:12 +00:00
kleink 6598e022b2 Per XPG4.2, use useconds_t for as argument and return type of ualarm(). 1997-11-25 17:57:37 +00:00
kleink d92a29c3b7 Per XPG4.2, change usleep() to take an useconds_t as its argument, and return
an int.
1997-11-24 19:09:19 +00:00
kleink bb8dae3601 Move inclusion of <sys/types.h> before that of <sys/signal.h>. 1997-11-18 20:30:24 +00:00
lukem 2542e3903a fix retval of fparseln 1997-11-16 22:34:23 +00:00
christos 987d6a1d4c Add fparseln(3) 1997-11-16 22:18:03 +00:00
thorpej 42066a4aa4 Fix __RENAME quoting lossage (don't pass it a quoted string). From
Chris Demetriou <cgd@pa.dec.com>.
1997-11-04 23:36:19 +00:00
kleink d7a71d0ef9 * Move prototypes of clock_getres(), clock_gettime() and clock_settime() from
<sys/time.h> to this file.
* Update range comment wrt. the tm_sec member of struct tm to [0-61] (double
  leap seconds are supported).
1997-11-02 18:31:38 +00:00
kleink ae0ad1a554 Per XPG4.2, move mknod() prototype from <unistd.h> to <sys/stat.h>. 1997-11-02 17:16:48 +00:00
kleink aac78bc58f Add <libgen.h> header, from XPG4.2. 1997-11-02 16:34:21 +00:00
thorpej baddc757e4 Update for new function renaming nechanism. 1997-10-22 06:59:35 +00:00
fvdl 21e1e24df3 New hacks to make libc work painlessly without bumping the major number:
use type func(arg1s) asm("emitted_name") gcc mechanism.
Suggested by Bill Sommerfeld.
1997-10-22 00:51:45 +00:00
thorpej cfe8d3b81c Make this somewhat less yucky:
- Make this work with versioned stat(2)-family functions.
- Prototype the rmt(3) functions here, and make them match the prototypes
  of the functions they're remapping.
- Allow rmtlib.c to include this in a way that doesn't remap any functions.
1997-10-21 19:50:55 +00:00
fvdl d6b51107ce Hacks to enable libc to work without bumping the major. 1997-10-21 00:55:10 +00:00
thorpej 14cd99880c Fix the shared library versioning snafu caused by the recent changes
to the stat(2) family and msync(2).  This uses a primitive function
versioning scheme.

This reverts the libc shared library major version from 13 to 12, and
adds a few new interfaces to bring us to libc version 12.20.

From Frank van der Linden <fvdl@NetBSD.ORG>.
1997-10-20 22:05:06 +00:00
scottr f0b7604760 Add flags for DTR/CTS flow control with CDTRCTS, a driver-specific
flow control flag.  Contributed by Bill Studenmund.
1997-10-20 08:04:23 +00:00
christos 3664382e53 move setmode and strsignal to unistd.h 1997-10-16 23:26:24 +00:00
christos c23ea50e28 second argument is now int instead of char 1997-10-16 23:25:35 +00:00
christos 410b3b428a devname is (dev_t, mode_t) not (int, int) 1997-10-16 23:24:49 +00:00
lukem 313ab54809 rcsid fascism 1997-10-13 09:26:06 +00:00
cjs 6d6c746101 Add prototypes and defines for pidlock/ttylock/ttyunlock. 1997-10-11 02:24:23 +00:00
fvdl 3ff9b61488 oops. Checked in wrong dirent.h version. Add missing getdents prototype
to this one.
1997-10-10 13:18:37 +00:00
fvdl 0df652060b Correct comment: getdirentries() -> getdents() 1997-10-10 02:21:02 +00:00
mikel 3794b425f3 proto lchown() only if !_POSIX_SOURCE 1997-10-08 05:44:22 +00:00
enami 42aa3a4327 Declare prototype of lchown(2). 1997-10-06 01:43:21 +00:00
kleink 7ebb8314c4 Per 1003.1b-93, move nanosleep() prototype from <sys/time.h> to <time.h>
and add appropriate namespace protection.  Also protect timer_*() prototypes.
1997-10-04 15:00:42 +00:00
lukem 1e372f6cf9 implement opendisk(3), as discussed with Jason Thorpe 1997-09-25 04:53:30 +00:00
lukem 9aacc303fc don't include <rpc/pmap_rmt.h> - it's a "private" header file for
portmap. fixes [bin/4036] by Thorsten Frueauf <frueauf@ira.uka.de>
1997-08-25 22:20:31 +00:00
lukem f77381e893 Include <rpc/pmap_clnt.h>, <rpc/pmap_prot.h> and <rpc/pmap_rmt.h>.
The rpc man pages don't mention that these are required (only
<rpc/rpc.h> is mentioned there), but some of the prototypes come from
these files...
1997-08-24 01:47:12 +00:00
lukem 04a72f75d1 Define _PASSWORD_CHGNOW as -1. This is a `magic' pw_change value,
which login(1) detects and forces a password change during login.
Based on [bin/936] by Simon Gerraty <sjg@quick.com.au>
1997-08-16 13:47:21 +00:00
jtc 87f4ccd45f Fix files using old TNF copyright notice 1997-07-30 22:53:50 +00:00
mikel c23e815bb4 add parens in isleap() for gcc -Wall 1997-07-25 05:54:42 +00:00
phil d5c2f1b21b Update pw_copy prototype for changes for PR3806, 3807. 1997-07-24 08:47:48 +00:00
christos b2b50d955b Backout addition of user_from_uid and group_from_gid; they exist in pwd.h
and grp.h [pointed by cgd]
1997-07-20 19:18:49 +00:00
christos cf8c0114c2 Add user_from_uid and group_from_gid 1997-07-20 19:06:07 +00:00
thorpej 0beec2c555 Correct the prototype of the (*foreach)() member of the yp_all callback. 1997-07-18 06:11:16 +00:00
mikel e95e818cbd some minor KNF 1997-07-14 00:30:28 +00:00
christos 8115e016aa Add typedefs for clockid_t and timer_t 1997-07-13 18:32:18 +00:00
christos 0e18fbde82 Add missing prototypes for _yp_check and yp_maplist 1997-07-13 18:20:48 +00:00
christos e092553a70 Add prototypes for obsolete: xdr_{domainname,peername,mapname} and mark them
as such.
1997-07-13 18:19:08 +00:00
christos 5ffea610c1 Add missing prototype for svcudp_enablecache 1997-07-13 18:17:43 +00:00
christos c970a909de Add missing prototypes for xdr_{accepted,rejected}_reply 1997-07-13 18:16:43 +00:00
christos 5fce2becd3 Add missing prototypes for: get_myaddress, bindresvport, registerrpc,
callrpc, getrpcport
1997-07-13 18:15:46 +00:00
christos 7e34a0b230 Add missing authentication prototypes _svcauth_{null,short,unix} and
xdr_opaque_auth
1997-07-13 18:14:22 +00:00
christos 2b322cb844 Add missing swapon prototype and mark it obsolete. 1997-07-13 18:12:49 +00:00
christos 34eb75ff52 - Added prototypes for non POSIX that are marked STD inspired:
offtime, timelocal, timegm, timeoff, gtime, time2posix, posix2time.
- Added prototypes for the currently stubbed out timer functions:
    timer_{create,delete,getoverrun,gettime,settime}
1997-07-13 18:09:51 +00:00
christos 81037ca0d3 Add missing strtok_r prototype 1997-07-13 18:02:16 +00:00
christos efac03b6a6 Add missing rand_r prototype 1997-07-13 18:01:53 +00:00
christos c60b6531c3 Add missing __{BEGIN,END}_DECLS 1997-07-13 18:01:32 +00:00
christos 1ed010cf0a Added missing __seekdir prototype 1997-07-13 18:01:06 +00:00
kleink 8470989b67 Common sense dictates that the `basegid' paramater of initgroups(3) should
be of type gid_t, and not int.
1997-07-04 09:14:52 +00:00
christos 2c1aa43467 forgot to commit this. 1997-06-30 21:22:59 +00:00
lukem e7fb77dafb Define _PASSWORD_WARNDAYS to 14. When a password or account expiry is due
at a time less than this, login(1) et al will warn the user.
1997-06-27 16:20:59 +00:00
mrg cab9e1c2f8 oops, forgot to commit this. prototype swapctl() in place of swapon(). 1997-06-23 01:13:43 +00:00
kleink dbda158f1f Add support for localized character sets (a.k.a. LC_CTYPE).
Thanks go to Matthias Scheler <tron@lyssa.owl.de> for contributing his initial
work in PR/3592, and to Christos Zoulas for refining it!
1997-06-02 09:52:36 +00:00
kleink 936cbaf003 Add strptime(3) prototype. 1997-05-26 16:03:58 +00:00
pk 0df98a6252 Make macros evaluate to non-compound statements (Jarle Greipsland; PR#3614) 1997-05-14 15:49:55 +00:00
christos b13a0cea18 Add missing prototype for getgrouplist as mentioned in the man page. 1997-05-09 19:38:32 +00:00
thorpej aaa919a369 Move md5.h to <sys/md5.h> so that it may be included by the kernel.
A symlink is used to preserve <md5.h> compatibility.
1997-04-30 00:45:41 +00:00
thorpej abe4a3238d - Liberal application of suggestions in /usr/share/misc/style.
- Protect function prototypes with __BEGIN_DECLS/__END_DECLS
1997-04-30 00:44:49 +00:00
lukem f674abc9ae change _PATH_DEFTAPE from "/dev/rst0" to "/dev/nrst0", as confirmed by mycroft. 1997-04-23 09:41:38 +00:00
lukem f184ab2569 add _PATH_DEFTAPE, defined to "/dev/rst0" 1997-04-15 05:29:56 +00:00
mrg 5be792e647 merge bind 4.9.5-P1. 1997-04-13 09:26:21 +00:00
mycroft d51d618d7a Install files via INCS, and GC the bogus permission fixing hack. 1997-03-27 09:29:29 +00:00
perry 337b724fe9 added some missing SLC command codes (19 - 30) defined in RFC-1184
updated the NSLC #define to be 30
updated SLC_NAMELIST #define to include the new codes

mostly from Robin Carey <robin@mailgate.dtc.rankxerox.co.uk>
1997-03-25 18:46:27 +00:00
christos fb80ce77e8 Apply the necessary fixes from: routed-970113 1997-02-03 22:20:38 +00:00