Commit Graph

4955 Commits

Author SHA1 Message Date
itojun f716418a10 in yphostent, initialize res0 when getaddrinfo fails. 2000-04-03 01:12:26 +00:00
christos 6d34da153c Add "namespace.h" and include <getopt.h> since we moved the stuff out
of <unistd.h>
2000-04-02 22:04:06 +00:00
christos e904ed8773 Try to silence some of the lint warnings. Unfortunately we cannot fix
them all right now until we fix the ALIGN() macro to return u_long in
all the ports.
2000-04-02 21:31:54 +00:00
christos f8c9a1f999 Delint:
- add notreached comment
	- remove unused variables
	- cast to void * first to avoid casting warnings
	- fix bug in _yphostent where cur and sentinel were not
	  being initialized.
2000-04-02 21:30:37 +00:00
christos a86a7b415a protect getopt_long. 2000-04-02 21:27:14 +00:00
christos eb217b928c bump minor for getopt_long 2000-04-02 20:31:20 +00:00
christos bfb2439e73 Remove sections relevant to getopt, and add implementation differences. 2000-04-02 20:30:07 +00:00
christos 6dfafca13a New getopt_long from Thomas Klausner and Dieter Baron 2000-04-02 20:27:58 +00:00
minoura 174ea88d9f Bump minor version (dlfcn change). 2000-04-02 15:38:36 +00:00
minoura 78b105698a Move dl* function definitions to libc on ELF.
Based on the patch supplied by Takuya Shiozaki <tshiozak@astec.co.jp>.
See http://mail-index.netbsd.org/tech-userlevel/2000/02/23/0000.html.
2000-04-02 15:35:47 +00:00
augustss d8dcced006 Some const poisoning. Suggested by Dave Sainty <dave@dtsp.co.nz> 2000-04-02 11:10:53 +00:00
augustss 1e5140923a Allow setting data without clearing it first. From Dave Sainty <dave@dtsp.co.nz> 2000-04-02 11:02:21 +00:00
billc cbfdcd8cc0 backout previous changes. 2000-04-02 06:31:58 +00:00
billc 38a39a9ac0 namespace collision with getopt change (struct option -> libwrap_option) 2000-04-02 03:53:15 +00:00
erh 5aef3fa29b Make mbstowcs and wcstombs work correctly when handed NULL pointers. 2000-04-01 19:42:57 +00:00
jdolecek 342890eff7 kill reference to getvfsbyname(3) - it's no longer present on NetBSD 2000-03-29 14:30:27 +00:00
kleink 7e35a43e67 In mmap(), bail out with EOVERFLOW when mapping a regular file and the file
offset plus mapping length cannot be represented in an off_t.
2000-03-28 18:45:19 +00:00
msaitoh 9c587bcf2f fill delay slots (from Klaus Klein) 2000-03-27 16:27:16 +00:00
mycroft 78a4ddbd60 Do a little rearrangement here. No functional change, but it's a little
clearer what's going on.
The assembler still whines about the lack of `.cprestore' when profiling,
but I'm not going there right now.
2000-03-23 04:58:59 +00:00
augustss 670d533d54 Keep the bit position even when the report descriptor says POP. 2000-03-17 18:09:17 +00:00
christos d24bee08a9 make this compile on non 4.4BSD systems 2000-03-17 06:11:55 +00:00
itojun d5aee78db5 visit all requests even if we get errors from name server.
this will solve name query failures for IPv4-only node, when
the DNS server returns SERVFAIL or NXDOMAIN (should success with an == 0).
PR: 9621
2000-03-16 13:51:43 +00:00
enami c09a75571b Add missing comma. 2000-03-16 04:57:11 +00:00
kleink c2ee7198c1 Need to quote excessively long Nd argument. 2000-03-15 20:53:57 +00:00
kleink 69043b3644 Note EILSEQ. 2000-03-14 19:14:29 +00:00
kleink c9b0caf509 Sync the description of errno with reality; fixes PR lib/9496. 2000-03-14 19:11:24 +00:00
sjg 413ffc39c1 Listing generated files nslexer.c nsparser.c in SRCS breaks make depend
in a clean dir. Put the actual src files nslexer.l nsparser.y there.
2000-03-14 14:34:50 +00:00
soren 89c5a767f8 Fix doubled 'the's. 2000-03-13 22:55:05 +00:00
itojun 8ab75e23f4 hide shouldn't-be-exported symbols from the outside.
don't compile pfkey*, since we expect tons of changes in the near future.

bump shlib major (due to less exported APIs than before - am I correct here?).
2000-03-13 21:23:55 +00:00
jdolecek 6d964bcd1e add EILSEQ entry 2000-03-10 14:06:34 +00:00
kleink fc34e21eac Add an EILSEQ code (C99, first appeared in C90/AMD1), and update message
catalogs where possible.
2000-03-10 13:58:59 +00:00
jdolecek 371967cec8 Fix _rl_compat_sub() to really honour 'globally' flag instead
of making the substitution always globally - affects
	_history_expand_command() and in turn history_expand()

All praise lint :)
2000-03-10 13:06:43 +00:00
jdolecek 833166a288 readline(): don't dereference NULL pointer if prompt is NULL
history_tokenize(): avoid stepping too far if backslash is last character
	on the passed string
update some comments

This makes gdb \ escaping work reliably and fixes lib/9511 by Assar Westerlund.
2000-03-10 12:55:15 +00:00
jdolecek 1f0ecc5ce4 include <stdlib.h> to get definition of malloc() and free(), so it's
possible to compile this file separately when debugging
2000-03-10 12:25:47 +00:00
itohy b85abeecae Make libmenu be linked correctly with K&R style code.
Yes, this changes the ABI, but we haven't officially released
libmenu and this would be OK, probably....
2000-03-10 09:06:21 +00:00
enami 6e362668c4 Note that this system call now creates kernel thread. 2000-03-10 01:34:35 +00:00
kleink 31f60ab101 No longer need internal names for strtoq() and strtouq(). 2000-03-08 20:17:19 +00:00
kleink 3031020afe Replace internal use of strto{,u}q() with strto{,u}ll(). 2000-03-08 19:33:47 +00:00
mjl 323d451587 Added details about origin of code (BSD/OS) in history section.
Closes PR/9410 by Peter Seebach.
2000-03-08 00:02:54 +00:00
veego 70b32a2849 Remove unused libahdi.
It will be replaced in the future with a more generic libdisklabel.
2000-03-07 20:54:57 +00:00
kleink 4c3c49ae8b Make lint happy about long long integers. (C99 mode for lint, anyone?) 2000-03-07 20:02:00 +00:00
kleink d00176f7a3 Bump minor: ISO C99 long long integer general utility interfaces. 2000-03-06 18:42:56 +00:00
kleink e4d7c2e329 Add ISO C99 long long integer general utility interfaces; partially addresses
PR standards/9482.
2000-03-06 18:32:22 +00:00
enami 823f836758 Document some recently added user visible mount option. Addresses PR#6577.
While I'm here, I reorderd SEE ALSO section properly.
2000-03-06 09:11:14 +00:00
itojun 8e1ca1a351 fix fatal typo, which misused luser/ruser (PR 9543). 2000-03-05 09:40:57 +00:00
shin e68fefb855 remove unused files (MIPS SOFTFLOAT). 2000-03-05 05:45:46 +00:00
shin ac9896415f remove MIPS SOFTFLOAT. 2000-03-05 05:41:03 +00:00
blymn 307e770b37 Fix handling of userptr, no longer assumes userptr is a pointer to a
string to be copied, we now just copy the passed pointer.  Also fixed
bug with handling of NULL passed to menu_userptr.
2000-03-05 04:09:53 +00:00
itojun 2dc247fc34 make CMSG_ALIGN always synchronize with kernel's idea of ALIGNBYTES.
ancillary data alignment will be ALIGNBYTES, not sizeof(long) - 1, from now.

CMSG_xx will NOT resolve into constant.  if you use CMSG_xx to allocate
arrays, you'll lose.

bump shlib minor for libc.

NOTE: if you are on top of arch with ALIGNBYTES != sizeof(long) - 1,
you need to recompile IPv6-related binaries.  there is no way to guarantee
backward compat in this aspect.  sorry for this.  this should be the last
backward compat breakage for IPv6-related ancillary data manipulation.
(we still have PR 9516 for unix-domain sockets...)
2000-03-02 07:41:49 +00:00
itojun 94e731e9d2 fix "ip host foo" or "ip6 host foo" where foo has
both A and AAAA.  fix from Bill Fenner, FreeBSD PR: 17083.
2000-03-01 03:47:48 +00:00
itojun fe31f96aea fix alignment constraint in IPv6 routing header manipulation (ancillary data).
documented in RFC2292.
from: shin@kame.net
2000-02-29 18:24:31 +00:00
chopps fe7be4eb7b el_insertstr takes a "const char *" not "char *" now as it doesn't modify
the argument.
2000-02-28 17:41:04 +00:00
enami f8796b1a66 Remove reference to config(8) from SEE ALSO list. 2000-02-28 14:32:53 +00:00
enami 61b07296fe With SEE ALSO list, add swapctl(2) and swapctl(8) and remove config(8). 2000-02-28 14:30:54 +00:00
enami 354b4bc5c1 Sync wi/ reality. 2000-02-28 14:21:46 +00:00
itojun 959ca07b4b add hw.alignbytes sysctl mib. this gives you the value of ALIGNBYTES
at the kernel compilation time (ALIGNBYTES that the kernel uses).
2000-02-27 06:13:35 +00:00
thorpej a9f90558b3 Traverse into alpha/. 2000-02-26 19:39:35 +00:00
thorpej 933205b479 Oops, forgot this file. 2000-02-26 19:00:08 +00:00
thorpej cd8a1657b4 Userland interface to the bus window translation support now present
in the alpha sysarch(2).  In a perfect world, these would go away in
favor of a generic bus space mapping framework, but XFree86 is a long
ways away from being able to use one.
2000-02-26 18:59:36 +00:00
itojun 6a433be509 remove net.inet6.ip6.nd6_proxyall sysctl.
support "ndp -s <ip6> <mac> proxy" for proxy NDP.
2000-02-26 08:48:21 +00:00
mycroft 19b51e87a9 Remove pointless #ifdef. 2000-02-25 17:40:30 +00:00
kleink 7b61131dba Missed in end -> _end cleanup. 2000-02-24 15:37:34 +00:00
itojun 7b48263c7b (rcmd.c) to make Zoularis happier, pass sa_len separately from sockaddrs.
this changes function prototype for __ivalid*.
This commit breaks binary compatibility for __ivalid*.  I believe this can be
forgiven due to the following:
- this is not really exported function.  no function prototype is in headers.
  function name starts with underbars.  No third-party applications are
  expected to use it.
- the function was introduced very recently, when rcmd.c was made IPv6-ready.
- the only customer in NetBSD tree is lpd.

(lpd.c) sync with rcmd.c change.
2000-02-24 06:33:47 +00:00
kleink a379081935 For consistency with all other ports, clear errno in the prologue to the
syscall here as well - while the manual page advises applications to clear
errno themselves their actual behaviour may be questionable, especially in
light of the other ports' implementations.
2000-02-23 20:16:57 +00:00
itojun 73f8a2b760 add freeifaddrs.3 as MLINKS. 2000-02-23 15:44:00 +00:00
itojun 4b9363d8e4 add freeifaddrs(), which reclaims region allocated by getifaddrs().
in sync with kame and bsdi.
2000-02-23 15:29:18 +00:00
itojun 2397ac761e increase shlib minor of libc, for addition of getifaddrs(3). 2000-02-23 07:00:54 +00:00
itojun 6037c7862b add getifaddrs(3) from bsdi4, as mentioned in tech-net (in SIOCGIFCONF
related thread).
this will save future apps from complexity of SIOCGIFCONF.

getifaddrs(3) does not use SIOCGIFCONF internally, it uses sysctl.
2000-02-23 06:57:46 +00:00
augustss 18654c9f8e Handle report IDs a little better (but still not right). 2000-02-22 12:39:22 +00:00
itojun b2da836f1e avoid memory leak on valid FQDN + invalid port name. 2000-02-22 05:47:15 +00:00
mycroft 9ff0891c83 Fix bogons. 2000-02-22 03:28:04 +00:00
mycroft 5256a370bf Do the minimum work to make this compile with -Werror. 2000-02-22 03:14:20 +00:00
mycroft 32d50d3388 Do the minimum work to make this compile with -Werror. 2000-02-22 01:18:28 +00:00
itojun 08f1ee0d30 query NIS hosts.byname only when necessary (= PF_UNSPEC of PF_INET queries). 2000-02-20 17:07:01 +00:00
itojun 503ce101c1 getaddrinfo(3) now obeys nsswitch.conf correctly. 2000-02-20 14:45:34 +00:00
itojun 40e69da142 to honor the search order defined by nsswitch.conf,
getaddrinfo(3) now calls lower-layer resolver functions directly.

XXX code duplicate with gethnamaddr.c/res_search.c - future code
maintenance issue?  Since BIND[89] does not address this issue either at
this moment, switching to BIND[89] does not help.
2000-02-20 14:44:30 +00:00
kleink 4dfa5f1d65 Place inclusion of required headers within multiple-inclusion wrappers. 2000-02-20 13:32:52 +00:00
mycroft d018facbbf A better fix for the stub-in-other-module problem:
Load the address of cerror through the GOT, so we can do a PIC_EPILOGUE and
leave the stack clean.
2000-02-19 21:04:58 +00:00
mycroft 519baa3266 Build a PIC version of this -- but not yet a shlib, due to some obscure lossage
-- so that it can be linked into another shlib as needed.
2000-02-19 18:51:30 +00:00
mycroft 05fc321ebf Fix refresh glitches when using auto-margin. 2000-02-19 09:08:16 +00:00
itojun 1ae287d8f9 fix alignment issue with 64bit arch (packed struct/SIOCGIFCONF).
From: =?iso-8859-1?Q?G=F6ran_Bengtson?= <goeran@cdg.chalmers.se>
2000-02-18 08:26:01 +00:00
itojun 5b36a9108a do not perform sleep() every time we get ECONNREFUSED.
try all the set of addresses before go to sleep() and retry.

not sure if we still need sleep() - retry logic.  why is it so persistent
in connecting?

From: SHIMIZU Ryo <ryo@misakimix.org>
2000-02-18 04:16:54 +00:00
kleink 2a62a2c565 Back out previous: when statically linking executables a warning will be
displayed for the reference through __errno(), which is really wrong.
2000-02-17 21:34:21 +00:00
itojun 823d2a5d81 to synchronize with progress of discussion for post
draft-ietf-ipngwg-scopedaddr-format-00.txt (will be 01),
use "address%interface" notation for extended scoped IPv6 address.

NOTE: the change affects link-local addresses only.  I hope it to be
the final change on it.....
2000-02-17 17:06:17 +00:00
itojun 8829e73e38 preparation to flip extended scoped address syntax.
the specification is still under debate; there is high possibility that
"fe80::1%de0" will be the finalist but i'm not sure yet.
2000-02-16 04:50:23 +00:00
thorpej 25ab915071 Note net.inet.icmp.errratelimit and net.inet.tcp.rstratelimit. 2000-02-15 19:59:02 +00:00
itojun 9d735055cd make it possible to compile it without -DINET6
From: "Castor Fu" <castor@geocast.com>
2000-02-15 18:55:55 +00:00
itojun f126f47f70 in BUGS section, document that it can behave differently from nsswitch.conf(5)
suggests.
NetBSD PR: 9413
2000-02-14 13:06:57 +00:00
kleink 1d34d289cf Arrange for a linker warning to be displayed when the errno datum is accessed
directly; inspired by a conversation with Havard Eidnes.
2000-02-13 21:13:01 +00:00
mjl 6be4d2a451 Mention the LOGIN_SETENV flag for setusercontext() 2000-02-13 01:10:19 +00:00
mjl b562264ae1 Add a missing free() of a temporary buffer.
Add "unlimited" as synonym for "inf" and "infinity" for the
benefit of FreeBSD users.
Factor out the comparison w/ "infinity" in a isinfinite() function.
2000-02-10 20:52:54 +00:00
itojun b3092550ea sa_len was not properly set due to autoconf #ifdef.
(mistake in yesterday's upgrade)
2000-02-10 03:06:53 +00:00
kristerw 33c172d1c1 Const poisoning of dladdr (so that things build after the dlfcn.h change) 2000-02-09 22:41:53 +00:00
itojun 34a6354b59 revise extended scoped address format support. delimiter and the order
is changed, based on discussion in ipngwg scoped address cabal.
past code:	fe80::1@de0
now:		de0%fe80::1
this will be in sync with next extended address format proposal
(which should be final - I don't want to make this kind of change again).
2000-02-09 12:25:06 +00:00
itojun ed74ec1491 add missing manpage, gethostbyname2(3). 2000-02-09 12:23:55 +00:00
scottb 076e309d3e change first argument of dladdr to const. 2000-02-08 16:22:59 +00:00
itojun 667dbda449 use proper include path (net/pfkeyv2.h) 2000-02-08 13:17:51 +00:00
itojun 28dacfc3da don't include in6.h directly. 2000-02-08 13:14:35 +00:00
scottb c0cf420b69 add hooks to support the dladdr function. 2000-02-07 21:40:40 +00:00
itojun cf02e1f1ce fix behavior of inet_pton() to be RFC2553/XNS compliant.
inet_pton() takes decimal dot-quads only.  inet_pton() does not
take hexadecimal, octal nor classful (short) representation.
2000-02-07 18:51:02 +00:00
jdolecek a7986a820b change the German translation of SIGPWR description, as per lib/9277 2000-02-07 13:33:04 +00:00
kleink b94df6841c (Re-)use the assembly version for labs() as well. 2000-02-06 13:14:51 +00:00
fair bf004f04e9 Document KERN_LOGSIGEXIT.
sort sysctl variable list in sysctl.8
2000-02-06 07:31:23 +00:00
kleink b9d73b3129 Implement *__errno() redirection, with help from Matt Thomas. 2000-02-05 21:02:51 +00:00
jdc b646eea64f Add libahdi entry. 2000-02-05 20:57:13 +00:00
jdc 470ef7861d Routines to handle Atari's AHDI disk partitioning scheme. 2000-02-05 20:40:35 +00:00
kleink c54d3e28e2 Go via *__errno() here, too. 2000-02-05 19:53:54 +00:00
kleink c3ed25e892 Implement *__errno() indirection. 2000-02-05 19:20:53 +00:00
danw ff856525f8 #include <stdio.h> to cover the use of "FILE *" in one of the prototypes.
(The stock tcpd.h doesn't have prototypes, and some third-party code assumes
it can include tcpd.h without stdio.h.)
2000-02-05 19:14:57 +00:00
mjl b3204d536b Add login_getpwclass to libutil as convenience function for
programs originally for FreeBSD.
Add parsing of "setenv" parameter which can be used to set
up an initial environment on login.
2000-02-04 02:17:14 +00:00
bouyer 1503a97acc Add definitions for nlm version 4 (for use with NFSv3). 2000-02-02 18:15:12 +00:00
thorpej 06f1910920 assar missed one net_write -> telnet_net_write 2000-02-01 22:29:27 +00:00
itojun ffd73d1d87 sorry, forgot to cvs add new files 2000-02-01 03:08:36 +00:00
assar db7c8e49b3 (printd): update prorotype with const
(net_write): rename to telnet_net_write
2000-02-01 02:25:30 +00:00
assar 008e11ad22 (printd): const-poision 2000-02-01 02:23:20 +00:00
thorpej 62c7591543 Back out the previous 2 revs. The delint'ing of this file caused
something to break horribly on the Alpha.
2000-01-31 22:56:14 +00:00
kleink 0c766839fc G/c label orphaned since rev. 1.6. 2000-01-31 18:28:49 +00:00
christos 33bda6cf87 Add -DRESOLVSORT 2000-01-31 15:42:34 +00:00
christos f9be3e6b20 Explain why we don't want to pass structs and unions to syscalls, and
how to find the proper args for a syscall.
2000-01-31 15:15:07 +00:00
christos 618e1b5628 Add a userland stub to do the union semun -> union semun * redirection. 2000-01-31 15:14:19 +00:00
itojun e5e6464767 upgrade libipsec to the latest.
- parser now uses yacc/lex (there'll be no symbol conflict).
- outbound policy and inbound policy is now separate
- policy specification for tunnel SA is improved
- api changed, bump shlib major

XXX some of programs will become not buildable - will commit shortly
2000-01-31 14:15:30 +00:00
itojun 0affd7a994 visit next addrinfo struct on socket failure.
this should fix the behavior of rcmd() on ipv4-only node, trying to
connect to dual stack node (AAAA and A record on DNS/hostname databaes)
2000-01-31 10:23:03 +00:00
itojun e0df61eefa increase libc's shlib minor for rcmd_* changes. sorry to be late.
Suggested by: Klaus Klein
2000-01-28 17:40:41 +00:00
itojun 59b810d3a5 backout previous commit - freeaddrinfo(NULL) issue. 2000-01-28 08:09:48 +00:00
kleink fb2f23e243 Oops, need to save r2 and r3 as well. 2000-01-27 15:11:17 +00:00
kleink 9d7ea6523c Support *__errno() indirection. 2000-01-27 14:58:48 +00:00
itojun e4dc489b2c allow freeaddrinfo(NULL). nothing is talked in RFC2553 (maybe in X/Open?).
however, since NRL freeaddrinfo permits it, we need to.
2000-01-27 08:25:51 +00:00
itojun 5b1aaa939e add IPv6 support to rcmd() and friends.
rcmd() and iruserok(): unchanged
	ruserok(): became address family independent
	rcmd_af(), iruesrok_sa(): address family independent
2000-01-27 05:33:06 +00:00
itojun 5a38b81b42 implement bindresvport_sa(), which is necessary for IPv6 support in certain
programs (like rshd or rlogind).

bindresvport() and bindresvport_sa() exhibits exactly the same functionality,
with different function prototype (sockaddr_in * and sockaddr *).

The behavior and prototype was discussed and agreed among shin@kame.net
(who is doing freebsd-current kame merge), deraadt@openbsd.org, and
Jean-Luc.Richier@imag.fr (INRIA IPv6/IPv6 RPC support).  so it will be
portable across *bsd.
2000-01-26 13:20:24 +00:00
itojun e5a959ce39 EINVAL may be returned when address family mismatches. (from openbsd) 2000-01-26 10:43:36 +00:00
itojun e5aaa3fce0 fix include file. bindresvport() is declared in rpc/rpc.h, not netinet/in.h. 2000-01-26 07:06:03 +00:00
itojun 541dde0213 fix RFC2553 conformance. AI_CANONNAME does not mean reverse query. 2000-01-26 06:51:29 +00:00
itojun ed15f9831a move -DINET6 upwards, into lib/libc/Makefile.
- we need it for lib/libc/rpc soon
- this is not clear to add CPPFLAGS in subdir/Makefile.inc (as it affect other
  subdirs as well)
2000-01-26 02:46:36 +00:00
elric e0b171cf6d Added a tab before a '}' to put the brace in the right place. 2000-01-25 23:22:49 +00:00
enami 6e75e4cb47 - Don't update the size of allocated storage until realloc successes.
- KNF left over.
2000-01-25 16:24:40 +00:00
enami 086a35e065 Use tab to indent. 2000-01-25 15:43:43 +00:00
kleink 1a3fa11c95 Support *__errno() indirection. 2000-01-24 21:57:39 +00:00
itojun 324dad9e89 fix comment.
better sync with kame tree.
2000-01-24 03:08:12 +00:00
mycroft 5888ab27bd Make cerror() work correctly for stubs in other shlibs -- e.g. libposix. 2000-01-23 23:38:32 +00:00
ad 398257cba8 Change how the purpose of net.inet.tcp.log_refused is expressed so that it's
consistant with its neighbours.
2000-01-23 17:12:11 +00:00
jdolecek 6ff6ac75be Formatting nit: in SIGPWR discription, use slasl instead of 'eller -', to be
consistent with other translations (suggested by Johan)
2000-01-23 10:12:12 +00:00
mycroft 8c2a748a3c Doh. Remove the __weak_alias() as well... 2000-01-23 07:37:47 +00:00
mycroft 44ea18f69f Fix the tags build. 2000-01-23 07:10:13 +00:00
itojun bd6de83f9b remove #if 0'ed portion (AF filtering in normal name resolution)
add comment to the fragment which confused mycroft
2000-01-23 04:03:21 +00:00
mycroft 95a32deb9b Delint. 2000-01-23 02:11:02 +00:00
mycroft 0b92a50dc3 Delint some more. 2000-01-23 01:55:17 +00:00
mycroft 82267feccd Doh. I'm a dork. 2000-01-23 01:37:19 +00:00
mycroft 1c86155f3b Ditto for nlist(). 2000-01-23 01:35:49 +00:00
mycroft 8102096d08 Delint. 2000-01-23 00:49:41 +00:00
mycroft 03ec2c38fe Partially delint, and a few microoptimizations. 2000-01-23 00:38:43 +00:00