summaryrefslogtreecommitdiff
path: root/contrib/amd
diff options
context:
space:
mode:
authorcvs2svn <cvs2svn@FreeBSD.org>1999-01-21 00:55:32 +0000
committercvs2svn <cvs2svn@FreeBSD.org>1999-01-21 00:55:32 +0000
commit76b5366091f76c9bc73570149ef5055648fc2c39 (patch)
tree590d020e0f2a5bea6e09d66d951a674443b21d67 /contrib/amd
parent4b4d01da6f07f7754ff6a6e4f5223e9f0984d1a6 (diff)
Notes
Diffstat (limited to 'contrib/amd')
-rw-r--r--contrib/amd/AUTHORS27
-rw-r--r--contrib/amd/BUGS19
-rw-r--r--contrib/amd/ChangeLog312
-rw-r--r--contrib/amd/FREEBSD-upgrade17
-rw-r--r--contrib/amd/INSTALL69
-rw-r--r--contrib/amd/LSM.am-utils20
-rw-r--r--contrib/amd/MIRRORS9
-rw-r--r--contrib/amd/NEWS48
-rw-r--r--contrib/amd/README6
-rw-r--r--contrib/amd/README.y2k18
-rw-r--r--contrib/amd/TODO2
-rw-r--r--contrib/amd/amd/am_ops.c8
-rw-r--r--contrib/amd/amd/amd.c43
-rw-r--r--contrib/amd/amd/amd.h27
-rw-r--r--contrib/amd/amd/amfs_auto.c17
-rw-r--r--contrib/amd/amd/amfs_direct.c4
-rw-r--r--contrib/amd/amd/amfs_error.c4
-rw-r--r--contrib/amd/amd/amfs_host.c12
-rw-r--r--contrib/amd/amd/amfs_inherit.c6
-rw-r--r--contrib/amd/amd/amfs_link.c4
-rw-r--r--contrib/amd/amd/amfs_linkx.c5
-rw-r--r--contrib/amd/amd/amfs_nfsl.c10
-rw-r--r--contrib/amd/amd/amfs_nfsx.c6
-rw-r--r--contrib/amd/amd/amfs_program.c4
-rw-r--r--contrib/amd/amd/amfs_root.c4
-rw-r--r--contrib/amd/amd/amfs_toplvl.c8
-rw-r--r--contrib/amd/amd/amfs_union.c4
-rw-r--r--contrib/amd/amd/amq_subr.c8
-rw-r--r--contrib/amd/amd/amq_svc.c4
-rw-r--r--contrib/amd/amd/autil.c6
-rw-r--r--contrib/amd/amd/clock.c6
-rw-r--r--contrib/amd/amd/conf.c16
-rw-r--r--contrib/amd/amd/conf_parse.y4
-rw-r--r--contrib/amd/amd/conf_tok.l6
-rw-r--r--contrib/amd/amd/get_args.c16
-rw-r--r--contrib/amd/amd/info_file.c4
-rw-r--r--contrib/amd/amd/info_hesiod.c4
-rw-r--r--contrib/amd/amd/info_ldap.c6
-rw-r--r--contrib/amd/amd/info_ndbm.c4
-rw-r--r--contrib/amd/amd/info_nis.c38
-rw-r--r--contrib/amd/amd/info_nisplus.c4
-rw-r--r--contrib/amd/amd/info_passwd.c4
-rw-r--r--contrib/amd/amd/info_union.c4
-rw-r--r--contrib/amd/amd/map.c16
-rw-r--r--contrib/amd/amd/mapc.c32
-rw-r--r--contrib/amd/amd/mntfs.c4
-rw-r--r--contrib/amd/amd/nfs_prot_svc.c4
-rw-r--r--contrib/amd/amd/nfs_start.c4
-rw-r--r--contrib/amd/amd/nfs_subr.c13
-rw-r--r--contrib/amd/amd/ops_TEMPLATE.c4
-rw-r--r--contrib/amd/amd/ops_autofs.c32
-rw-r--r--contrib/amd/amd/ops_cachefs.c4
-rw-r--r--contrib/amd/amd/ops_cdfs.c4
-rw-r--r--contrib/amd/amd/ops_efs.c4
-rw-r--r--contrib/amd/amd/ops_lofs.c4
-rw-r--r--contrib/amd/amd/ops_mfs.c6
-rw-r--r--contrib/amd/amd/ops_nfs.c4
-rw-r--r--contrib/amd/amd/ops_nfs3.c6
-rw-r--r--contrib/amd/amd/ops_nullfs.c6
-rw-r--r--contrib/amd/amd/ops_pcfs.c4
-rw-r--r--contrib/amd/amd/ops_tfs.c6
-rw-r--r--contrib/amd/amd/ops_tmpfs.c6
-rw-r--r--contrib/amd/amd/ops_ufs.c4
-rw-r--r--contrib/amd/amd/ops_umapfs.c6
-rw-r--r--contrib/amd/amd/ops_unionfs.c6
-rw-r--r--contrib/amd/amd/ops_xfs.c4
-rw-r--r--contrib/amd/amd/opts.c17
-rw-r--r--contrib/amd/amd/restart.c4
-rw-r--r--contrib/amd/amd/rpc_fwd.c4
-rw-r--r--contrib/amd/amd/sched.c8
-rw-r--r--contrib/amd/amd/srvr_amfs_auto.c4
-rw-r--r--contrib/amd/amd/srvr_nfs.c28
-rw-r--r--contrib/amd/amq/amq.88
-rw-r--r--contrib/amd/amq/amq.c71
-rw-r--r--contrib/amd/amq/amq.h4
-rw-r--r--contrib/amd/amq/amq_clnt.c4
-rw-r--r--contrib/amd/amq/amq_xdr.c4
-rw-r--r--contrib/amd/amq/pawd.c10
-rw-r--r--contrib/amd/conf/checkmount/checkmount_bsd44.c4
-rw-r--r--contrib/amd/conf/mtab/mtab_bsd.c4
-rw-r--r--contrib/amd/conf/nfs_prot/nfs_prot_freebsd2.h4
-rw-r--r--contrib/amd/conf/nfs_prot/nfs_prot_freebsd3.h80
-rw-r--r--contrib/amd/conf/transp/transp_sockets.c6
-rw-r--r--contrib/amd/conf/umount/umount_bsd44.c4
-rw-r--r--contrib/amd/doc/am-utils.texi180
-rw-r--r--contrib/amd/doc/stamp-vti6
-rw-r--r--contrib/amd/doc/texinfo.tex2116
-rw-r--r--contrib/amd/doc/version.texi6
-rw-r--r--contrib/amd/fixmount/fixmount.84
-rw-r--r--contrib/amd/fixmount/fixmount.c11
-rw-r--r--contrib/amd/fsinfo/fsi_analyze.c4
-rw-r--r--contrib/amd/fsinfo/fsi_data.h13
-rw-r--r--contrib/amd/fsinfo/fsi_dict.c4
-rw-r--r--contrib/amd/fsinfo/fsi_gram.y4
-rw-r--r--contrib/amd/fsinfo/fsi_lex.l6
-rw-r--r--contrib/amd/fsinfo/fsi_util.c4
-rw-r--r--contrib/amd/fsinfo/fsinfo.c11
-rw-r--r--contrib/amd/fsinfo/fsinfo.h5
-rw-r--r--contrib/amd/fsinfo/wr_atab.c6
-rw-r--r--contrib/amd/fsinfo/wr_bparam.c4
-rw-r--r--contrib/amd/fsinfo/wr_dumpset.c4
-rw-r--r--contrib/amd/fsinfo/wr_exportfs.c4
-rw-r--r--contrib/amd/fsinfo/wr_fstab.c4
-rw-r--r--contrib/amd/hlfsd/hlfsd.c82
-rw-r--r--contrib/amd/hlfsd/hlfsd.h6
-rw-r--r--contrib/amd/hlfsd/homedir.c6
-rw-r--r--contrib/amd/hlfsd/nfs_prot_svc.c4
-rw-r--r--contrib/amd/hlfsd/stubs.c14
-rw-r--r--contrib/amd/include/am_defs.h45
-rw-r--r--contrib/amd/include/am_utils.h34
-rw-r--r--contrib/amd/include/am_xdr_func.h4
-rw-r--r--contrib/amd/include/amq_defs.h4
-rw-r--r--contrib/amd/libamu/amu.h4
-rw-r--r--contrib/amd/libamu/clnt_sperrno.c147
-rw-r--r--contrib/amd/libamu/hasmntopt.c6
-rw-r--r--contrib/amd/libamu/misc_rpc.c6
-rw-r--r--contrib/amd/libamu/mount_fs.c6
-rw-r--r--contrib/amd/libamu/mtab.c4
-rw-r--r--contrib/amd/libamu/nfs_prot_xdr.c4
-rw-r--r--contrib/amd/libamu/util.c6
-rw-r--r--contrib/amd/libamu/wire.c6
-rw-r--r--contrib/amd/libamu/xdr_func.c4
-rw-r--r--contrib/amd/libamu/xutil.c69
-rw-r--r--contrib/amd/mk-amd-map/mk-amd-map.c198
-rw-r--r--contrib/amd/scripts/Makefile.am2
-rw-r--r--contrib/amd/scripts/Makefile.in10
-rw-r--r--contrib/amd/scripts/amd.conf.516
-rwxr-xr-xcontrib/amd/scripts/ctl-amd.in8
-rwxr-xr-xcontrib/amd/scripts/ctl-hlfsd.in6
-rw-r--r--contrib/amd/scripts/expn.12
-rwxr-xr-xcontrib/amd/scripts/expn.in2
-rwxr-xr-xcontrib/amd/scripts/fixrmtab (renamed from contrib/amd/scripts/fixrmtab.in)0
-rw-r--r--contrib/amd/tasks13
-rw-r--r--contrib/amd/wire-test/wire-test.c20
134 files changed, 1493 insertions, 2939 deletions
diff --git a/contrib/amd/AUTHORS b/contrib/amd/AUTHORS
index 2aba7cd003754..e555a7426ed9f 100644
--- a/contrib/amd/AUTHORS
+++ b/contrib/amd/AUTHORS
@@ -30,8 +30,6 @@ files.
January 27, 1998: support pid files in the amd.conf file. Provide base name
for hesiod zone files. Always use /etc/amd.conf if exists.
-August 8, 1998: add detection support for NFS V.3 for NetBSD 1.3F.
-
* Hannes Reinecke <hare@MathI.UNI-Heidelberg.DE>
Back in 1995, contributed code for linux. A new parser for file system
@@ -91,9 +89,6 @@ options. Minor type wrt "ro" option in libamu/mount_fs.c. Added more
fillers of mnttab options, for acdirmax, acdirmin, acregmax, acregmin, noac,
grpid, nosuid, and actimo.
-August 15, 1998: fix memory leak in processing of /defaults, and avoid
-accessing uninitialized memory in osf1.
-
* Roman Hodek <Roman.Hodek@informatik.uni-erlangen.de>
July 23, 1997: Got lots of patches from the Debian Linux folks, who fixed
@@ -176,9 +171,6 @@ January 12, 1998: minor bug in output of amd -H.
January 13, 1998: use case insensitive comparisons for variables that need
it (such as all hostname related ones, and more).
-July 20, 1998: don't leak memory in the private version of yp_all (when
-vendor yp_all is bad).
-
* Fred Korz <korz@smarts.com>
January 30, 1998: minor typo fixed to tftp example in am-utils.texi.
@@ -194,24 +186,5 @@ allow startup script to redirect it. Set a temporary secure umask(0022)
before writing log file and restore it afterwards.
* Matthew Crosby <mcrosby@ms.com>
-
April 20, 1998: allow arbitrary number of interfaces in wire listing.
-* David O'Brien <obrien@NUXI.com>
-
-September 4, 1998: bug fix to avoid overrunning hostname buffer, and minor
-amd.conf man page typo correction.
-
-* Danny Rathjens <dkr@cs.fiu.edu>
-
-October 29, 1998: swap arguments to kill(2) in amd.c.
-
-* Mike Mitchell <mcm@unx.sas.com>
-
-November 3, 1998: amd/nfs_subr.c (nfsproc_lookup_2_svc): try to avoid a race
-condition between unmounting and re-mounting an entry, by increasing the ttl
-of a looked up entry before unmounting it.
-
-* Douglas K. Rand" <rand@aero.und.edu>
-
-December 3, 1998: case insensitive host name match for nfsl.
diff --git a/contrib/amd/BUGS b/contrib/amd/BUGS
index 88027b2b83b27..125714dbaa419 100644
--- a/contrib/amd/BUGS
+++ b/contrib/amd/BUGS
@@ -71,22 +71,3 @@ that nfsd is running. Normally these are not required.
[4B] "Stefan Vogel" <vogel@physik.unizh.ch> reports that if your amq
executable dump core unexpectedly, then it may be a bug in gcc 2.7.x.
Upgrade to gcc 2.8.x or use IBM's xlC compiler.
-
-[C] Do not link amd with libnsl. It is buggy and causes amd to core dump
-in strlen inside strdup inside svc_register().
-
-
-(5) *-linux-gnu (RedHat Linux 5.1)
-
-There's a UDP file descriptor leak in libnsl in RedHat Linux 5.1. This
-library part of glibc2. Am-utils currently declares redhat 5.1 systems as
-having a "broken yp_all" and using an internal, slower, leak-free version.
-The leak is known to the glibc maintainers and a fix from them is due soon,
-but it is not yet in the glibc-2.0.7-19 RPM.
-
-
-(6) rs6000-ibm-aix4.1.x
-
-A bug in libc results in an amq binary that doesn't work; amq -v dumps core
-in xdr_string. There is no known fix (source code or vendor patch) at this
-time. (Please let amd-dev know if you know of a fix.)
diff --git a/contrib/amd/ChangeLog b/contrib/amd/ChangeLog
index 784693a63864e..3a059280ed470 100644
--- a/contrib/amd/ChangeLog
+++ b/contrib/amd/ChangeLog
@@ -1,315 +1,3 @@
-1999-01-01 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- *******************************************************************
- *** Released am-utils-6.0 ***
- *******************************************************************
-
-1998-12-28 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * conf/nfs_prot/nfs_prot_sunos5_7.h: support ldap in solaris 2.7.
-
-1998-12-27 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * conf/nfs_prot/nfs_prot_bsdi3.h: don't use reserved ports on
- bsdi4 for NFS V3/nfs mounts.
-
-1998-12-26 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * using latest libtool (1.2e + patches), now supporting shared
- libraries on many more systems. Also using latest autoconf and
- automake (unreleased GNU CVS'd versions.)
-
- * minor new ports: hppa2.0w-hp-hpux11.00,
- i386-unknown-netbsd1.3.3, mips-sgi-irix6.5.
-
- * fsinfo/fsinfo.h (yywrap): define it for systems (osf4) that
- have /usr/bin/flex but not libfl.
-
-1998-12-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * lots of code cleanup, to make sure libamu.so does not use
- undefined symbols. Some system's shared libraries cannot handle
- that.
-
-1998-12-23 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * include/am_defs.h: only defined seteuid extern if function also
- exists and is not superceded by setresuid (hpux).
-
- * amd/ops_autofs.c (autofs_bgmount, autofs_lookuppn): put explicit
- braces to avoid confusion with nested if-then-else clauses.
-
- * aux/config.{sub,status}, aux/{ltmain.sh,ltconfig,mkinstalldirs:
- updated from latest versions.
-
-1998-12-22 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * minor new port: i386-pc-bsdi4.0
-
- * conf/nfs_prot/nfs_prot_bsdi3.h: add missing hesiod header
- definitions for bsdi4.
-
- * {amd,fsinfo}/Makefile.am: force path to .y/.l files, because
- some make programs (bsdi4) do not support VPATH correctly.
-
-1998-12-16 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * conf/mount/mount_aix.c: minor code cleanup
-
- * aux/configure.in: check for extern definition to xdr_groups.
-
-1998-12-15 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * minor new port: powerpc-ibm-aix4.3.1.0
-
- * aux/macros/*.m4: updates for aix 4.3
-
-1998-12-14 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * minor new port: i386-unknown-openbsd2.4
-
- * aux/configure.in: don't check for xfs on openbsd because
- openbsd-2.4 introduces a new file system named xfs, but different
- than Irix's XFS. Sigh.
-
- * minor new port: i386-unknown-freebsd2.2.8
-
-1998-12-03 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * amd/amfs_nfsl.c (amfs_nfsl_ffserver): use case insensitive host
- name match. Bug fix from Douglas K. Rand" <rand@aero.und.edu>.
-
-1998-11-20 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * scripts/ctl-amd.in: wait4amd2die runs in the stop action, to
- avoid race conditions when shutting down systems running amd.
-
- * Makefile.am: add a dist-hook to change modes of the directories
- in the tar file so they are not world writable.
-
- * conf/nfs_prot/nfs_prot_freebsd3.h: turned on NFSv3 support,
- since it is now finally defined in the header files and
- (hopefully) stable.
-
- * amd/srvr_nfs.c (find_nfs_srvr): allow overriding if nfsv2 option
- is specified in mount options. freebsd patches from David
- O'Brien.
-
- * amq/amq.c (main), fixmount/fixmount.c (main), hlfsd/hlfsd.c
- (main), fsinfo/fsinfo.c (fsi_get_args), hlfsd/hlfsd.c (main),
- amd/get_args.c (get_args): posix: use -1 to check for return from
- getopt() (not EOF), as per posix.
-
- * amd/amq_subr.c (xdr_amq_mount_tree_node): patches from "David
- O'Brien" <obrien@NUXI.com>, from the FreeBSD source tree. Use
- real variable whose pointer is on the stack for decoding a long
- int.
-
-1998-11-11 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * scripts/ctl-{amd,hlfsd}.in: include comments useful for redhat's
- chkconfig utility.
-
-1998-11-10 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * released snapshot am-utils-6.0b2s3
-
- * conf/transp/transp_sockets.c (create_nfs_service): remove C++
- style comments.
-
-1998-11-04 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * released snapshot am-utils-6.0b2s2
-
- * created CVS package
-
- * amd/nfs_subr.c (nfsproc_lookup_2_svc): try to avoid a race
- condition between unmounting and re-mounting an entry, by
- increasing the ttl of a looked up entry before unmounting it.
- Patch from Mike Mitchell <mcm@unx.sas.com>.
-
- * All files: spell comments and strings.
-
-1998-11-03 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * aux/configure.in: look for yp_all in libnsl only if yp_all not
- already found elsewhere (in libc or other default libraries).
- This is so RedHat 5.1 systems could find yp functions in libnsl,
- but also so AIX 4.2.1 will NOT include libnsl, because the latter
- has broken nis functionality that also exists and works ok in libc.
-
-1998-10-29 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * amd/amd.c (main): bug fix: swapped arguments to kill(2). Fix
- from Danny Rathjens <dkr@cs.fiu.edu>.
-
-1998-10-28 Erez Zadok <ezk@spruce.mcl.cs.columbia.edu>
-
- * released snapshot am-utils-6.0b2s1
-
-1998-10-27 Erez Zadok <ezk@spruce.mcl.cs.columbia.edu>
-
- * aux/macros/*.m4: support bsdi4 as bsdi3.
-
- * aux/macros/os_ldflags.m4: enable detection of LDAP on solaris
- 2.7 (libraries located in /usr/lib/fn). This is off until Sun
- includes LDAP header information.
-
-1998-10-20 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- *******************************************************************
- *** Released am-utils-6.0b1 ***
- *******************************************************************
-
-1998-10-18 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * mk-amd-map/mk-amd-map.c (main): use perror not strerror.
- (main): set return type to int if no ndbm maps.
-
- * include/am_defs.h: avoid conflicts with <sys/mount.h> in 2.1
- kernels.
-
-1998-10-18 Erez Zadok <ezk@london.mcl.cs.columbia.edu>
-
- * A.i386-unknown-netbsd1.3.2/amu_nfs_prot.h: trim down and cleanup
- for netbsd 1.3.2.
-
-1998-10-17 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * aux/configure.in: check for yp_all in libnsl, b/c redhat 5.1
- systems put NIS functions there.
-
- * mk-amd-map/mk-amd-map.c: patch from "David O'Brien"
- <obrien@NUXI.com> merged in. Use POSIX -1 return code from
- getopt(), not EOF. Use .db extentions for systems that use it,
- instead of .{pag,dir}.
-
-1998-10-15 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * wire-test/wire-test.c, hlfsd/hlfsd.c, fixmount/fixmount.c,
- amd/amd.c (main): avoid overrunning hostname buffer. Bug fix from
- "David O'Brien" <obrien@NUXI.com>.
-
- * scripts/amd.conf.5: minor typo reported by "David O'Brien"
- <obrien@NUXI.com> in .TH section of man page.
-
- * amd/info_nis.c (am_yp_all): don't leak key-val entries. Patch
- from Thomas Richter <richter@chemie.fu-berlin.de>.
-
-1998-10-12 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * doc/am-utils.texi (Program Filesystem): minor typo fixed as per
- Andreas Stolcke <stolcke@speech.sri.com>.
-
- * minor new ports: sparc64-unknown-linux-gnu, i386-pc-solaris2.7,
- and sparc-sun-solaris2.7.
-
- * conf/mount/mount_freebsd3.c (mount_freebsd3): freebsd 3.0 is now
- a 4.4lite kernel, and somethings were removed, such as
- INITMOUNTNAMES.
-
- * amd/ops_autofs.c (autofs_lookuppn): don't leak memory while
- processing /defaults. Free temporary opts. Patch from
- dsr@mail.lns.cornell.edu (Daniel S. Riley)
-
- * amd/amfs_auto.c (amfs_auto_lookuppn): don't leak memory while
- processing /defaults. Free temporary opts. Patch from
- dsr@mail.lns.cornell.edu (Daniel S. Riley)
-
- * conf/mtab/mtab_osf.c (read_mtab): patch from
- dsr@mail.lns.cornell.edu (Daniel S. Riley) not to access
- uninitialized memory on Digital Unix.
-
-1998-10-09 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * aux/macros/{check_mtype_type,check_mtype_printf_type}.m4: most
- systems now use "char *" as their mount type.
-
-1998-10-08 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * amd/conf.c (gopt_map_type, ropt_map_type): check if map type
- exists.
-
- * amd/mapc.c (mapc_type_exists): function to test if a map of
- certain type exists.
-
-1998-10-08 Erez Zadok <ezk@horatio.mcl.cs.columbia.edu>
-
- * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
- include/am_defs.h: Avoid a conflict in definitions of ntohl/htonl
- in RH-5.1 sparc64 between <netinet/in.h> and
- <linux/byteorder/generic.h> (2.1 kernels).
-
-1998-09-28 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean): RedHat
- 5.1 systems with glibc glibc-2.0.7-19 or below leak a UDP socket
- from yp_all().
-
-1998-09-25 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * conf/mount/mount_linux.c (parse_opts): check for pcfs support
- only if autoconfigured.
-
-1998-09-18 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * Makefile.am (EXTRA_DIST): distribute README.yk2 file.
-
- * README.y2k: explain y2k compliance status of am-utils.
-
-1998-09-16 Erez Zadok <ezk@iguana.mcl.cs.columbia.edu>
-
- * amd/amfs_host.c (fetch_fhandle, amfs_host_fmount,
- amfs_host_umounted): clnt_sperrno() may return a const.
-
-Sat Aug 8 23:28:32 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * aux/configure.in: check for <nfs/nfsmount.h>, as per Christos
- Zoulas. Turned on checking for mount options: async, synchronous,
- deadthresh, leasterm, nqnfs, and readahead.
-
- * amd/info_nis.c: patch from christos@zoulas.com (Christos Zoulas)
- to include prototype definition for nis_isup().
-
-Sun Jul 19 18:50:10 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * hlfsd/stubs.c (getcreds): force sscanf arg to u_long.
-
-Tue Jul 14 20:34:25 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * released snapshot am-utils-6.0a17s1
-
-Wed Jul 8 21:49:15 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * aux/macros/host_macros.m4: all x86 hosts should have $arch be
- i386, not i[456]86.
-
-Tue Jul 7 18:55:09 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
- include/am_defs.h: include <linux/posix_types.h> before
- <linux/fs.h> because on redhat 5.1, there is a bug (misuse) of
- headers in <socketbits.h> (it defines _LINUX_TYPES_H instead of
- __KERNEL_STRICT_NAMES).
-
- * aux/configure.in: check for <linux/posix_types.h> because it is
- need for RedHat 5.1.
-
-Wed Jun 17 00:05:33 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * scripts/Makefile.am (EXTRA_DIST): have fixrmtab generated from
- .in as well, so it doesn't get removed by make clean.
-
-Tue Jun 16 22:00:15 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * aux/macros/{check_fs_mntent.m4, check_mnttab_type.m4,
- check_mount_type.m4}: redhat 5.1 puts some modules in
- /lib/modules/preferred/.
-
-Wed May 13 16:33:57 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
-
- * amd/ops_autofs.c (mount_autofs): cast pid to long.
-
Thu Apr 23 00:22:17 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
*******************************************************************
diff --git a/contrib/amd/FREEBSD-upgrade b/contrib/amd/FREEBSD-upgrade
index 745e42b942a0c..78d20999e6133 100644
--- a/contrib/amd/FREEBSD-upgrade
+++ b/contrib/amd/FREEBSD-upgrade
@@ -1,6 +1,6 @@
# ex:ts=8
-AMD (am-utils) 6.0b1
+AMD (am-utils) 6.0a16
originals can be found at: ftp://shekel.mcl.cs.columbia.edu/pub/am-utils
@@ -14,7 +14,7 @@ For the import of AMD the following files were removed:
amq/
Makefile.am Makefile.in
- conf/checkmount/
+ checkmount/
checkmount_aix.c checkmount_osf.c checkmount_ultrix.c
checkmount_default.c checkmount_svr4.c
@@ -31,8 +31,8 @@ For the import of AMD the following files were removed:
conf/mount/
mount_aix.c mount_irix6.c mount_stellix.c
mount_bsdi3.c mount_isc3.c mount_svr4.c
- mount_hpux.c mount_linux.c mount_freebsd3.c
- mount_irix5.c mount_mach3.c (was for pre-3.0-R)
+ mount_hpux.c mount_linux.c
+ mount_irix5.c mount_mach3.c
conf/mtab/
mtab_aix.c mtab_isc3.c mtab_osf.c mtab_ultrix.c
@@ -61,8 +61,7 @@ For the import of AMD the following files were removed:
trap_aix3.h trap_hpux.h trap_linux.h trap_stellix.h
trap_aux.h trap_hpux11.h trap_mach3.h trap_svr4.h
trap_dgux.h trap_irix.h trap_news4.h trap_ultrix.h
- trap_hcx.h trap_isc3.h trap_rtu6.h trap_freebsd3.h
- (was for pre-3.0-R)
+ trap_hcx.h trap_isc3.h trap_rtu6.h
conf/umount/
umount_default.c umount_osf.c
@@ -95,8 +94,8 @@ For the import of AMD the following files were removed:
Imported by:
- cvs import -ko -m 'Virgin import of AMD (am-utils) v6.0b1' \
- src/contrib/amd COLUMBIA amd_6_0b1
+ cvs import -m 'Virgin import of AMD (am-utils) v6.0a16' \
+ src/contrib/amd COLUMBIA amd_6_0a16
To make local changes to amd, simply patch and commit to the main
@@ -106,4 +105,4 @@ All local changes should be submitted to "amd-dev@majordomo.cs.columbia.edu"
for inclusion in the next vendor release.
obrien@NUXI.com
-14-November-1998
+23-August-1998
diff --git a/contrib/amd/INSTALL b/contrib/amd/INSTALL
index f471305045f58..7df423b1be8b1 100644
--- a/contrib/amd/INSTALL
+++ b/contrib/amd/INSTALL
@@ -3,73 +3,53 @@
For each system, list if it autoconfigures, compiles, or runs. Fill in
email id of person who confirms the fact. A missing entry means unverified.
-A 'no' or '!' means verified broken or nonexistent (static library).
+A 'no' means verified broken.
SYSTEM AUTOCONF COMPILE RUN SHLIB
========================= ======== ========= ======= =====
-alpha-dec-osf2.1 ezk ezk ezk !ezk
-alpha-dec-osf4.0 ezk ezk dsr[3] ezk
+alpha-dec-osf2.1 ezk ezk ezk
+alpha-dec-osf4.0 ezk ezk dsr[3]
alphaev5-unknown-linux-gnu ezk ezk finkel ezk
hppa1.0-hp-hpux11.00 ezk ezk ezk
-hppa1.1-hp-hpux10.10 ezk ezk ezk ezk
-hppa1.1-hp-hpux10.20 ezk ezk ezk ezk
-hppa1.1-hp-hpux9.01 ezk[4] ezk[4] nrh/ezk ezk
-hppa1.1-hp-hpux9.05 ezk[4] ezk[4] nrh/ezk ezk
-hppa1.1-hp-hpux9.07 ezk[4] ezk[4] nrh/ezk ezk
-hppa2.0w-hp-hpux11.00 ezk ezk ezk ezk
-i386-pc-bsdi2.1 ezk ezk ezk !ezk
-i386-pc-bsdi3.0 ezk ezk ezk !ezk
-i386-pc-bsdi3.1 ezk ezk ezk !ezk
-i386-pc-bsdi4.0 ezk ezk ezk ezk
+hppa1.1-hp-hpux10.10 ezk ezk ezk -ezk (!rpcsvc.so)
+hppa1.1-hp-hpux10.20 ezk ezk ezk -ezk (!rpcsvc.so)
+hppa1.1-hp-hpux9.01 ezk[4] ezk[4] nrh/ezk
+hppa1.1-hp-hpux9.05 ezk[4] ezk[4] nrh/ezk
+hppa1.1-hp-hpux9.07 ezk[4] ezk[4] nrh/ezk
+i386-pc-bsdi2.1 ezk ezk ezk
+i386-pc-bsdi3.0 ezk ezk ezk
+i386-pc-bsdi3.1 ezk ezk ezk
i386-pc-solaris2.5.1 ezk ezk ezk ezk
i386-pc-solaris2.6 ezk ezk ezk ezk
-i386-pc-solaris2.7 ezk ezk ezk ezk
i386-unknown-freebsd2.1.0 ezk ezk ezk
i386-unknown-freebsd2.2.1 ezk ezk ezk ezk
-i386-unknown-freebsd2.2.6 ezk ezk ezk ezk
-i386-unknown-freebsd2.2.7 ezk ezk ezk ezk
-i386-unknown-freebsd2.2.8 ezk ezk ezk ezk
i386-unknown-freebsd3.0 ezk ezk ezk ezk
i386-unknown-netbsd1.2.1 ezk ezk ezk ezk
i386-unknown-netbsd1.3 ezk ezk ezk ezk
i386-unknown-netbsd1.3.1 ezk ezk ezk ezk
-i386-unknown-netbsd1.3.2 ezk ezk ezk ezk
-i386-unknown-netbsd1.3.3 ezk ezk ezk ezk
i386-unknown-openbsd2.1 ezk ezk ezk ezk
-i386-unknown-openbsd2.2 ezk ezk ezk ezk
-i386-unknown-openbsd2.3 ezk ezk ezk ezk
-i386-unknown-openbsd2.4 ezk ezk ezk ezk
-i486-ncr-sysv4.3.03 ezk ezk ezk
+i486-ncr-sysv4.3.03 ezk ezk
i486-pc-linux-gnulibc1 ezk ezk ezk ezk
-i486-pc-linux-gnuoldld ezk ezk ezk ezk
-i586-pc-linux-gnu ezk ezk ezk ezk
i586-pc-linux-gnulibc1 ezk ezk ezk ezk
i686-pc-linux-gnu ezk ezk ezk ezk
-i686-pc-linux-gnulibc ezk ezk ezk ezk
-i686-pc-linux-gnulibc1 ezk ezk ezk ezk
m68k-hp-hpux9.00 ezk[4] ezk[4] nrh/ezk
-m68k-next-nextstep3 ezk ezk ezk !ezk
-m68k-sun-sunos4.1.1 ezk ezk !ezk
+m68k-next-nextstep3 ezk ezk ezk
+m68k-sun-sunos4.1.1 ezk ezk
mips-dec-ultrix4.3 ro ro ro
mips-sgi-irix5.2
-mips-sgi-irix5.3 ezk ezk ezk ezk
-mips-sgi-irix6.2 ezk[1] ezk[1] ezk[1] ezk
-mips-sgi-irix6.4 ezk ezk ezk ezk
-mips-sgi-irix6.5 ezk ezk ezk
-powerpc-ibm-aix4.1.5.0 ezk ezk wpaul !ezk
-powerpc-ibm-aix4.2.1.0 ezk ezk ezk !ezk
-powerpc-ibm-aix4.3.1.0 ezk ezk !ezk
-powerpc-unknown-linux-gnu jose jose jose
+mips-sgi-irix5.3 ezk ezk ezk
+mips-sgi-irix6.2 ezk[1] ezk[1] ezk[1]
+mips-sgi-irix6.4 ezk ezk ezk ezk (!gcc)
+powerpc-ibm-aix4.1.5.0 ezk ezk wpaul
+powerpc-ibm-aix4.2.1.0 ezk ezk ezk
rs6000-ibm-aix3.2 ezk ezk ezk
rs6000-ibm-aix3.2.5 ezk ezk ezk
-rs6000-ibm-aix4.1.4.0 ezk ezk !ezk
-rs6000-ibm-aix4.1.5.0 ezk ezk !ezk
-sparc-sun-solaris2.3 ezk ezk ezk ezk
+rs6000-ibm-aix4.1.4.0 ezk ezk
+sparc-sun-solaris2.3 ezk ezk ezk
sparc-sun-solaris2.4 ezk ezk ezk ezk
sparc-sun-solaris2.5 ezk ezk ezk ezk
sparc-sun-solaris2.5.1 ezk ezk ezk ezk
sparc-sun-solaris2.6 ezk ezk[2] ezk ezk
-sparc-sun-solaris2.7 ezk ezk[2] ezk ezk
sparc-sun-sunos4.1.1 ezk ezk ezk ezk
sparc-sun-sunos4.1.3 ezk ezk ezk ezk
sparc-sun-sunos4.1.3C ezk ezk ezk ezk
@@ -77,20 +57,17 @@ sparc-sun-sunos4.1.3_U1 ezk ezk ezk ezk
sparc-sun-sunos4.1.4 ezk ezk ezk ezk
sparc-unknown-linux-gnulibc1 ezk ezk ezk ezk
sparc-unknown-netbsd1.2E ezk ezk ezk
-sparc-unknown-netbsd1.2G ezk ezk ezk
-sparc64-unknown-linux-gnu ezk ezk ezk ezk
EMAIL ID LEGEND:
bking: Bevis R W King <B.King@ee.surrey.ac.uk>
dsr: Dan Riley <dsr@mail.lns.cornell.edu>
ezk: Erez Zadok <ezk@cs.columbia.edu>
-finkel: Raphael Finkel <raphael@cs.uky.edu>
-jose: Jose Nazario <jose@biocserver.BIOC.CWRU.Edu>
nrh: Nick Hall <nrh@dcs.ed.ac.uk>
-ro: Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
stolke: Andreas Stolcke <stolcke@speech.sri.com>
wpaul: Bill Paul <wpaul@ctr.columbia.edu>
+finkel: Raphael Finkel <raphael@cs.uky.edu>
+ro: Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
FOOTNOTES:
diff --git a/contrib/amd/LSM.am-utils b/contrib/amd/LSM.am-utils
deleted file mode 100644
index 76e6271c69250..0000000000000
--- a/contrib/amd/LSM.am-utils
+++ /dev/null
@@ -1,20 +0,0 @@
-Begin3
-Title: am-utils
-Version: 6.0
-Entered-date: 01JAN99
-Description: BSD Automounter Utilities
- Replaces the old amd-upl102. Offers NFS V3 support, many
- new features, and numerous ports. The home page for
- am-utils is in http://www.cs.columbia.edu/~ezk/am-utils/
-Keywords: amd amq hlfsd fsinfo wire-test fixmount mk-amd-map automount
-Author: ezk@cs.columbia.edu (Erez Zadok)
-Maintained-by: ezk@cs.columbia.edu (Erez Zadok)
-Primary-site: shekel.mcl.cs.columbia.edu /pub/am-utils
- 1.6MB am-utils-6.0.tar.gz
- 1.6MB am-utils.tar.gz
- 1.6MB am-utils-snapshot.tar.gz
-Alternate-site: http://www.cs.columbia.edu/~ezk/am-utils/mirrors.html
-Original-site: ftp.cs.columbia.edu /pub/amd
-Platforms: all modern Unix systems
-Copying-policy: BSD
-End
diff --git a/contrib/amd/MIRRORS b/contrib/amd/MIRRORS
index dba537fe6b34c..6ea3dbf121934 100644
--- a/contrib/amd/MIRRORS
+++ b/contrib/amd/MIRRORS
@@ -11,15 +11,12 @@ U.S.A:
New York (Primary Site):
ftp://shekel.mcl.cs.columbia.edu/pub/am-utils
Maintainer: ezk@cs.columbia.edu
- Minnesota:
+ Maryland:
ftp://ftp.cs.umn.edu/pub/AMD
Maintainer: dokas@cs.umn.edu
Virginia (Newport News):
- ftp://www.ferginc.com/pub/unix/am-utils
+* ftp://www.ferginc.com/pub/unix/am-utils
Maintainer: Branson.Matheson@FergInc.com
- Ohio (Kent State University):
- ftp://info.mcs.kent.edu/pub/am-utils
- Maintainer: root@mcs.kent.edu
Europe:
Germany:
@@ -30,7 +27,7 @@ Europe:
Maintainer: archive@ftp.sunet.se
Sweden:
ftp://ftp.matematik.su.se/pub/mirrors/shekel.mcl.cs.columbia.edu/pub/am-utils
- Maintainer: leifj@matematik.su.se
+ Maintainer: lifj@matematik.su.se
UK:
ftp://sunsite.org.uk/packages/am-utils
Maintainer: lmjm@icparc.ic.ac.uk
diff --git a/contrib/amd/NEWS b/contrib/amd/NEWS
index 57fa0c67ad201..f1df1e07a6be2 100644
--- a/contrib/amd/NEWS
+++ b/contrib/amd/NEWS
@@ -1,51 +1,3 @@
-*** Notes specific to am-utils version 6.0:
-
-- updated or minor new ports:
- hppa2.0w-hp-hpux11.00,
- i386-pc-bsdi4.0
- i386-unknown-freebsd2.2.8
- i386-unknown-netbsd1.3.3
- i386-unknown-openbsd2.4
- mips-sgi-irix6.5
- powerpc-ibm-aix4.3.1.0
- i386-unknown-freebsd3.0 now supports nfs v.3
-
-- ctl-amd and ctl-hlfsd now compatible with RedHat's chkconfig utility
-
-- ctl-amd stop will now wait until amd is down
-
-- libamu.so completely self contained --- does not export any symbols which
- must be defined by the process linking with it. This is so shared
- libraries could be supported on systems that have restrictive shared
- libraries.
-
-- use latest autoconf, automake, and libtool (off of cygnus' CVS server) to
- support shared libraries on many more platforms.
-
-- posix code cleanups
-
-- bugs fixed:
- case insensitive host match in type:=nfsl
- correct swapped args to kill(2)
- try to avoid a race condition b/t mounting and unmounting
- yp_all support is found in libnsl in RH-5.1 systems
-
-*** Notes specific to am-utils version 6.0b1:
-
-- updated or minor new ports:
- - *-pc-linux-gnu (glibc2 systems such as RedHat 5.1)
- - sparc-sun-solaris2.7
- - i386-pc-solaris2.7
- - i386-unknown-freebsd3.0 (official release, post 4.4lite port)
- - sparc64-unknown-linux-gnu (RH 5.1 on Sun Sparc Ultra)
-
-- bugs fixed:
- - major memory leak in processing of /defaults
- - core dump if map_type given in amd.conf doesn't exist
- - memory leak in replacement yp_all
- - don't access uninitialized memory in DU 4.0
- - other smaller bugs, see ChangeLog
-
*** Notes specific to am-utils version 6.0a16:
- new ports:
diff --git a/contrib/amd/README b/contrib/amd/README
index b7d140626fd53..7ced70bb6571d 100644
--- a/contrib/amd/README
+++ b/contrib/amd/README
@@ -1,12 +1,12 @@
# -*- text -*-
-This is the official version of am-utils.
+This is an alpha version of amd. "Buyers" beware!!!
See the file NEWS for news on this and previous releases.
-*** General Notes to alpha/beta testers:
+*** General Notes to alpha testers:
-[A] as alpha/beta testers, I expect you to be able to find certain things on
+[A] an an alpha testers, I expect you to be able to find certain things on
your own (especially look at the sources to figure out how things work).
[B] if you intend to modify any files, first find out if the file you want
diff --git a/contrib/amd/README.y2k b/contrib/amd/README.y2k
deleted file mode 100644
index 27ed5539969db..0000000000000
--- a/contrib/amd/README.y2k
+++ /dev/null
@@ -1,18 +0,0 @@
-# -*- text -*-
- AM-UTILS YEAR-2000 COMPLIANCE
-
-Most likely am-utils is y2k compliant.
-
-I do not know for sure because I have not certified am-utils myself, nor do
-I have the time for it. I do not think that amd will be affected by y2k at
-all, because it does not do anything with dates other than print the date on
-the log file, in whatever format is provided by your os/libc --- especially
-the ctime(3) call.
-
-However, on Friday, September 18th 1998, Matthew Crosby <mcrosby@ms.com>
-reported that they evaluated 6.0a16 and found it to be compliant.
-
-Erez Zadok.
-Maintainer, am-utils package and AMD-DEV list.
-Email: amd-dev-owner@majordomo.cs.columbia.edu
-WWW: http://www.cs.columbia.edu/~ezk/am-utils/
diff --git a/contrib/amd/TODO b/contrib/amd/TODO
index 07fb5559678c6..9d3b758cc4b71 100644
--- a/contrib/amd/TODO
+++ b/contrib/amd/TODO
@@ -67,7 +67,7 @@ correct new prototype.
use HAVE_SVC_GETREQSET instead of RPC_4.
-replace all "jsp" in *.[hc] $Id: TODO,v 1.1.1.1 1998/11/05 02:04:19 ezk Exp $ with ezk.
+replace all "jsp" in *.[hc] $Id$ with ezk.
use MNTTAB_FILE_NAME instead of MOUNTED
diff --git a/contrib/amd/amd/am_ops.c b/contrib/amd/amd/am_ops.c
index 2a042dfcbdc54..918c3f1462f89 100644
--- a/contrib/amd/amd/am_ops.c
+++ b/contrib/amd/amd/am_ops.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: am_ops.c,v 1.2 1998/12/27 06:24:45 ezk Exp $
+ * $Id: am_ops.c,v 5.2.2.1 1992/02/09 15:08:17 jsp beta $
*
*/
@@ -315,7 +315,7 @@ reverse_option(const char *opt)
* Caller must eventually free the string being returned.
*/
static char *
-merge_opts(const char *opts1, const char *opts2)
+merge_opts(char *opts1, char *opts2)
{
mntent_t mnt2; /* place holder for opts2 */
char *newstr; /* new string to return (malloc'ed) */
@@ -327,7 +327,7 @@ merge_opts(const char *opts1, const char *opts2)
char *s1 = strdup(opts1); /* copy of opts1 to munge */
/* initialization */
- mnt2.mnt_opts = (char *) opts2;
+ mnt2.mnt_opts = opts2;
newstr = xmalloc(len);
newstr[0] = '\0';
diff --git a/contrib/amd/amd/amd.c b/contrib/amd/amd/amd.c
index 6f6a03dd19d3d..3740529f0c994 100644
--- a/contrib/amd/amd/amd.c
+++ b/contrib/amd/amd/amd.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: amd.c,v 1.3 1998/11/14 03:13:19 obrien Exp $
+ * $Id: amd.c,v 1.1.1.1 1998/08/23 22:07:20 obrien Exp $
*
*/
@@ -55,29 +55,23 @@
struct amu_global_options gopt; /* where global options are stored */
char pid_fsname[16 + MAXHOSTNAMELEN]; /* "kiska.southseas.nz:(pid%d)" */
-#if 0
char *progname; /* "amd" */
-#endif
char *hostdomain = "unknown.domain";
-#if 0
-char hostname[MAXHOSTNAMELEN + 1] = "localhost"; /* Hostname */
-#endif
-char hostd[2 * MAXHOSTNAMELEN + 1]; /* Host+domain */
+char hostname[MAXHOSTNAMELEN + 1] = "localhost"; /* Hostname */
+char hostd[2 * MAXHOSTNAMELEN + 1]; /* Host+domain */
char *endian = ARCH_ENDIAN; /* Big or Little endian */
char *cpu = HOST_CPU; /* CPU type */
char *PrimNetName; /* name of primary network */
char *PrimNetNum; /* number of primary network */
+int foreground = 1; /* This is the top-level server */
int immediate_abort; /* Should close-down unmounts be retried */
-int orig_umask = 022;
+int orig_umask;
int select_intr_valid;
jmp_buf select_intr;
-#if 0
pid_t mypid; /* Current process id */
serv_state amd_state;
-int foreground = 1; /* This is the top-level server */
-#endif
struct amd_stats amd_stats; /* Server statistics */
struct in_addr myipaddr; /* (An) IP address of this host */
time_t do_mapc_reload = 0; /* mapc_reload() call required? */
@@ -174,7 +168,7 @@ daemon_mode(void)
*/
for (;;)
pause();
- /* should never reach here */
+ /* should never reache here */
}
#ifdef HAVE_SIGACTION
sigaction(SIGQUIT, &osa, NULL);
@@ -187,7 +181,7 @@ daemon_mode(void)
*/
if (gopt.flags & CFM_PRINT_PID) {
if (STREQ(gopt.pid_file, "/dev/stdout")) {
- printf("%ld\n", (long) am_mypid);
+ printf("%ld\n", (long) mypid);
fflush(stdout);
/* do not fclose stdout */
} else {
@@ -196,7 +190,7 @@ daemon_mode(void)
f = fopen(gopt.pid_file, "w");
if (f) {
- fprintf(f, "%ld\n", (long) am_mypid);
+ fprintf(f, "%ld\n", (long) mypid);
(void) fclose(f);
} else {
fprintf(stderr, "cannot open %s (errno=%d)\n", gopt.pid_file, errno);
@@ -313,8 +307,6 @@ main(int argc, char *argv[])
char *domdot, *verstr;
int ppid = 0;
int error;
- char *progname = NULL; /* "amd" */
- char hostname[MAXHOSTNAMELEN + 1] = "localhost"; /* Hostname */
#ifdef HAVE_SIGACTION
struct sigaction sa;
#endif /* HAVE_SIGACTION */
@@ -342,14 +334,13 @@ main(int argc, char *argv[])
}
if (!progname)
progname = "amd";
- am_set_progname(progname);
/*
- * Initialize process id. This is kept
+ * Initialise process id. This is kept
* cached since it is used for generating
* and using file handles.
*/
- am_set_mypid();
+ mypid = getpid();
/*
* Get local machine name
@@ -368,18 +359,13 @@ main(int argc, char *argv[])
going_down(1);
}
-#ifdef DEBUG
- /* initialize debugging flags (Register AMQ, Enter daemon mode) */
- debug_flags = D_AMQ | D_DAEMON;
-#endif /* DEBUG */
-
/*
* Initialize global options structure.
*/
init_global_options();
/*
- * Partially initialize hostd[]. This
+ * Partially initialise hostd[]. This
* is completed in get_args().
*/
if ((domdot = strchr(hostname, '.'))) {
@@ -392,7 +378,6 @@ main(int argc, char *argv[])
hostdomain = domdot;
}
strcpy(hostd, hostname);
- am_set_hostname(hostname);
/*
* Trap interrupts for shutdowns.
@@ -534,7 +519,7 @@ main(int argc, char *argv[])
#endif /* DEBUG */
ppid = daemon_mode();
- sprintf(pid_fsname, "%s:(pid%ld)", am_get_hostname(), (long) am_mypid);
+ sprintf(pid_fsname, "%s:(pid%ld)", hostname, (long) mypid);
do_mapc_reload = clocktime() + ONE_HOUR;
@@ -543,7 +528,7 @@ main(int argc, char *argv[])
*/
error = mount_automounter(ppid);
if (error && ppid)
- kill(ppid, SIGALRM);
+ kill(SIGALRM, ppid);
going_down(error);
abort();
diff --git a/contrib/amd/amd/amd.h b/contrib/amd/amd/amd.h
index eb21c7e3984de..610dfe28e5e30 100644
--- a/contrib/amd/amd/amd.h
+++ b/contrib/amd/amd/amd.h
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: amd.h,v 1.1.1.1 1998/11/05 02:04:51 ezk Exp $
+ * $Id: amd.h,v 1.1 1996/01/13 23:23:39 ezk Exp ezk $
*
*/
@@ -178,17 +178,18 @@ struct mnt_map {
/*
* Mounting a file system may take a significant period of time. The
- * problem is that if this is done in the main process thread then the
- * entire automounter could be blocked, possibly hanging lots of processes
- * on the system. Instead we use a continuation scheme to allow mounts to
- * be attempted in a sub-process. When the sub-process exits we pick up the
- * exit status (by convention a UN*X error number) and continue in a
- * notifier. The notifier gets handed a data structure and can then
- * determine whether the mount was successful or not. If not, it updates
- * the data structure and tries again until there are no more ways to try
- * the mount, or some other permanent error occurs. In the mean time no RPC
- * reply is sent, even after the mount is successful. We rely on the RPC
- * retry mechanism to resend the lookup request which can then be handled.
+ * problem is that if this is done in the main process thread then
+ * the entire automounter could be blocked, possibly hanging lots of
+ * processes on the system. Instead we use a continuation scheme to
+ * allow mounts to be attempted in a sub-process. When the sub-process
+ * exits we pick up the exit status (by convention a UN*X error number)
+ * and continue in a notifier. The notifier gets handed a data structure
+ * and can then determine whether the mount was successful or not. If
+ * not, it updates the data structure and tries again until there are no
+ * more ways to try the mount, or some other permanent error occurs.
+ * In the mean time no RPC reply is sent, even after the mount is succesful.
+ * We rely on the RPC retry mechanism to resend the lookup request which
+ * can then be handled.
*/
struct continuation {
char **ivec; /* Current mount info */
diff --git a/contrib/amd/amd/amfs_auto.c b/contrib/amd/amd/amfs_auto.c
index c6421bfb605e8..0530142b6938c 100644
--- a/contrib/amd/amd/amfs_auto.c
+++ b/contrib/amd/amd/amfs_auto.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: amfs_auto.c,v 1.1.1.1 1998/11/05 02:04:46 ezk Exp $
+ * $Id: amfs_auto.c,v 1.1 1997-1998/06/30 19:22:30 ezk Exp ezk $
*
*/
@@ -477,7 +477,7 @@ try_mount(voidp mvp)
break
fi
if no error on this mount then
- this_error = initialize mount point
+ this_error = initialise mount point
fi
if no error on this mount and mount is delayed then
this_error = -1
@@ -496,7 +496,7 @@ try_mount(voidp mvp)
this_error = mount in foreground
fi
fi
- if an error occurred on this mount then
+ if an error occured on this mount then
update stats
save error in mount point
fi
@@ -657,7 +657,7 @@ amfs_auto_bgmount(struct continuation * cp, int mpe)
/*
* Will usually need to play around with the mount nodes
* file attribute structure. This must be done here.
- * Try and get things initialized, even if the fileserver
+ * Try and get things initialised, even if the fileserver
* is not known to be up. In the common case this will
* progress things faster.
*/
@@ -987,7 +987,7 @@ amfs_auto_lookuppn(am_node *mp, char *fname, int *error_return, int op)
}
/*
- * If an error occurred then return it.
+ * If an error occured then return it.
*/
if (error) {
#ifdef DEBUG
@@ -1128,7 +1128,6 @@ amfs_auto_lookuppn(am_node *mp, char *fname, int *error_return, int op)
memset((char *) &ap, 0, sizeof(am_opts));
pt = ops_match(&ap, *sp, "", mp->am_path, "/defaults",
mp->am_parent->am_mnt->mf_info);
- free_opts(&ap); /* don't leak */
if (pt == &amfs_error_ops) {
plog(XLOG_MAP, "failed to match defaults for \"%s\"", *sp);
} else {
@@ -1511,7 +1510,7 @@ amfs_auto_readdir_browsable(am_node *mp, nfscookie cookie, nfsdirlist *dp, nfsen
if (te_next) {
nfsentry *te_saved = te_next->ne_nextentry;
te_next->ne_nextentry = NULL; /* terminate "te" chain */
- te_next = te_saved; /* save rest of "te" for next iteration */
+ te_next = te_saved; /* save rest of "te" for next interation */
dp->dl_eof = FALSE; /* tell readdir there's more */
} else {
dp->dl_eof = TRUE; /* tell readdir that's it */
@@ -1565,7 +1564,7 @@ amfs_auto_readdir_browsable(am_node *mp, nfscookie cookie, nfsdirlist *dp, nfsen
if (te_next) {
nfsentry *te_saved = te_next->ne_nextentry;
te_next->ne_nextentry = NULL; /* terminate "te" chain */
- te_next = te_saved; /* save rest of "te" for next iteration */
+ te_next = te_saved; /* save rest of "te" for next interation */
dp->dl_eof = FALSE; /* tell readdir there's more */
}
ep = te; /* send next chunk of "te" chain */
diff --git a/contrib/amd/amd/amfs_direct.c b/contrib/amd/amd/amfs_direct.c
index 8df22b165a342..1558ae0023926 100644
--- a/contrib/amd/amd/amfs_direct.c
+++ b/contrib/amd/amd/amfs_direct.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: amfs_direct.c,v 1.1.1.1 1998/11/05 02:04:46 ezk Exp $
+ * $Id: amfs_direct.c,v 1.1 1997-1998/06/30 19:22:30 ezk Exp ezk $
*
*/
diff --git a/contrib/amd/amd/amfs_error.c b/contrib/amd/amd/amfs_error.c
index e8fb3c10e23b5..ccb037bf45948 100644
--- a/contrib/amd/amd/amfs_error.c
+++ b/contrib/amd/amd/amfs_error.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: amfs_error.c,v 1.1.1.1 1998/11/05 02:04:46 ezk Exp $
+ * $Id: amfs_error.c,v 5.2.2.1 1992/02/09 15:08:21 jsp beta $
*
*/
diff --git a/contrib/amd/amd/amfs_host.c b/contrib/amd/amd/amfs_host.c
index e1ec4e9c00261..6be259de917d8 100644
--- a/contrib/amd/amd/amfs_host.c
+++ b/contrib/amd/amd/amfs_host.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: amfs_host.c,v 1.1.1.1 1998/11/05 02:04:46 ezk Exp $
+ * $Id: amfs_host.c,v 5.2.2.2 1992/05/31 16:36:08 jsp Exp $
*
*/
@@ -256,7 +256,7 @@ fetch_fhandle(CLIENT * client, char *dir, am_nfs_handle_t *fhp, u_long nfs_versi
(SVC_IN_ARG_TYPE) &fhp->v2,
tv);
if (clnt_stat != RPC_SUCCESS) {
- const char *msg = clnt_sperrno(clnt_stat);
+ char *msg = clnt_sperrno(clnt_stat);
plog(XLOG_ERROR, "mountd rpc failed: %s", msg);
return EIO;
}
@@ -347,7 +347,7 @@ amfs_host_fmount(mntfs *mf)
* The original 10 second per try timeout is WAY too large, especially
* if we're only waiting 10 or 20 seconds max for the response.
* That would mean we'd try only once in 10 seconds, and we could
- * lose the transmit or receive packet, and never try again.
+ * lose the transmitt or receive packet, and never try again.
* A 2-second per try timeout here is much more reasonable.
* 09/28/92 Mike Mitchell, mcm@unx.sas.com
*/
@@ -392,7 +392,7 @@ amfs_host_fmount(mntfs *mf)
(SVC_IN_ARG_TYPE) & exlist,
tv2);
if (clnt_stat != RPC_SUCCESS) {
- const char *msg = clnt_sperrno(clnt_stat);
+ char *msg = clnt_sperrno(clnt_stat);
plog(XLOG_ERROR, "host_fmount rpc failed: %s", msg);
/* clnt_perror(client, "rpc"); */
error = EIO;
@@ -673,7 +673,7 @@ amfs_host_umounted(am_node *mp)
tv);
if (clnt_stat != RPC_SUCCESS && clnt_stat != RPC_SYSTEMERROR) {
/* RPC_SYSTEMERROR seems to be returned for no good reason ... */
- const char *msg = clnt_sperrno(clnt_stat);
+ char *msg = clnt_sperrno(clnt_stat);
plog(XLOG_ERROR, "unmount all from %s rpc failed: %s", host, msg, clnt_stat);
goto out;
}
diff --git a/contrib/amd/amd/amfs_inherit.c b/contrib/amd/amd/amfs_inherit.c
index 442115d65cdb7..e9709bd5343ce 100644
--- a/contrib/amd/amd/amfs_inherit.c
+++ b/contrib/amd/amd/amfs_inherit.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: amfs_inherit.c,v 1.1.1.1 1998/11/05 02:04:47 ezk Exp $
+ * $Id: amfs_inherit.c,v 5.2.2.1 1992/02/09 15:08:26 jsp beta $
*
*/
@@ -119,7 +119,7 @@ amfs_inherit_init(mntfs *mf)
/*
* Take the linked mount point and
- * propagate.
+ * propogate.
*/
static mntfs *
amfs_inherit_inherit(mntfs *mf)
diff --git a/contrib/amd/amd/amfs_link.c b/contrib/amd/amd/amfs_link.c
index 0daa334a63997..251c5ebb47f23 100644
--- a/contrib/amd/amd/amfs_link.c
+++ b/contrib/amd/amd/amfs_link.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: amfs_link.c,v 1.1.1.1 1998/11/05 02:04:47 ezk Exp $
+ * $Id: amfs_link.c,v 5.2.2.1 1992/02/09 15:09:04 jsp beta $
*
*/
diff --git a/contrib/amd/amd/amfs_linkx.c b/contrib/amd/amd/amfs_linkx.c
index 045f7971b6e78..e46206f57fe54 100644
--- a/contrib/amd/amd/amfs_linkx.c
+++ b/contrib/amd/amd/amfs_linkx.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: amfs_linkx.c,v 1.1.1.1 1998/11/05 02:04:47 ezk Exp $
+ * $Id: amfs_linkx.c,v 5.2.2.1 1992/02/09 15:09:04 jsp beta $
*
*/
@@ -101,3 +101,4 @@ amfs_linkx_mount(am_node *mp)
return 0;
}
+
diff --git a/contrib/amd/amd/amfs_nfsl.c b/contrib/amd/amd/amfs_nfsl.c
index 55e5c75337d96..8132afdeb71c3 100644
--- a/contrib/amd/amd/amfs_nfsl.c
+++ b/contrib/amd/amd/amfs_nfsl.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: amfs_nfsl.c,v 1.2 1998/12/27 06:24:45 ezk Exp $
+ * $Id: amfs_nfsl.c,v 5.2.2.3 1992/08/02 10:42:21 jsp Exp $
*
*/
@@ -99,7 +99,7 @@ amfs_nfsl_match(am_opts *fo)
struct stat stb;
if (!cp || !ho) {
- plog(XLOG_USER, "amfs_nfsl: host $fs and $rhost must be specified");
+ plog(XLOG_USER, "amfs_nfsl: nost $fs and $rhost must be specified");
return NULL;
}
@@ -109,7 +109,7 @@ amfs_nfsl_match(am_opts *fo)
* If link value exists (or same host), then perform amfs_link_match(),
* same as for linkx.
*/
- if (!STRCEQ(ho, am_get_hostname())) {
+ if (!STRCEQ(ho, hostname)) {
plog(XLOG_INFO, "amfs_nfsl: \"%s\" is not local host, using type:=nfs", ho);
return nfs_match(fo);
} else if (lstat(cp, &stb) < 0) {
@@ -228,7 +228,7 @@ amfs_nfsl_ffserver(mntfs *mf)
* If link value exists (or same host), then perform
* find_amfs_auto_srvr(), same as for linkx.
*/
- if (!STRCEQ(ho, am_get_hostname()) || lstat(cp, &stb) < 0) {
+ if (!STREQ(ho, hostname) || lstat(cp, &stb) < 0) {
return find_nfs_srvr(mf);
} else {
mf->mf_flags |= MFF_NFSLINK;
diff --git a/contrib/amd/amd/amfs_nfsx.c b/contrib/amd/amd/amfs_nfsx.c
index e67e8f5ced7bb..272e10d59b075 100644
--- a/contrib/amd/amd/amfs_nfsx.c
+++ b/contrib/amd/amd/amfs_nfsx.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: amfs_nfsx.c,v 1.1.1.1 1998/11/05 02:04:47 ezk Exp $
+ * $Id: amfs_linxx.c,v 5.2.2.3 1992/05/31 16:13:07 jsp Exp $
*
*/
@@ -463,7 +463,7 @@ amfs_nfsx_fumount(mntfs *mf)
* If this node has not been messed with
* and there has been no error so far
* then try and unmount.
- * If an error had occurred then zero
+ * If an error had occured then zero
* the error code so that the remount
* only tries to unmount those nodes
* which had been successfully unmounted.
diff --git a/contrib/amd/amd/amfs_program.c b/contrib/amd/amd/amfs_program.c
index 04d7c54fe5d8f..2bd077873cb55 100644
--- a/contrib/amd/amd/amfs_program.c
+++ b/contrib/amd/amd/amfs_program.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: amfs_program.c,v 1.1.1.1 1998/11/05 02:04:47 ezk Exp $
+ * $Id: amfs_program.c,v 5.2.2.1 1992/02/09 15:08:56 jsp beta $
*
*/
diff --git a/contrib/amd/amd/amfs_root.c b/contrib/amd/amd/amfs_root.c
index e2bd371cdaa55..3c1cd17cda9b4 100644
--- a/contrib/amd/amd/amfs_root.c
+++ b/contrib/amd/amd/amfs_root.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: amfs_root.c,v 1.1.1.1 1998/11/05 02:04:47 ezk Exp $
+ * $Id: amfs_root.c,v 1.1 1997-1998/06/30 19:22:30 ezk Exp ezk $
*
*/
diff --git a/contrib/amd/amd/amfs_toplvl.c b/contrib/amd/amd/amfs_toplvl.c
index e10c6a1ee388a..f36c66fc96b05 100644
--- a/contrib/amd/amd/amfs_toplvl.c
+++ b/contrib/amd/amd/amfs_toplvl.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: amfs_toplvl.c,v 1.2 1998/12/27 06:24:45 ezk Exp $
+ * $Id: amfs_toplvl.c,v 1.1 1997-1998/06/30 19:22:30 ezk Exp ezk $
*
*/
@@ -158,8 +158,8 @@ mount_amfs_toplvl(char *dir, char *opts)
* Make a ``hostname'' string for the kernel
*/
sprintf(fs_hostname, "pid%ld@%s:%s",
- (long) (foreground ? am_mypid : getppid()),
- am_get_hostname(),
+ (long) (foreground ? mypid : getppid()),
+ hostname,
dir);
/*
* Most kernels have a name length restriction (64 bytes)...
diff --git a/contrib/amd/amd/amfs_union.c b/contrib/amd/amd/amfs_union.c
index df494acab193d..95fc8fd6d5b5a 100644
--- a/contrib/amd/amd/amfs_union.c
+++ b/contrib/amd/amd/amfs_union.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: amfs_union.c,v 1.1.1.1 1998/11/05 02:04:47 ezk Exp $
+ * $Id: amfs_union.c,v 1.1 1997-1998/06/30 19:22:30 ezk Exp ezk $
*
*/
diff --git a/contrib/amd/amd/amq_subr.c b/contrib/amd/amd/amq_subr.c
index d6f9f8938f1e9..87ede1be3cb54 100644
--- a/contrib/amd/amd/amq_subr.c
+++ b/contrib/amd/amd/amq_subr.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,11 +38,11 @@
*
* %W% (Berkeley) %G%
*
- * $Id: amq_subr.c,v 1.2 1998/09/04 04:42:28 obrien Exp $
+ * $Id: amq_subr.c,v 1.1.1.1 1998/08/23 22:07:20 obrien Exp $
*
*/
/*
- * Auxiliary routines for amq tool
+ * Auxilliary routines for amq tool
*/
#ifdef HAVE_CONFIG_H
@@ -139,7 +139,7 @@ amqproc_setopt_1_svc(voidp argp, struct svc_req *rqstp)
case AMOPT_LOGFILE:
if (gopt.logfile && opt->as_str
&& STREQ(gopt.logfile, opt->as_str)) {
- if (switch_to_logfile(opt->as_str, orig_umask))
+ if (switch_to_logfile(opt->as_str))
rc = EINVAL;
} else {
rc = EACCES;
diff --git a/contrib/amd/amd/amq_svc.c b/contrib/amd/amd/amq_svc.c
index bdb1c16f35ae2..5e4c9fd25084a 100644
--- a/contrib/amd/amd/amq_svc.c
+++ b/contrib/amd/amd/amq_svc.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: amq_svc.c,v 1.1.1.1 1998/11/05 02:04:47 ezk Exp $
+ * $Id: amq_svc.c,v 5.2.2.1 1992/02/09 15:09:26 jsp beta $
*
*/
diff --git a/contrib/amd/amd/autil.c b/contrib/amd/amd/autil.c
index 00ca8eaab0da3..ca089bd17f5c8 100644
--- a/contrib/amd/amd/autil.c
+++ b/contrib/amd/amd/autil.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: autil.c,v 1.2 1998/12/27 06:24:46 ezk Exp $
+ * $Id: autil.c,v 5.2.2.2 1992/03/07 17:52:06 jsp Exp $
*
*/
@@ -393,7 +393,7 @@ top:
goto top;
}
if (pid == 0) { /* child process (foreground==false) */
- am_set_mypid();
+ mypid = getpid();
foreground = 0;
} else { /* parent process, has one more child */
NumChild++;
diff --git a/contrib/amd/amd/clock.c b/contrib/amd/amd/clock.c
index 270401a03a7b3..3c0494a5e7a04 100644
--- a/contrib/amd/amd/clock.c
+++ b/contrib/amd/amd/clock.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,14 +38,14 @@
*
* %W% (Berkeley) %G%
*
- * $Id: clock.c,v 1.1.1.1 1998/11/05 02:04:47 ezk Exp $
+ * $Id: clock.c,v 5.2.2.1 1992/02/09 15:08:20 jsp beta $
*
*/
/*
* Callouts.
*
- * Modeled on kernel object of the same name.
+ * Modelled on kernel object of the same name.
* See usual references.
*
* Use of a heap-based mechanism was rejected:
diff --git a/contrib/amd/amd/conf.c b/contrib/amd/amd/conf.c
index 109d0059b582c..a97b1b18c42a6 100644
--- a/contrib/amd/amd/conf.c
+++ b/contrib/amd/amd/conf.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: conf.c,v 1.2 1998/12/27 06:24:46 ezk Exp $
+ * $Id: conf.c,v 5.2.2.1 1992/02/09 15:08:23 jsp beta $
*
*/
@@ -373,7 +373,7 @@ gopt_debug_options(const char *val)
return 0;
#else /* not DEBUG */
fprintf(stderr, "%s: not compiled with DEBUG option -- sorry.\n",
- am_get_progname());
+ progname);
return 1;
#endif /* not DEBUG */
}
@@ -534,11 +534,6 @@ gopt_map_options(const char *val)
static int
gopt_map_type(const char *val)
{
- /* check if map type exist */
- if (!mapc_type_exists(val)) {
- fprintf(stderr, "conf: no such map type \"%s\"\n", val);
- return 1;
- }
gopt.map_type = strdup((char *)val);
return 0;
}
@@ -851,11 +846,6 @@ ropt_map_options(const char *val, cf_map_t *cfm)
static int
ropt_map_type(const char *val, cf_map_t *cfm)
{
- /* check if map type exist */
- if (!mapc_type_exists(val)) {
- fprintf(stderr, "conf: no such map type \"%s\"\n", val);
- return 1;
- }
cfm->cfm_type = strdup((char *)val);
return 0;
}
diff --git a/contrib/amd/amd/conf_parse.y b/contrib/amd/amd/conf_parse.y
index c34062bc8a19d..2a9877a8fe4ba 100644
--- a/contrib/amd/amd/conf_parse.y
+++ b/contrib/amd/amd/conf_parse.y
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: conf_parse.y,v 1.1.1.1 1998/11/05 02:04:51 ezk Exp $
+ * $Id: conf_parse.y,v 5.2.2.1 1992/02/09 15:09:35 jsp beta $
*
*/
diff --git a/contrib/amd/amd/conf_tok.l b/contrib/amd/amd/conf_tok.l
index 7128a2a4855cf..0ec067bbf300c 100644
--- a/contrib/amd/amd/conf_tok.l
+++ b/contrib/amd/amd/conf_tok.l
@@ -18,7 +18,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -39,7 +39,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: conf_tok.l,v 1.1.1.1 1998/11/05 02:04:51 ezk Exp $
+ * $Id: conf_tok.l,v 5.2.2.1 1992/02/09 15:09:36 jsp beta $
*
*/
@@ -70,7 +70,7 @@
#endif /* ECHO */
/*
- * There are some things that need to be defined only if using GNU flex.
+ * There are some things that need to be defined only if useing GNU flex.
* These must not be defined if using standard lex
*/
#ifdef FLEX_SCANNER
diff --git a/contrib/amd/amd/get_args.c b/contrib/amd/amd/get_args.c
index 607b3fb489f17..ef72fbfd30b56 100644
--- a/contrib/amd/amd/get_args.c
+++ b/contrib/amd/amd/get_args.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: get_args.c,v 1.2 1998/09/05 06:06:00 obrien Exp $
+ * $Id: get_args.c,v 1.1.1.1 1998/08/23 22:07:20 obrien Exp $
*
*/
@@ -60,12 +60,11 @@ char *conf_tag = NULL; /* default conf file tags to use */
int usage = 0;
int use_conf_file = 0; /* default don't use amd.conf file */
char *mnttab_file_name = NULL; /* symbol must be available always */
-#if 0
#ifdef DEBUG
int debug_flags = D_AMQ /* Register AMQ */
| D_DAEMON; /* Enter daemon mode */
#endif /* DEBUG */
-#endif
+
/*
* Return the version string (dynamic buffer)
@@ -138,7 +137,7 @@ get_args(int argc, char *argv[])
case 'a':
if (*optarg != '/') {
fprintf(stderr, "%s: -a option must begin with a '/'\n",
- am_get_progname());
+ progname);
exit(1);
}
gopt.auto_dir = optarg;
@@ -225,8 +224,7 @@ get_args(int argc, char *argv[])
#ifdef DEBUG
usage += debug_option(optarg);
#else /* not DEBUG */
- fprintf(stderr, "%s: not compiled with DEBUG option -- sorry.\n",
- am_get_progname());
+ fprintf(stderr, "%s: not compiled with DEBUG option -- sorry.\n", progname);
#endif /* not DEBUG */
break;
@@ -336,7 +334,7 @@ get_args(int argc, char *argv[])
# endif /* DEBUG */
#endif /* not MOUNT_TABLE_ON_FILE */
- if (switch_to_logfile(gopt.logfile, orig_umask) != 0)
+ if (switch_to_logfile(gopt.logfile) != 0)
plog(XLOG_USER, "Cannot switch logfile");
/*
@@ -364,7 +362,7 @@ show_usage:
\t[-k kernel_arch] [-l logfile%s\n\
\t[-t timeout.retrans] [-w wait_timeout] [-C cluster_name]\n\
\t[-o op_sys_ver] [-O op_sys_name]\n\
-\t[-F conf_file] [-T conf_tag]", am_get_progname(),
+\t[-F conf_file] [-T conf_tag]", progname,
#ifdef HAVE_SYSLOG
# ifdef LOG_DAEMON
"|\"syslog[:facility]\"]"
diff --git a/contrib/amd/amd/info_file.c b/contrib/amd/amd/info_file.c
index 1bd9c622ec274..55c24bdb5c235 100644
--- a/contrib/amd/amd/info_file.c
+++ b/contrib/amd/amd/info_file.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: info_file.c,v 1.1.1.1 1998/11/05 02:04:49 ezk Exp $
+ * $Id: info_file.c,v 5.2.2.1 1992/02/09 15:08:28 jsp beta $
*
*/
diff --git a/contrib/amd/amd/info_hesiod.c b/contrib/amd/amd/info_hesiod.c
index 88de89b8e4d79..a4607e1515053 100644
--- a/contrib/amd/amd/info_hesiod.c
+++ b/contrib/amd/amd/info_hesiod.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: info_hesiod.c,v 1.1.1.1 1998/11/05 02:04:49 ezk Exp $
+ * $Id: info_hesiod.c,v 1.1 1997-1998/07/11 08:34:52 danny Exp danny $
*
*/
diff --git a/contrib/amd/amd/info_ldap.c b/contrib/amd/amd/info_ldap.c
index a5f1d75916329..e2f03674c5b0e 100644
--- a/contrib/amd/amd/info_ldap.c
+++ b/contrib/amd/amd/info_ldap.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: info_ldap.c,v 1.1.1.1 1998/11/05 02:04:49 ezk Exp $
+ * $Id: info_ldap.c,v 5.2.2.1 1992/02/09 15:08:29 jsp beta $
*
*/
@@ -263,7 +263,7 @@ amu_ldap_rebind(ALD *a)
return (0);
}
}
- plog(XLOG_WARNING, "Exhausted list of ldap servers, looping.\n");
+ plog(XLOG_WARNING, "Exausted list of ldap servers, looping.\n");
}
plog(XLOG_USER, "Unable to (re)bind to any ldap hosts\n");
diff --git a/contrib/amd/amd/info_ndbm.c b/contrib/amd/amd/info_ndbm.c
index d8fd39ccc8271..0b93fa6521803 100644
--- a/contrib/amd/amd/info_ndbm.c
+++ b/contrib/amd/amd/info_ndbm.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: info_ndbm.c,v 1.1.1.1 1998/11/05 02:04:49 ezk Exp $
+ * $Id: info_ndbm.c,v 5.2.2.1 1992/02/09 15:08:31 jsp beta $
*
*/
diff --git a/contrib/amd/amd/info_nis.c b/contrib/amd/amd/info_nis.c
index 2e9a0b771f50e..eceb73a04591f 100644
--- a/contrib/amd/amd/info_nis.c
+++ b/contrib/amd/amd/info_nis.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: info_nis.c,v 1.1.1.1 1998/11/05 02:04:49 ezk Exp $
+ * $Id: info_nis.c,v 5.2.2.1 1992/02/09 15:08:32 jsp beta $
*
*/
@@ -52,7 +52,6 @@
#include <am_defs.h>
#include <amd.h>
-
/*
* NIS+ servers in NIS compat mode don't have yp_order()
*/
@@ -62,7 +61,6 @@ static int has_yp_order = FALSE;
int nis_reload(mnt_map *m, char *map, void (*fn) (mnt_map *, char *, char *));
int nis_search(mnt_map *m, char *map, char *key, char **val, time_t *tp);
int nis_init(mnt_map *m, char *map, time_t *tp);
-int nis_isup(mnt_map *m, char *map);
int nis_mtime(mnt_map *m, char *map, time_t *tp);
/* typedefs */
@@ -122,20 +120,27 @@ callback(int status, char *key, int kl, char *val, int vl, char *data)
if (status == YP_TRUE) {
- /* add to list of maps */
+ /*
+ * Add to list of maps
+ */
char *kp = strnsave(key, kl);
char *vp = strnsave(val, vl);
-
(*ncdp->ncd_fn) (ncdp->ncd_m, kp, vp);
- /* we want more ... */
+ /*
+ * We want more ...
+ */
return FALSE;
} else {
- /* NOMORE means end of map - otherwise log error */
+ /*
+ * NOMORE means end of map - otherwise log error
+ */
if (status != YP_NOMORE) {
- /* check what went wrong */
+ /*
+ * Check what went wrong
+ */
int e = ypprot_err(status);
#ifdef DEBUG
@@ -228,7 +233,7 @@ nis_search(mnt_map *m, char *map, char *key, char **val, time_t *tp)
YP_ORDER_OUTORDER_TYPE order;
/*
- * Make sure domain initialized
+ * Make sure domain initialised
*/
if (!gopt.nis_domain) {
int error = determine_nis_domain();
@@ -341,7 +346,7 @@ nis_mtime(mnt_map *m, char *map, time_t *tp)
* alternate code which avoids a bug in yp_all(). The bug in yp_all() is
* that it does not close a TCP connection to ypserv, and this ypserv runs
* out of open filedescriptors, getting into an infinite loop, thus all YP
- * clients eventually unbind and hang too.
+ * clients enevtually unbind and hang too.
*
* Systems known to be plagued with this bug:
* earlier SunOS 4.x
@@ -373,25 +378,16 @@ am_yp_all(char *indomain, char *inmap, struct ypall_callback *incallback)
incallback->data);
if (j != FALSE) /* terminate loop */
break;
-
- /*
- * We have to manually free all char ** arguments to yp_first/yp_next
- * outval must be freed *before* calling yp_next again, outkey can be
- * freed as outkey_old *after* the call (this saves one call to
- * strnsave).
- */
- XFREE(outval);
outkey_old = outkey;
outkeylen_old = outkeylen;
i = yp_next(indomain,
inmap,
outkey_old,
outkeylen_old,
- &outkey,
+ &outkey,
&outkeylen,
&outval,
&outvallen);
- XFREE(outkey_old);
} while (!i);
#ifdef DEBUG
if (i) {
diff --git a/contrib/amd/amd/info_nisplus.c b/contrib/amd/amd/info_nisplus.c
index bf681ac1681e9..71f29e956c0b6 100644
--- a/contrib/amd/amd/info_nisplus.c
+++ b/contrib/amd/amd/info_nisplus.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: info_nisplus.c,v 1.1.1.1 1998/11/05 02:04:49 ezk Exp $
+ * $Id: info_nisplus.c,v 5.2.2.1 1992/02/09 15:08:32 jsp beta $
*
*/
diff --git a/contrib/amd/amd/info_passwd.c b/contrib/amd/amd/info_passwd.c
index d27c9b3bea0f2..32d92f4bf361b 100644
--- a/contrib/amd/amd/info_passwd.c
+++ b/contrib/amd/amd/info_passwd.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: info_passwd.c,v 1.1.1.1 1998/11/05 02:04:49 ezk Exp $
+ * $Id: info_passwd.c,v 5.2.2.1 1992/02/09 15:08:33 jsp beta $
*
*/
diff --git a/contrib/amd/amd/info_union.c b/contrib/amd/amd/info_union.c
index 00c254dad01aa..7f757f9781598 100644
--- a/contrib/amd/amd/info_union.c
+++ b/contrib/amd/amd/info_union.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: info_union.c,v 1.1.1.1 1998/11/05 02:04:50 ezk Exp $
+ * $Id: info_union.c,v 5.2.2.1 1992/02/09 15:08:34 jsp beta $
*
*/
diff --git a/contrib/amd/amd/map.c b/contrib/amd/amd/map.c
index 20e23c029c741..20320d9233308 100644
--- a/contrib/amd/amd/map.c
+++ b/contrib/amd/amd/map.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: map.c,v 1.2 1998/12/27 06:24:47 ezk Exp $
+ * $Id: map.c,v 5.2.2.2 1992/08/02 10:42:21 jsp Exp $
*
*/
@@ -134,7 +134,7 @@ exported_ap_realloc_map(int nsize)
* Allocate a new mount slot and create
* a new node.
* Fills in the map number of the node,
- * but leaves everything else uninitialized.
+ * but leaves everything else uninitialised.
*/
am_node *
exported_ap_alloc(void)
@@ -297,7 +297,7 @@ mk_fattr(am_node *mp, nfsftype vntype)
/*
- * Initialize an allocated mount node.
+ * Initialise an allocated mount node.
* It is assumed that the mount node was b-zero'd
* before getting here so anything that would
* be set to zero isn't done here.
@@ -371,7 +371,7 @@ fh_to_mp3(am_nfs_fh *fhp, int *rp, int c_or_d)
* from an old kernel cached filehandle
* which is now out of date.
*/
- if (fp->fhh_pid != am_mypid)
+ if (fp->fhh_pid != mypid)
goto drop;
/*
@@ -511,7 +511,7 @@ mp_to_fh(am_node *mp, am_nfs_fh *fhp)
/*
* Take the process id
*/
- fp->fhh_pid = am_mypid;
+ fp->fhh_pid = mypid;
/*
* ... the map number
@@ -726,7 +726,7 @@ make_root_node(void)
root_node->am_mnt = root_mnt;
/*
- * Initialize the root
+ * Initialise the root
*/
if (root_mnt->mf_ops->fs_init)
(*root_mnt->mf_ops->fs_init) (root_mnt);
@@ -893,7 +893,7 @@ free_map_if_success(int rc, int term, voidp closure)
mf->mf_flags &= ~MFF_UNMOUNTING;
/*
- * If a timeout was deferred because the underlying filesystem
+ * If a timeout was defered because the underlying filesystem
* was busy then arrange for a timeout as soon as possible.
*/
if (mf->mf_flags & MFF_WANTTIMO) {
diff --git a/contrib/amd/amd/mapc.c b/contrib/amd/amd/mapc.c
index 70ebf3a5b9d16..de95e133404b0 100644
--- a/contrib/amd/amd/mapc.c
+++ b/contrib/amd/amd/mapc.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: mapc.c,v 1.1.1.1 1998/11/05 02:04:48 ezk Exp $
+ * $Id: mapc.c,v 5.2.2.2 1992/08/02 10:42:21 jsp Exp $
*
*/
@@ -113,7 +113,7 @@ static char wildcard[] = "*";
typedef struct map_type map_type;
struct map_type {
char *name; /* Name of this map type */
- init_fn *init; /* Initialization */
+ init_fn *init; /* Initialisation */
reload_fn *reload; /* Reload or fill */
isup_fn *isup; /* Is service up or not? (1=up, 0=down) */
search_fn *search; /* Search for new entry */
@@ -350,32 +350,10 @@ mapc_showtypes(char *buf)
/*
- * Check if a map of a certain type exists.
- * Return 1 (true) if exists, 0 (false) if not.
- */
-int
-mapc_type_exists(const char *type)
-{
- map_type *mt;
-
- if (!type)
- return 0;
- for (mt = maptypes;
- mt < maptypes + sizeof(maptypes) / sizeof(maptypes[0]);
- mt++) {
- if (STREQ(type, mt->name))
- return 1;
- }
- return 0; /* not found anywhere */
-}
-
-
-/*
* Add key and val to the map m.
* key and val are assumed to be safe copies
*/
-void
-mapc_add_kv(mnt_map *m, char *key, char *val)
+void mapc_add_kv(mnt_map *m, char *key, char *val)
{
kv **h;
kv *n;
@@ -578,7 +556,7 @@ mapc_create(char *map, char *opt, const char *type)
default:
plog(XLOG_USER, "Ambiguous map cache type \"%s\"; using \"inc\"", opt);
alloc = MAPC_INC;
- /* fall-through... */
+ /* fallthrough... */
case MAPC_NONE:
case MAPC_INC:
case MAPC_ROOT:
diff --git a/contrib/amd/amd/mntfs.c b/contrib/amd/amd/mntfs.c
index 41689745c86b3..31fa331d8d698 100644
--- a/contrib/amd/amd/mntfs.c
+++ b/contrib/amd/amd/mntfs.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: mntfs.c,v 1.1.1.1 1998/11/05 02:04:48 ezk Exp $
+ * $Id: mntfs.c,v 5.2.2.2 1992/08/02 10:42:21 jsp Exp $
*
*/
diff --git a/contrib/amd/amd/nfs_prot_svc.c b/contrib/amd/amd/nfs_prot_svc.c
index 42b24f517a778..e2b1c70cf2085 100644
--- a/contrib/amd/amd/nfs_prot_svc.c
+++ b/contrib/amd/amd/nfs_prot_svc.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: nfs_prot_svc.c,v 1.1.1.1 1998/11/05 02:04:48 ezk Exp $
+ * $Id: nfs_prot_svc.c,v 5.2.2.1 1992/02/09 15:09:30 jsp beta $
*
*/
diff --git a/contrib/amd/amd/nfs_start.c b/contrib/amd/amd/nfs_start.c
index d32e8d7f37997..e5740f69a956d 100644
--- a/contrib/amd/amd/nfs_start.c
+++ b/contrib/amd/amd/nfs_start.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: nfs_start.c,v 1.1.1.1 1998/11/05 02:04:48 ezk Exp $
+ * $Id: nfs_start.c,v 5.2.2.1 1992/02/09 15:08:51 jsp beta $
*
*/
diff --git a/contrib/amd/amd/nfs_subr.c b/contrib/amd/amd/nfs_subr.c
index 65bcc0d94ca5f..3de0861922098 100644
--- a/contrib/amd/amd/nfs_subr.c
+++ b/contrib/amd/amd/nfs_subr.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: nfs_subr.c,v 1.1.1.1 1998/11/05 02:04:48 ezk Exp $
+ * $Id: nfs_subr.c,v 5.2.2.1 1992/02/09 15:08:53 jsp beta $
*
*/
@@ -141,7 +141,7 @@ nfsproc_getattr_2_svc(am_nfs_fh *argp, struct svc_req *rqstp)
#ifndef MNT2_NFS_OPT_SYMTTL
/*
* This code is needed to defeat Solaris 2.4's (and newer) symlink values
- * cache. It forces the last-modified time of the symlink to be current.
+ * cache. It forces the last-modifed time of the symlink to be current.
* It is not needed if the O/S has an nfs flag to turn off the
* symlink-cache at mount time (such as Irix 5.x and 6.x). -Erez.
*/
@@ -211,13 +211,6 @@ nfsproc_lookup_2_svc(nfsdiropargs *argp, struct svc_req *rqstp)
}
res.dr_status = nfs_error(error);
} else {
- /*
- * XXX: EXPERIMENTAL! Delay unmount of what was looked up. This
- * should reduce the chance for race condition between unmounting an
- * entry synchronously, and re-mounting it asynchronously.
- */
- if (ap->am_ttl < mp->am_ttl)
- ap->am_ttl = mp->am_ttl;
mp_to_fh(ap, &res.dr_u.dr_drok_u.drok_fhandle);
res.dr_u.dr_drok_u.drok_attributes = ap->am_fattr;
res.dr_status = NFS_OK;
diff --git a/contrib/amd/amd/ops_TEMPLATE.c b/contrib/amd/amd/ops_TEMPLATE.c
index e8e889b27ec14..7a60206b2ec1f 100644
--- a/contrib/amd/amd/ops_TEMPLATE.c
+++ b/contrib/amd/amd/ops_TEMPLATE.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: ops_TEMPLATE.c,v 1.1.1.1 1998/11/05 02:04:51 ezk Exp $
+ * $Id: ops_TEMPLATE.c,v 5.2.2.3 1992/08/02 10:42:21 jsp Exp $
*
*/
diff --git a/contrib/amd/amd/ops_autofs.c b/contrib/amd/amd/ops_autofs.c
index 91015b0486ed4..a566fc42ffb6f 100644
--- a/contrib/amd/amd/ops_autofs.c
+++ b/contrib/amd/amd/ops_autofs.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: ops_autofs.c,v 1.2 1998/12/27 06:24:47 ezk Exp $
+ * $Id: ops_autofs.c,v 5.2.2.3 1992/08/02 10:42:21 jsp Exp $
*
*/
@@ -53,7 +53,7 @@
#include <amd.h>
/*
- * KLUDGE: wrap whole file in HAVE_FS_AUTOFS, because
+ * CLUDGE: wrap whole file in HAVE_FS_AUTOFS, becasue
* not all systems with an automounter file system are supported
* by am-utils yet...
*/
@@ -76,7 +76,7 @@ static int mount_autofs(char *dir, char *opts);
static int autofs_mount_1_svc(struct mntrequest *mr, struct mntres *result, struct authunix_parms *cred);
static int autofs_unmount_1_svc(struct umntrequest *ur, struct umntres *result, struct authunix_parms *cred);
-/* external declarations */
+/* externam declarations */
extern bool_t xdr_mntrequest(XDR *, mntrequest *);
extern bool_t xdr_mntres(XDR *, mntres *);
extern bool_t xdr_umntrequest(XDR *, umntrequest *);
@@ -284,9 +284,8 @@ mount_autofs(char *dir, char *opts)
/*
* Make a ``hostname'' string for the kernel
*/
- sprintf(fs_hostname, "pid%ld@%s:%s",
- (long) (foreground ? am_mypid : getppid()),
- am_get_hostname(), dir);
+ sprintf(fs_hostname, "pid%ld@%s:%s", foreground ? mypid : getppid(),
+ hostname, dir);
/*
* Most kernels have a name length restriction.
@@ -482,7 +481,7 @@ out:
break
fi
if no error on this mount then
- this_error = initialize mount point
+ this_error = initialise mount point
fi
if no error on this mount and mount is delayed then
this_error = -1
@@ -501,7 +500,7 @@ out:
this_error = mount in foreground
fi
fi
- if an error occurred on this mount then
+ if an error occured on this mount then
update stats
save error in mount point
fi
@@ -662,7 +661,7 @@ autofs_bgmount(struct continuation * cp, int mpe)
/*
* Will usually need to play around with the mount nodes
* file attribute structure. This must be done here.
- * Try and get things initialized, even if the fileserver
+ * Try and get things initialised, even if the fileserver
* is not known to be up. In the common case this will
* progress things faster.
*/
@@ -712,7 +711,7 @@ autofs_bgmount(struct continuation * cp, int mpe)
cp->retry = TRUE;
}
- if (!this_error) {
+ if (!this_error)
if (p->fs_flags & FS_MBACKGROUND) {
mf->mf_flags |= MFF_MOUNTING; /* XXX */
#ifdef DEBUG
@@ -738,7 +737,6 @@ autofs_bgmount(struct continuation * cp, int mpe)
cp->retry = TRUE;
}
}
- }
if (this_error >= 0) {
if (this_error > 0) {
@@ -861,7 +859,7 @@ autofs_lookuppn(am_node *mp, char *fname, int *error_return, int op)
char *auto_opts; /* Automount options */
int error = 0; /* Error so far */
char path_name[MAXPATHLEN]; /* General path name buffer */
- char apath[MAXPATHLEN]; /* autofs path (added space) */
+ char apath[MAXPATHLEN]; /* authofs path (added space) */
char *pfname; /* Path for database lookup */
struct continuation *cp; /* Continuation structure if need to mount */
int in_progress = 0; /* # of (un)mount in progress */
@@ -879,11 +877,10 @@ autofs_lookuppn(am_node *mp, char *fname, int *error_return, int op)
*/
if (amd_state == Finishing) {
#ifdef DEBUG
- if ((mf = mp->am_mnt) == 0 || mf->mf_ops == &amfs_direct_ops) {
+ if ((mf = mp->am_mnt) == 0 || mf->mf_ops == &amfs_direct_ops)
dlog("%s mount ignored - going down", fname);
- } else {
+ else
dlog("%s/%s mount ignored - going down", mp->am_path, fname);
- }
#endif /* DEBUG */
ereturn(ENOENT);
}
@@ -993,7 +990,7 @@ autofs_lookuppn(am_node *mp, char *fname, int *error_return, int op)
}
/*
- * If an error occurred then return it.
+ * If an error occured then return it.
*/
if (error) {
#ifdef DEBUG
@@ -1134,7 +1131,6 @@ autofs_lookuppn(am_node *mp, char *fname, int *error_return, int op)
memset((char *) &ap, 0, sizeof(am_opts));
pt = ops_match(&ap, *sp, "", mp->am_path, "/defaults",
mp->am_parent->am_mnt->mf_info);
- free_opts(&ap); /* don't leak */
if (pt == &amfs_error_ops) {
plog(XLOG_MAP, "failed to match defaults for \"%s\"", *sp);
} else {
diff --git a/contrib/amd/amd/ops_cachefs.c b/contrib/amd/amd/ops_cachefs.c
index 40ca3565fbda6..0c40085ada6bd 100644
--- a/contrib/amd/amd/ops_cachefs.c
+++ b/contrib/amd/amd/ops_cachefs.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: ops_cachefs.c,v 1.1.1.1 1998/11/05 02:04:50 ezk Exp $
+ * $Id: ops_cachefs.c,v 5.2.2.3 1992/08/02 10:42:21 jsp Exp $
*
*/
diff --git a/contrib/amd/amd/ops_cdfs.c b/contrib/amd/amd/ops_cdfs.c
index 05de461754003..3a143e21a4bd3 100644
--- a/contrib/amd/amd/ops_cdfs.c
+++ b/contrib/amd/amd/ops_cdfs.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: ops_cdfs.c,v 1.1.1.1 1998/11/05 02:04:50 ezk Exp $
+ * $Id: ops_cdfs.c,v 5.2.2.1 1992/02/09 15:09:08 jsp beta $
*
*/
diff --git a/contrib/amd/amd/ops_efs.c b/contrib/amd/amd/ops_efs.c
index 095c2d4fcf66d..4f915f7645549 100644
--- a/contrib/amd/amd/ops_efs.c
+++ b/contrib/amd/amd/ops_efs.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: ops_efs.c,v 1.1.1.1 1998/11/05 02:04:50 ezk Exp $
+ * $Id: ops_efs.c,v 5.2.2.1 1992/02/09 15:09:08 jsp beta $
*
*/
diff --git a/contrib/amd/amd/ops_lofs.c b/contrib/amd/amd/ops_lofs.c
index 9331bf64e99e4..6555db59c1c4d 100644
--- a/contrib/amd/amd/ops_lofs.c
+++ b/contrib/amd/amd/ops_lofs.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: ops_lofs.c,v 1.1.1.1 1998/11/05 02:04:50 ezk Exp $
+ * $Id: ops_lofs.c,v 5.2.2.1 1992/02/09 15:09:08 jsp beta $
*
*/
diff --git a/contrib/amd/amd/ops_mfs.c b/contrib/amd/amd/ops_mfs.c
index b6a32ba25ece9..f93c30b1ed786 100644
--- a/contrib/amd/amd/ops_mfs.c
+++ b/contrib/amd/amd/ops_mfs.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: ops_mfs.c,v 1.1.1.1 1998/11/05 02:04:50 ezk Exp $
+ * $Id: ops_mfs.c,v 5.2.2.3 1992/08/02 10:42:21 jsp Exp $
*
*/
@@ -52,4 +52,4 @@
#include <am_defs.h>
#include <amd.h>
-/* FEEL FREE TO IMPLEMENT THIS... :-) */
+/* FEEL FREE TO INPLEMENT THIS... :-) */
diff --git a/contrib/amd/amd/ops_nfs.c b/contrib/amd/amd/ops_nfs.c
index bad0bd9421a18..a7006b4869cde 100644
--- a/contrib/amd/amd/ops_nfs.c
+++ b/contrib/amd/amd/ops_nfs.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: ops_nfs.c,v 1.1.1.1 1998/11/05 02:04:50 ezk Exp $
+ * $Id: ops_nfs.c,v 5.2.2.3 1992/08/02 10:42:21 jsp Exp $
*
*/
diff --git a/contrib/amd/amd/ops_nfs3.c b/contrib/amd/amd/ops_nfs3.c
index 19d6533a6b6d9..5db0713dbd494 100644
--- a/contrib/amd/amd/ops_nfs3.c
+++ b/contrib/amd/amd/ops_nfs3.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: ops_nfs3.c,v 1.1.1.1 1998/11/05 02:04:50 ezk Exp $
+ * $Id: ops_nfs3.c,v 5.2.2.3 1992/08/02 10:42:21 jsp Exp $
*
*/
@@ -52,4 +52,4 @@
#include <am_defs.h>
#include <amd.h>
-/* FEEL FREE TO IMPLEMENT THIS... :-) */
+/* FEEL FREE TO INPLEMENT THIS... :-) */
diff --git a/contrib/amd/amd/ops_nullfs.c b/contrib/amd/amd/ops_nullfs.c
index 6f560a845b535..bf2009f87b46e 100644
--- a/contrib/amd/amd/ops_nullfs.c
+++ b/contrib/amd/amd/ops_nullfs.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: ops_nullfs.c,v 1.1.1.1 1998/11/05 02:04:50 ezk Exp $
+ * $Id: ops_nullfs.c,v 5.2.2.3 1992/08/02 10:42:21 jsp Exp $
*
*/
@@ -52,4 +52,4 @@
#include <am_defs.h>
#include <amd.h>
-/* FEEL FREE TO IMPLEMENT THIS... :-) */
+/* FEEL FREE TO INPLEMENT THIS... :-) */
diff --git a/contrib/amd/amd/ops_pcfs.c b/contrib/amd/amd/ops_pcfs.c
index 3ff67b1cf3b80..e46b7112aff86 100644
--- a/contrib/amd/amd/ops_pcfs.c
+++ b/contrib/amd/amd/ops_pcfs.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: ops_pcfs.c,v 1.1.1.1 1998/11/05 02:04:50 ezk Exp $
+ * $Id: ops_pcfs.c,v 5.2.2.1 1992/02/09 15:09:08 jsp beta $
*
*/
diff --git a/contrib/amd/amd/ops_tfs.c b/contrib/amd/amd/ops_tfs.c
index 44a0d11136cf7..97cd18c232170 100644
--- a/contrib/amd/amd/ops_tfs.c
+++ b/contrib/amd/amd/ops_tfs.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: ops_tfs.c,v 1.1.1.1 1998/11/05 02:04:51 ezk Exp $
+ * $Id: ops_tfs.c,v 5.2.2.3 1992/08/02 10:42:21 jsp Exp $
*
*/
@@ -52,4 +52,4 @@
#include <am_defs.h>
#include <amd.h>
-/* FEEL FREE TO IMPLEMENT THIS... :-) */
+/* FEEL FREE TO INPLEMENT THIS... :-) */
diff --git a/contrib/amd/amd/ops_tmpfs.c b/contrib/amd/amd/ops_tmpfs.c
index 1fed46a043351..ce1b4fd3948f2 100644
--- a/contrib/amd/amd/ops_tmpfs.c
+++ b/contrib/amd/amd/ops_tmpfs.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: ops_tmpfs.c,v 1.1.1.1 1998/11/05 02:04:51 ezk Exp $
+ * $Id: ops_tmpfs.c,v 5.2.2.3 1992/08/02 10:42:21 jsp Exp $
*
*/
@@ -52,4 +52,4 @@
#include <am_defs.h>
#include <amd.h>
-/* FEEL FREE TO IMPLEMENT THIS... :-) */
+/* FEEL FREE TO INPLEMENT THIS... :-) */
diff --git a/contrib/amd/amd/ops_ufs.c b/contrib/amd/amd/ops_ufs.c
index bf18f6fc3f795..9883af156c35f 100644
--- a/contrib/amd/amd/ops_ufs.c
+++ b/contrib/amd/amd/ops_ufs.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: ops_ufs.c,v 1.1.1.1 1998/11/05 02:04:51 ezk Exp $
+ * $Id: ops_ufs.c,v 5.2.2.1 1992/02/09 15:09:08 jsp beta $
*
*/
diff --git a/contrib/amd/amd/ops_umapfs.c b/contrib/amd/amd/ops_umapfs.c
index af139a7cbd900..b2dcd7258b635 100644
--- a/contrib/amd/amd/ops_umapfs.c
+++ b/contrib/amd/amd/ops_umapfs.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: ops_umapfs.c,v 1.1.1.1 1998/11/05 02:04:51 ezk Exp $
+ * $Id: ops_umapfs.c,v 5.2.2.3 1992/08/02 10:42:21 jsp Exp $
*
*/
@@ -52,4 +52,4 @@
#include <am_defs.h>
#include <amd.h>
-/* FEEL FREE TO IMPLEMENT THIS... :-) */
+/* FEEL FREE TO INPLEMENT THIS... :-) */
diff --git a/contrib/amd/amd/ops_unionfs.c b/contrib/amd/amd/ops_unionfs.c
index 07f9eef10294d..24f7e1f1cdd8e 100644
--- a/contrib/amd/amd/ops_unionfs.c
+++ b/contrib/amd/amd/ops_unionfs.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: ops_unionfs.c,v 1.1.1.1 1998/11/05 02:04:51 ezk Exp $
+ * $Id: ops_unionfs.c,v 5.2.2.3 1992/08/02 10:42:21 jsp Exp $
*
*/
@@ -52,4 +52,4 @@
#include <am_defs.h>
#include <amd.h>
-/* FEEL FREE TO IMPLEMENT THIS... :-) */
+/* FEEL FREE TO INPLEMENT THIS... :-) */
diff --git a/contrib/amd/amd/ops_xfs.c b/contrib/amd/amd/ops_xfs.c
index acc555ba4059d..1b4aab4d89a22 100644
--- a/contrib/amd/amd/ops_xfs.c
+++ b/contrib/amd/amd/ops_xfs.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: ops_xfs.c,v 1.1.1.1 1998/11/05 02:04:51 ezk Exp $
+ * $Id: ops_xfs.c,v 5.2.2.1 1992/02/09 15:09:08 jsp beta $
*
*/
diff --git a/contrib/amd/amd/opts.c b/contrib/amd/amd/opts.c
index 907e55c355973..294cdb799a4ac 100644
--- a/contrib/amd/amd/opts.c
+++ b/contrib/amd/amd/opts.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: opts.c,v 1.2 1998/12/27 06:24:48 ezk Exp $
+ * $Id: opts.c,v 5.2.2.4 1992/08/02 10:42:21 jsp Exp $
*
*/
@@ -91,7 +91,7 @@ struct functable {
};
/*
- * FORWARD DEFINITION:
+ * FORWARD DEFINITSION:
*/
static int f_in_network(char *);
static int f_netgrp(char *);
@@ -106,7 +106,7 @@ static struct am_opts fs_static; /* copy of the options to play with */
static char NullStr[] = "<NULL>";
static char nullstr[] = "";
static char *opt_dkey = NullStr;
-static char *opt_host = nullstr; /* XXX: was the global hostname */
+static char *opt_host = hostname;
static char *opt_hostd = hostd;
static char *opt_key = nullstr;
static char *opt_keyd = nullstr;
@@ -1050,7 +1050,7 @@ expand_op(opt_apply *p, int sel_p)
}
/*
- * Check that the search was successful
+ * Check that the search was succesful
*/
if (!op->name) {
/*
@@ -1104,7 +1104,7 @@ out:
}
/*
- * Save the expansion
+ * Save the exansion
*/
*p->opt = strdup(expbuf);
}
@@ -1219,9 +1219,6 @@ eval_fs_opts(am_opts *fo, char *opts, char *g_opts, char *path, char *key, char
memset((voidp) vars, 0, sizeof(vars));
memset((voidp) fo, 0, sizeof(*fo));
- /* set hostname */
- opt_host = (char *) am_get_hostname();
-
/*
* Set key, map & path before expansion
*/
@@ -1263,7 +1260,7 @@ eval_fs_opts(am_opts *fo, char *opts, char *g_opts, char *path, char *key, char
ok = FALSE;
/*
- * Normalize remote host name.
+ * Normalise remote host name.
* 1. Expand variables
* 2. Normalize relative to host tables
* 3. Strip local domains from the remote host
diff --git a/contrib/amd/amd/restart.c b/contrib/amd/amd/restart.c
index cd7d8424af501..572df86b06d1a 100644
--- a/contrib/amd/amd/restart.c
+++ b/contrib/amd/amd/restart.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: restart.c,v 1.1.1.1 1998/11/05 02:04:49 ezk Exp $
+ * $Id: restart.c,v 5.2.2.2 1992/08/02 10:42:21 jsp Exp $
*
*/
diff --git a/contrib/amd/amd/rpc_fwd.c b/contrib/amd/amd/rpc_fwd.c
index 8f308b8097050..7f3c59b81d786 100644
--- a/contrib/amd/amd/rpc_fwd.c
+++ b/contrib/amd/amd/rpc_fwd.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: rpc_fwd.c,v 1.1.1.1 1998/11/05 02:04:49 ezk Exp $
+ * $Id: rpc_fwd.c,v 5.2.2.1 1992/02/09 15:09:01 jsp beta $
*
*/
diff --git a/contrib/amd/amd/sched.c b/contrib/amd/amd/sched.c
index a917c3cda5023..ffbe2c810de9d 100644
--- a/contrib/amd/amd/sched.c
+++ b/contrib/amd/amd/sched.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: sched.c,v 1.1.1.1 1998/11/05 02:04:49 ezk Exp $
+ * $Id: sched.c,v 5.2.2.1 1992/02/09 15:09:02 jsp beta $
*
*/
@@ -127,7 +127,7 @@ run_task(task_fun tf, voidp ta, cb_fun cf, voidp ca)
p->wchan = (voidp) p;
#ifdef HAVE_SIGACTION
- sigemptyset(&new); /* initialize signal set we wish to block */
+ sigemptyset(&new); /* initialise signal set we wish to block */
sigaddset(&new, SIGCHLD); /* only block on SIGCHLD */
sigprocmask(SIG_BLOCK, &new, &mask);
#else /* not HAVE_SIGACTION */
@@ -235,7 +235,7 @@ do_task_notify(void)
* Do callback if it exists
*/
if (p->cb_fun) {
- /* these two trigraphs will ensure compatibility with strict POSIX.1 */
+ /* these two trigraphs will ensure compatibity with strict POSIX.1 */
(*p->cb_fun) (WIFEXITED(p->w) ? WEXITSTATUS(p->w) : 0,
WIFSIGNALED(p->w) ? WTERMSIG(p->w) : 0,
p->cb_closure);
diff --git a/contrib/amd/amd/srvr_amfs_auto.c b/contrib/amd/amd/srvr_amfs_auto.c
index df2ffdf545dba..e77c591811574 100644
--- a/contrib/amd/amd/srvr_amfs_auto.c
+++ b/contrib/amd/amd/srvr_amfs_auto.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: srvr_amfs_auto.c,v 1.1.1.1 1998/11/05 02:04:49 ezk Exp $
+ * $Id: srvr_amfs_auto.c,v 5.2.2.1 1992/02/09 15:09:05 jsp beta $
*
*/
diff --git a/contrib/amd/amd/srvr_nfs.c b/contrib/amd/amd/srvr_nfs.c
index 5a56d9d532067..88e174d339022 100644
--- a/contrib/amd/amd/srvr_nfs.c
+++ b/contrib/amd/amd/srvr_nfs.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: srvr_nfs.c,v 1.2 1998/09/14 08:20:37 obrien Exp $
+ * $Id: srvr_nfs.c,v 1.1.1.1 1998/08/23 22:07:20 obrien Exp $
*
*/
@@ -489,7 +489,7 @@ nfs_keepalive(voidp v)
nfs_pinged);
/*
- * See if a hard error occurred
+ * See if a hard error occured
*/
switch (error) {
case ENETDOWN:
@@ -571,7 +571,7 @@ nfs_srvr_port(fserver *fs, u_short * port, voidp wchan)
if (error < 0 && wchan && !(fs->fs_flags & FSF_WANT)) {
/*
* If a wait channel is supplied, and no
- * error has yet occurred, then arrange
+ * error has yet occured, then arrange
* that a wakeup is done on the wait channel,
* whenever a wakeup is done on this fs node.
* Wakeup's are done on the fs node whenever
@@ -663,14 +663,18 @@ find_nfs_srvr(mntfs *mf)
}
#endif /* MNTTAB_OPT_PROTO */
-#ifdef HAVE_NFS_NFSV2_H
- /* allow overriding if nfsv2 option is specified in mount options */
- if (hasmntopt(&mnt, "nfsv2")) {
- nfs_version = (u_long) 2; /* nullify any ``vers=X'' statements */
- nfs_proto = "udp"; /* nullify any ``proto=tcp'' stmts */
- plog(XLOG_WARNING, "found compatiblity option \"nfsv2\": set options vers=2, proto=udp for host %s", host);
+/* XXX: do we want to do this unconditionally of #define's? */
+/* #if defined(MNTTAB_OPT_VERS ) && defined( MNTTAB_OPT_PROTO ) */
+ {
+ char *nfsv2_opt = hasmntopt(&mnt, "nfsv2");
+ if (nfsv2_opt) {
+ nfs_version = (unsigned long)2; /* nullify any ``vers=X'' statements */
+ nfs_proto = "udp"; /* nullify any ``proto=tcp'' stmts */
+ plog(XLOG_WARNING, "found compatiblity option \"nfsv2\": set options"
+ " vers=2, proto=udp for host %s", host);
+ }
}
-#endif /* HAVE_NFS_NFSV2_H */
+/*#endif*/ /* MNTTAB_OPT_VERS && MNTTAB_OPT_PROTO */
/*
* lookup host address and canonical name
@@ -759,7 +763,7 @@ find_nfs_srvr(mntfs *mf)
nfs_version, nfs_proto, host);
/*
- * Try to find an existing fs server structure for this host.
+ * Try to find an existing fs server stucture for this host.
* Note that differing versions or protocols have their own structures.
* XXX: Need to fix the ping mechanism to actually use the NFS protocol
* chosen here (right now it always uses datagram sockets).
diff --git a/contrib/amd/amq/amq.8 b/contrib/amd/amq/amq.8
index b7d3c7b72e10d..4181cea77f313 100644
--- a/contrib/amd/amq/amq.8
+++ b/contrib/amd/amq/amq.8
@@ -38,7 +38,7 @@
.\"
.\" %W% (Berkeley) %G%
.\"
-.\" $Id: amq.8,v 1.3 1998/09/12 04:04:57 obrien Exp $
+.\" $Id: amq.8,v 1.2 1998/09/05 06:38:19 obrien Exp $
.\"
.Dd March 16, 1991
.Dt AMQ 8
@@ -92,7 +92,7 @@ For security reasons, this must be the same log file which
.Nm amd
used when started. This option is therefore only useful to
refresh
-.Nm amd Ns \'s
+.Nm amd's
open file handle on the log file, so that it can be rotated and compressed via
daily cron jobs.
.It Fl m
@@ -152,7 +152,7 @@ that had registered itself on a different RPC
.Ar program_number
and apply all other operations to that instance of the automounter.
This is useful when running multiple copies of
-.Nm amd ,
+.Nmamd ,
and need to manage each one separately.
If not specified,
.Nm amq
@@ -193,7 +193,7 @@ be in the
.Pa /etc/rpc
database.
.Sh SEE ALSO
-.Xr amd.conf 5 ,
+.Xr amd.conf 8 ,
.Xr amd 8 ,
.Xr ctl-amd 8
.Sh AUTHORS
diff --git a/contrib/amd/amq/amq.c b/contrib/amd/amq/amq.c
index a8f069654b77a..bd81d4f3516cc 100644
--- a/contrib/amd/amq/amq.c
+++ b/contrib/amd/amq/amq.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: amq.c,v 1.2 1998/08/23 22:52:08 obrien Exp $
+ * $Id: amq.c,v 1.1.1.1 1998/08/23 22:07:20 obrien Exp $
*
*/
@@ -54,7 +54,7 @@ char copyright[] = "\
@(#)Copyright (c) 1990 The Regents of the University of California.\n\
@(#)All rights reserved.\n";
#if __GNUC__ < 2
-static char rcsid[] = "$Id: amq.c,v 1.2 1998/08/23 22:52:08 obrien Exp $";
+static char rcsid[] = "$Id: amq.c,v 1.1.1.1 1998/08/23 22:07:20 obrien Exp $";
static char sccsid[] = "%W% (Berkeley) %G%";
#endif /* __GNUC__ < 2 */
#endif /* not lint */
@@ -66,9 +66,7 @@ static char sccsid[] = "%W% (Berkeley) %G%";
#include <amq.h>
/* locals */
-#if 0
char *progname;
-#endif
static int flush_flag;
static int minfo_flag;
static int getpid_flag;
@@ -88,7 +86,7 @@ static char *def_server = localhost;
extern int optind;
extern char *optarg;
-/* forward declarations */
+/* forward decalrations */
#ifdef HAVE_TRANSPORT_TYPE_TLI
static CLIENT *get_secure_amd_client(char *host, struct timeval *tv, int *sock);
static int amq_bind_resv_port(int td, u_short *pp);
@@ -97,13 +95,10 @@ static int privsock(int ty);
#endif /* not HAVE_TRANSPORT_TYPE_TLI */
/* dummy variables */
-#if 0
char hostname[MAXHOSTNAMELEN];
+int orig_umask, foreground, debug_flags;
pid_t mypid;
serv_state amd_state;
-int foreground, orig_umask;
-int debug_flags;
-#endif
/* structures */
enum show_opt {
@@ -314,7 +309,6 @@ main(int argc, char *argv[])
struct hostent *hp;
int nodefault = 0;
struct timeval tv;
- char *progname = NULL;
#ifndef HAVE_TRANSPORT_TYPE_TLI
enum clnt_stat cs;
#endif /* not HAVE_TRANSPORT_TYPE_TLI */
@@ -332,7 +326,6 @@ main(int argc, char *argv[])
}
if (!progname)
progname = "amq";
- am_set_progname(progname);
/*
* Parse arguments
@@ -419,7 +412,7 @@ main(int argc, char *argv[])
fprintf(stderr, "\
Usage: %s [-h host] [[-f] [-m] [-p] [-v] [-s]] | [[-u] directory ...]]\n\
\t[-l logfile|\"syslog\"] [-x log_flags] [-D dbg_opts] [-M mapent]\n\
-\t[-P prognum] [-T] [-U]\n", am_get_progname());
+\t[-P prognum] [-T] [-U]\n", progname);
exit(1);
}
@@ -441,8 +434,7 @@ Usage: %s [-h host] [[-f] [-m] [-p] [-v] [-s]] | [[-u] directory ...]]\n\
* Get address of server
*/
if ((hp = gethostbyname(server)) == 0 && !STREQ(server, localhost)) {
- fprintf(stderr, "%s: Can't get address of %s\n",
- am_get_progname(), server);
+ fprintf(stderr, "%s: Can't get address of %s\n", progname, server);
exit(1);
}
memset(&server_addr, 0, sizeof server_addr);
@@ -477,7 +469,7 @@ Usage: %s [-h host] [[-f] [-m] [-p] [-v] [-s]] | [[-u] directory ...]]\n\
cs = pmap_ping(&server_addr);
if (cs == RPC_TIMEDOUT) {
fprintf(stderr, "%s: failed to contact portmapper on host \"%s\". %s\n",
- am_get_progname(), server, clnt_sperrno(cs));
+ progname, server, clnt_sperrno(cs));
exit(1);
}
@@ -495,7 +487,7 @@ Usage: %s [-h host] [[-f] [-m] [-p] [-v] [-s]] | [[-u] directory ...]]\n\
}
#endif /* not HAVE_TRANSPORT_TYPE_TLI */
if (!clnt) {
- fprintf(stderr, "%s: ", am_get_progname());
+ fprintf(stderr, "%s: ", progname);
clnt_pcreateerror(server);
exit(1);
}
@@ -510,12 +502,10 @@ Usage: %s [-h host] [[-f] [-m] [-p] [-v] [-s]] | [[-u] directory ...]]\n\
opt.as_str = debug_opts;
rc = amqproc_setopt_1(&opt, clnt);
if (rc && *rc < 0) {
- fprintf(stderr, "%s: daemon not compiled for debug\n",
- am_get_progname());
+ fprintf(stderr, "%s: daemon not compiled for debug\n", progname);
errs = 1;
} else if (!rc || *rc > 0) {
- fprintf(stderr, "%s: debug setting for \"%s\" failed\n",
- am_get_progname(), debug_opts);
+ fprintf(stderr, "%s: debug setting for \"%s\" failed\n", progname, debug_opts);
errs = 1;
}
}
@@ -530,8 +520,7 @@ Usage: %s [-h host] [[-f] [-m] [-p] [-v] [-s]] | [[-u] directory ...]]\n\
opt.as_str = xlog_optstr;
rc = amqproc_setopt_1(&opt, clnt);
if (!rc || *rc) {
- fprintf(stderr, "%s: setting log level to \"%s\" failed\n",
- am_get_progname(), xlog_optstr);
+ fprintf(stderr, "%s: setting log level to \"%s\" failed\n", progname, xlog_optstr);
errs = 1;
}
}
@@ -546,8 +535,7 @@ Usage: %s [-h host] [[-f] [-m] [-p] [-v] [-s]] | [[-u] directory ...]]\n\
opt.as_str = amq_logfile;
rc = amqproc_setopt_1(&opt, clnt);
if (!rc || *rc) {
- fprintf(stderr, "%s: setting logfile to \"%s\" failed\n",
- am_get_progname(), amq_logfile);
+ fprintf(stderr, "%s: setting logfile to \"%s\" failed\n", progname, amq_logfile);
errs = 1;
}
}
@@ -562,8 +550,7 @@ Usage: %s [-h host] [[-f] [-m] [-p] [-v] [-s]] | [[-u] directory ...]]\n\
opt.as_str = "";
rc = amqproc_setopt_1(&opt, clnt);
if (!rc || *rc) {
- fprintf(stderr, "%s: amd on %s cannot flush the map cache\n",
- am_get_progname(), server);
+ fprintf(stderr, "%s: amd on %s cannot flush the map cache\n", progname, server);
errs = 1;
}
}
@@ -583,8 +570,7 @@ Usage: %s [-h host] [[-f] [-m] [-p] [-v] [-s]] | [[-u] directory ...]]\n\
show_mi(ml, Full, &mwid, &dwid, &twid);
} else {
- fprintf(stderr, "%s: amd on %s cannot provide mount info\n",
- am_get_progname(), server);
+ fprintf(stderr, "%s: amd on %s cannot provide mount info\n", progname, server);
}
}
@@ -601,8 +587,8 @@ Usage: %s [-h host] [[-f] [-m] [-p] [-v] [-s]] | [[-u] directory ...]]\n\
errno = *rc;
else
errno = ETIMEDOUT;
- fprintf(stderr, "%s: could not start new ", am_get_progname());
- perror("automount point");
+ fprintf(stderr, "%s: could not start new ", progname);
+ perror("autmount point");
}
}
@@ -615,8 +601,7 @@ Usage: %s [-h host] [[-f] [-m] [-p] [-v] [-s]] | [[-u] directory ...]]\n\
fputs(*spp, stdout);
XFREE(*spp);
} else {
- fprintf(stderr, "%s: failed to get version information\n",
- am_get_progname());
+ fprintf(stderr, "%s: failed to get version information\n", progname);
errs = 1;
}
}
@@ -629,7 +614,7 @@ Usage: %s [-h host] [[-f] [-m] [-p] [-v] [-s]] | [[-u] directory ...]]\n\
if (ip && *ip) {
printf("%d\n", *ip);
} else {
- fprintf(stderr, "%s: failed to get PID of amd\n", am_get_progname());
+ fprintf(stderr, "%s: failed to get PID of amd\n", progname);
errs = 1;
}
}
@@ -661,11 +646,11 @@ Usage: %s [-h host] [[-f] [-m] [-p] [-v] [-s]] | [[-u] directory ...]]\n\
dwid, dwid, "What");
show_mt(mt, Stats, &mwid, &dwid, &twid);
} else {
- fprintf(stderr, "%s: %s not automounted\n", am_get_progname(), fs);
+ fprintf(stderr, "%s: %s not automounted\n", progname, fs);
}
xdr_pri_free((XDRPROC_T_TYPE) xdr_amq_mount_tree_p, (caddr_t) mtp);
} else {
- fprintf(stderr, "%s: ", am_get_progname());
+ fprintf(stderr, "%s: ", progname);
clnt_perror(clnt, server);
errs = 1;
}
@@ -680,7 +665,7 @@ Usage: %s [-h host] [[-f] [-m] [-p] [-v] [-s]] | [[-u] directory ...]]\n\
if (ms) {
show_ms(ms);
} else {
- fprintf(stderr, "%s: ", am_get_progname());
+ fprintf(stderr, "%s: ", progname);
clnt_perror(clnt, server);
errs = 1;
}
@@ -705,13 +690,13 @@ Usage: %s [-h host] [[-f] [-m] [-p] [-v] [-s]] | [[-u] directory ...]]\n\
}
} else {
- fprintf(stderr, "%s: ", am_get_progname());
+ fprintf(stderr, "%s: ", progname);
clnt_perror(clnt, server);
errs = 1;
}
}
exit(errs);
- return errs; /* should never reach here */
+ return errs; /* should never reache here */
}
@@ -808,7 +793,7 @@ get_secure_amd_client(char *host, struct timeval *tv, int *sock)
NULL);
if (cs == RPC_TIMEDOUT) {
fprintf(stderr, "%s: failed to contact portmapper on host \"%s\". %s\n",
- am_get_progname(), host, clnt_sperrno(cs));
+ progname, host, clnt_sperrno(cs));
exit(1);
}
}
@@ -826,12 +811,12 @@ get_secure_amd_client(char *host, struct timeval *tv, int *sock)
if (!rpcb_getaddr(amd_program_number, AMQ_VERSION, nc, &nb, host)) {
/*
- * don't print error messages here, since amd might legitimately
+ * don't pring error messages here, since amd might legitimately
* serve udp only
*/
goto tryudp;
}
- /* Create privileged TCP socket */
+ /* Create priviledged TCP socket */
*sock = t_open(nc->nc_device, O_RDWR, 0);
if (*sock < 0) {
@@ -867,7 +852,7 @@ tryudp:
clnt_spcreateerror("couldn't get amd address on udp"));
return NULL;
}
- /* create privileged UDP socket */
+ /* create priviledged UDP socket */
*sock = t_open(nc->nc_device, O_RDWR, 0);
if (*sock < 0) {
diff --git a/contrib/amd/amq/amq.h b/contrib/amd/amq/amq.h
index 15ee2aa1527ab..98f73831a49ff 100644
--- a/contrib/amd/amq/amq.h
+++ b/contrib/amd/amq/amq.h
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: amq.h,v 1.1.1.1 1998/11/05 02:04:52 ezk Exp $
+ * $Id: amq.h,v 1.1 1996/01/13 23:23:39 ezk Exp ezk $
*
*/
diff --git a/contrib/amd/amq/amq_clnt.c b/contrib/amd/amq/amq_clnt.c
index 606377b369cd6..7220cec2fef42 100644
--- a/contrib/amd/amq/amq_clnt.c
+++ b/contrib/amd/amq/amq_clnt.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: amq_clnt.c,v 1.1.1.1 1998/11/05 02:04:52 ezk Exp $
+ * $Id: amq_clnt.c,v 5.2.2.1 1992/02/09 15:09:24 jsp beta $
*
*/
diff --git a/contrib/amd/amq/amq_xdr.c b/contrib/amd/amq/amq_xdr.c
index 33093b5f0dfe9..79a7294248306 100644
--- a/contrib/amd/amq/amq_xdr.c
+++ b/contrib/amd/amq/amq_xdr.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: amq_xdr.c,v 1.1.1.1 1998/11/05 02:04:52 ezk Exp $
+ * $Id: amq_xdr.c,v 5.2.2.1 1992/02/09 15:09:23 jsp beta $
*
*/
diff --git a/contrib/amd/amq/pawd.c b/contrib/amd/amq/pawd.c
index 3479929075e00..86ed55f118c46 100644
--- a/contrib/amd/amq/pawd.c
+++ b/contrib/amd/amq/pawd.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: pawd.c,v 1.2 1998/12/27 06:24:50 ezk Exp $
+ * $Id: pawd.c,v 5.2.2.1 1992/02/09 15:09:16 jsp beta $
*
*/
@@ -59,14 +59,11 @@
#include <amq.h>
/* dummy variables */
-#if 0
char *progname;
char hostname[MAXHOSTNAMELEN];
+int orig_umask, foreground, debug_flags;
pid_t mypid;
serv_state amd_state;
-int foreground, orig_umask;
-int debug_flags;
-#endif
/* statics */
static char *localhost="localhost";
@@ -296,3 +293,4 @@ main(int argc, char *argv[])
}
exit(0);
}
+
diff --git a/contrib/amd/conf/checkmount/checkmount_bsd44.c b/contrib/amd/conf/checkmount/checkmount_bsd44.c
index b3bd572246ed0..80276e63a7e92 100644
--- a/contrib/amd/conf/checkmount/checkmount_bsd44.c
+++ b/contrib/amd/conf/checkmount/checkmount_bsd44.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: checkmount_bsd44.c,v 1.1.1.1 1998/11/05 02:04:33 ezk Exp $
+ * $Id: checkmount_bsd44.c,v 5.2.2.2 1992/05/31 16:35:45 jsp Exp $
*
*/
diff --git a/contrib/amd/conf/mtab/mtab_bsd.c b/contrib/amd/conf/mtab/mtab_bsd.c
index 0476df57a4ade..100d7d5d6c3de 100644
--- a/contrib/amd/conf/mtab/mtab_bsd.c
+++ b/contrib/amd/conf/mtab/mtab_bsd.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: mtab_bsd.c,v 1.1.1.1 1998/11/05 02:04:37 ezk Exp $
+ * $Id: mtab_bsd.c,v 5.2.2.2 1992/11/12 23:29:14 jsp Exp $
*
*/
diff --git a/contrib/amd/conf/nfs_prot/nfs_prot_freebsd2.h b/contrib/amd/conf/nfs_prot/nfs_prot_freebsd2.h
index f767ffa948203..e39ff1b711c55 100644
--- a/contrib/amd/conf/nfs_prot/nfs_prot_freebsd2.h
+++ b/contrib/amd/conf/nfs_prot/nfs_prot_freebsd2.h
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: nfs_prot_freebsd2.h,v 1.2 1998/08/27 07:33:23 obrien Exp $
+ * $Id: nfs_prot_freebsd2.h,v 1.1.1.1 1998/08/23 22:07:20 obrien Exp $
*
*/
diff --git a/contrib/amd/conf/nfs_prot/nfs_prot_freebsd3.h b/contrib/amd/conf/nfs_prot/nfs_prot_freebsd3.h
index 070ada089ff19..0c319d39b60dd 100644
--- a/contrib/amd/conf/nfs_prot/nfs_prot_freebsd3.h
+++ b/contrib/amd/conf/nfs_prot/nfs_prot_freebsd3.h
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: nfs_prot_freebsd3.h,v 1.5 1999/01/13 20:03:57 obrien Exp $
+ * $Id: nfs_prot_freebsd3.h,v 1.2 1998/08/27 07:33:23 obrien Exp $
*
*/
@@ -153,29 +153,65 @@ typedef writeargs nfswriteargs;
/*
*
- * FreeBSD-3.0-RELEASE has NFS V3. Older versions had it only defined
- * in the rpcgen source file. If you are on an older system, and you
- * want NFSv3 support, you need to regenerate the rpcsvc header files as
- * follows:
- * cd /usr/include/rpcsvc
- * rpcgen -h -C -DWANT_NFS3 mount.x
- * rpcgen -h -C -DWANT_NFS3 nfs_prot.x
- * If you don't want NFSv3, then you will have to turn off the NFSMNT_NFSV3
- * macro below. If the code doesn't compile, upgrade to the latest 3.0
- * version...
+ * FreeBSD 3.0 has NFS V3, but you need to regenrate the rpcsc header files
+ * as follows:
+ * cd /usr/local/rpcsvc
+ * rpcgen -DWANT_NFS3 mount.x
+ * rpcgen -DWANT_NFS3 nfs_prot.x
+ * But that's not expected of everyone, plus there are additional things
+ * needed so I define everything that's neede for NFS V3 here.
*/
#ifdef NFSMNT_NFSV3
# define MOUNT_NFS3 MOUNT_NFS
# define MNTOPT_NFS3 "nfs"
-/*
- * as of 3.0-RELEASE the nfs_fh3 that is defined in the system headers
- * (or the one generated by rpcgen) lacks the proper full definition,
- * listed below. A special macro (aux/macros/struct_nfs_fh3.m4) searches
- * for this special name before other names.
- */
-struct nfs_fh3_freebsd3 {
+#ifdef COMMENT_OUT
+#define FHSIZE3 64 /* size in bytes of a file handle (v3) */
+#define NFS3_FHSIZE 64
+#define MOUNTVERS3 ((unsigned long)(3))
+#define NFS_V3 ((unsigned long)(3))
+#endif /* COMMENT_OUT */
+
+#ifdef COMMENT_OUT
+typedef struct {
+ u_int fhandle3_len;
+ char *fhandle3_val;
+} fhandle3;
+
+enum mountstat3 {
+ MNT3_OK = 0,
+ MNT3ERR_PERM = 1,
+ MNT3ERR_NOENT = 2,
+ MNT3ERR_IO = 5,
+ MNT3ERR_ACCES = 13,
+ MNT3ERR_NOTDIR = 20,
+ MNT3ERR_INVAL = 22,
+ MNT3ERR_NAMETOOLONG = 63,
+ MNT3ERR_NOTSUPP = 10004,
+ MNT3ERR_SERVERFAULT = 10006
+};
+typedef enum mountstat3 mountstat3;
+
+struct mountres3_ok {
+ fhandle3 fhandle;
+ struct {
+ u_int auth_flavors_len;
+ int *auth_flavors_val;
+ } auth_flavors;
+};
+typedef struct mountres3_ok mountres3_ok;
+
+struct mountres3 {
+ mountstat3 fhs_status;
+ union {
+ mountres3_ok mountinfo;
+ } mountres3_u;
+};
+typedef struct mountres3 mountres3;
+#endif /* COMMENT_OUT */
+
+struct nfs_fh3 {
u_int fh3_length;
union nfs_fh3_u {
struct nfs_fh3_i {
@@ -184,11 +220,7 @@ struct nfs_fh3_freebsd3 {
char data[NFS3_FHSIZE];
} fh3_u;
};
-typedef struct nfs_fh3_freebsd3 nfs_fh3_freebsd3;
-
-/* since we don't use Am-utils's aux/macros/struct_nfs_fh3.m4, we don't get
- their special searching. So restore the standard name. */
-typedef struct nfs_fh3_freebsd3 nfs_fh3;
+typedef struct nfs_fh3 nfs_fh3;
#endif /* NFSMNT_NFSV3 */
diff --git a/contrib/amd/conf/transp/transp_sockets.c b/contrib/amd/conf/transp/transp_sockets.c
index e30612f17084d..45aa01eb782c3 100644
--- a/contrib/amd/conf/transp/transp_sockets.c
+++ b/contrib/amd/conf/transp/transp_sockets.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: transp_sockets.c,v 1.2 1998/11/10 16:23:41 ezk Exp $
+ * $Id: transp_sockets.c,v 5.2.2.2 1992/07/18 18:57:03 jsp Exp jsp $
*
* Socket specific utilities.
* -Erez Zadok <ezk@cs.columbia.edu>
@@ -206,10 +206,12 @@ create_nfs_service(int *soNFSp, u_short *nfs_portp, SVCXPRT **nfs_xprtp, void (*
plog(XLOG_FATAL, "Can't create privileged nfs port");
return 1;
}
+
if ((*nfs_xprtp = svcudp_create(*soNFSp)) == NULL) {
plog(XLOG_FATAL, "cannot create rpc/udp service");
return 2;
}
+
if (!svc_register(*nfs_xprtp, NFS_PROGRAM, NFS_VERSION, dispatch_fxn, 0)) {
plog(XLOG_FATAL, "unable to register (NFS_PROGRAM, NFS_VERSION, 0)");
return 3;
diff --git a/contrib/amd/conf/umount/umount_bsd44.c b/contrib/amd/conf/umount/umount_bsd44.c
index c58657be8c92e..4e241b388d1b4 100644
--- a/contrib/amd/conf/umount/umount_bsd44.c
+++ b/contrib/amd/conf/umount/umount_bsd44.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: umount_bsd44.c,v 1.1.1.1 1998/11/05 02:04:43 ezk Exp $
+ * $Id: umount_bsd44.c,v 5.2.2.2 1993/01/27 07:32:45 jsp Exp $
*
*/
diff --git a/contrib/amd/doc/am-utils.texi b/contrib/amd/doc/am-utils.texi
index b1e12afa8ac42..ca545031e180a 100644
--- a/contrib/amd/doc/am-utils.texi
+++ b/contrib/amd/doc/am-utils.texi
@@ -38,7 +38,7 @@
@c
@c %W% (Berkeley) %G%
@c
-@c $Id: am-utils.texi,v 1.2 1998/12/27 06:25:16 ezk Exp $
+@c $Id: am-utils.texi,v 6.0 1997/02/09 15:11:50 ezk beta $
@c
@setfilename am-utils.info
@@ -684,7 +684,6 @@ am-utils, not all systems listed here have been verified working for all
features.
@multitable {Auto-Configured System Name} {Config} {Compile} {Amd} {NFS3} {Shlib} {Hlfsd}
-@c @multitable @columnfractions .5 .1 .1 .1 .1 .1
@item @b{Auto-Configured System Name}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
@@ -692,59 +691,51 @@ features.
@item @b{alpha-dec-osf2.1}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab ? @tab no @tab ?
+@tab yes @tab yes @tab yes @tab @tab @tab
@item @b{alpha-dec-osf4.0}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab yes @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab yes @tab @tab
@item @b{alphaev5-unknown-linux-gnu}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab yes @tab
@item @b{hppa1.0-hp-hpux11.00}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab no @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab no @tab @tab
@item @b{hppa1.1-hp-hpux10.10}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab no @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab no @tab
@item @b{hppa1.1-hp-hpux10.20}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab no @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab no @tab
@item @b{hppa1.1-hp-hpux9.01}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab @tab
@item @b{hppa1.1-hp-hpux9.05}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab @tab
@item @b{hppa1.1-hp-hpux9.07}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab yes @tab ?
-
-@item @b{hppa2.0w-hp-hpux11.00}
-@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab @tab
@item @b{i386-pc-bsdi2.1}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab no @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab @tab
@item @b{i386-pc-bsdi3.0}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab no @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab @tab
@item @b{i386-pc-bsdi3.1}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab no @tab ?
-
-@item @b{i386-pc-bsdi4.0}
-@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab @tab
@item @b{i386-pc-solaris2.5.1}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
@@ -754,173 +745,117 @@ features.
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
@tab yes @tab yes @tab yes @tab yes @tab yes @tab yes
-@item @b{i386-pc-solaris2.7}
-@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab yes @tab yes @tab yes
-
@item @b{i386-unknown-freebsd2.1.0}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab ? @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab @tab
@item @b{i386-unknown-freebsd2.2.1}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab yes @tab ?
-
-@item @b{i386-unknown-freebsd2.2.6}
-@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab yes @tab ?
-
-@item @b{i386-unknown-freebsd2.2.7}
-@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab yes @tab ?
-
-@item @b{i386-unknown-freebsd2.2.8}
-@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab yes @tab
@item @b{i386-unknown-freebsd3.0}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab yes @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab yes @tab yes @tab
@item @b{i386-unknown-netbsd1.2.1}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab yes @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab yes @tab yes @tab
@item @b{i386-unknown-netbsd1.3}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab yes @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab yes @tab yes @tab
@item @b{i386-unknown-netbsd1.3.1}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab yes @tab yes @tab ?
-
-@item @b{i386-unknown-netbsd1.3.2}
-@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab yes @tab yes @tab ?
-
-@item @b{i386-unknown-netbsd1.3.3}
-@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab yes @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab yes @tab yes @tab
@item @b{i386-unknown-openbsd2.1}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab yes @tab yes @tab ?
-
-@item @b{i386-unknown-openbsd2.2}
-@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab yes @tab yes @tab ?
-
-@item @b{i386-unknown-openbsd2.3}
-@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab yes @tab yes @tab ?
-
-@item @b{i386-unknown-openbsd2.4}
-@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab yes @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab yes @tab yes @tab
@item @b{i486-ncr-sysv4.3.03}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab ? @tab yes @tab yes @tab ?
+@tab yes @tab yes @tab @tab yes @tab @tab
@item @b{i486-pc-linux-gnulibc1}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab yes @tab ?
-
-@item @b{i486-pc-linux-gnuoldld}
-@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab yes @tab
-@item @b{i586-pc-linux-gnu}
+@item @b{i586-pc-linux-gnulinc1}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab yes @tab ?
-
-@item @b{i586-pc-linux-gnulibc1}
-@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab yes @tab
@item @b{i686-pc-linux-gnu}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab yes @tab ?
-
-@item @b{i686-pc-linux-gnulibc1}
-@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab yes @tab
@item @b{m68k-hp-hpux9.00}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab ? @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab @tab
@item @b{m68k-sun-sunos4.1.1}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab no @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab @tab
@item @b{m68k-next-nextstep3}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab no @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab @tab
@item @b{mips-dec-ultrix4.3}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab ? @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab @tab
@item @b{mips-sgi-irix5.2}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab ? @tab ? @tab ? @tab ? @tab ? @tab ?
+@tab @tab @tab @tab @tab @tab
@item @b{mips-sgi-irix5.3}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab yes @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab yes @tab @tab
@item @b{mips-sgi-irix6.2}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab yes @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab yes @tab @tab
@item @b{mips-sgi-irix6.4}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab yes @tab yes @tab ?
-
-@item @b{mips-sgi-irix6.5}
-@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab ? @tab yes @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab yes @tab yes @tab
@item @b{powerpc-ibm-aix4.1.5.0}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab no/broken @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab @tab
@item @b{powerpc-ibm-aix4.2.1.0}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab yes @tab no/broken @tab ?
-
-@item @b{powerpc-ibm-aix4.3.1.0}
-@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab ? @tab yes @tab ? @tab ?
+@tab yes @tab yes @tab yes @tab yes @tab @tab
@item @b{rs6000-ibm-aix3.2}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab ? @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab @tab
@item @b{rs6000-ibm-aix3.2.5}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab ? @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab @tab
@item @b{rs6000-ibm-aix4.1.4.0}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab no/broken @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab @tab
@item @b{rs6000-ibm-aix4.1.5.0}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab no/broken @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab @tab
@item @b{sparc-sun-solaris2.3}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab @tab
@item @b{sparc-sun-solaris2.4}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab yes @tab
@item @b{sparc-sun-solaris2.5}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab yes @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab yes @tab yes @tab
@item @b{sparc-sun-solaris2.5.1}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
@@ -930,45 +865,33 @@ features.
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
@tab yes @tab yes @tab yes @tab yes @tab yes @tab yes
-@item @b{sparc-sun-solaris2.7}
-@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab yes @tab yes @tab yes
-
@item @b{sparc-sun-sunos4.1.1}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab yes @tab
@item @b{sparc-sun-sunos4.1.3}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab yes @tab
@item @b{sparc-sun-sunos4.1.3C}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab yes @tab
@item @b{sparc-sun-sunos4.1.3_U1}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab yes @tab
@item @b{sparc-sun-sunos4.1.4}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab yes @tab
@item @b{sparc-unknown-linux-gnulibc1}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab n/a @tab yes @tab
@item @b{sparc-unknown-netbsd1.2E}
@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab ? @tab ? @tab ?
-
-@item @b{sparc-unknown-netbsd1.2G}
-@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab ? @tab ? @tab ?
-
-@item @b{sparc64-unknown-linux-gnu}
-@c {Config} {Compile} {Amd} {NFS V.3} {Shlib} {Hlfsd}
-@tab yes @tab yes @tab yes @tab n/a @tab yes @tab ?
+@tab yes @tab yes @tab yes @tab @tab @tab
@end multitable
@@ -3473,9 +3396,8 @@ if that is required in an argument. There is no way to escape or change
the quote character.
To run the program @samp{rvdmount} with a host name and filesystem as
-arguments would be specified by
-@samp{fs:=$@{autodir@}$@{path@};mount:="/etc/rvdmount rvdmount fserver
-$@{fs@}"}.
+arguments would be specified by @samp{mount:="/etc/rvdmount rvdmount
+fserver $@{path@}"}.
The first element in the array is taken as the pathname of the program
to execute. The other members of the array form the argument vector to
diff --git a/contrib/amd/doc/stamp-vti b/contrib/amd/doc/stamp-vti
index 05e718a873bcd..225ecdbacb37f 100644
--- a/contrib/amd/doc/stamp-vti
+++ b/contrib/amd/doc/stamp-vti
@@ -1,3 +1,3 @@
-@set UPDATED 27 December 1998
-@set EDITION 6.0
-@set VERSION 6.0
+@set UPDATED 22 April 1998
+@set EDITION 6.0a16
+@set VERSION 6.0a16
diff --git a/contrib/amd/doc/texinfo.tex b/contrib/amd/doc/texinfo.tex
index 2b8a9cccbda54..2ce38f94db16b 100644
--- a/contrib/amd/doc/texinfo.tex
+++ b/contrib/amd/doc/texinfo.tex
@@ -1,65 +1,48 @@
-% texinfo.tex -- TeX macros to handle Texinfo files.
-%
-% Load plain if necessary, i.e., if running under initex.
+%% TeX macros to handle Texinfo files.
+%% $Id: texinfo.tex,v 2.218 1997/07/26 19:12:35 karl Exp $
+
+% Copyright (C) 1985, 86, 88, 90, 91, 92, 93,
+% 94, 95, 96, 97 Free Software Foundation, Inc.
+
+%This texinfo.tex file is free software; you can redistribute it and/or
+%modify it under the terms of the GNU General Public License as
+%published by the Free Software Foundation; either version 2, or (at
+%your option) any later version.
+
+%This texinfo.tex file is distributed in the hope that it will be
+%useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+%of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%General Public License for more details.
+
+%You should have received a copy of the GNU General Public License
+%along with this texinfo.tex file; see the file COPYING. If not, write
+%to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+%Boston, MA 02111-1307, USA.
+
+
+%In other words, you are welcome to use, share and improve this program.
+%You are forbidden to forbid anyone else to use, share and improve
+%what you give them. Help stamp out software-hoarding!
+
+
+% Send bug reports to bug-texinfo@prep.ai.mit.edu.
+% Please include a *precise* test case in each bug report.
+
+
+% Make it possible to create a .fmt file just by loading this file:
+% if the underlying format is not loaded, start by loading it now.
+% Added by gildea November 1993.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
-%
-\def\texinfoversion{1998-11-13}%
-%
-% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98
-% Free Software Foundation, Inc.
-%
-% This texinfo.tex file is free software; you can redistribute it and/or
-% modify it under the terms of the GNU General Public License as
-% published by the Free Software Foundation; either version 2, or (at
-% your option) any later version.
-%
-% This texinfo.tex file is distributed in the hope that it will be
-% useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-% of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-% General Public License for more details.
-%
-% You should have received a copy of the GNU General Public License
-% along with this texinfo.tex file; see the file COPYING. If not, write
-% to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-% Boston, MA 02111-1307, USA.
-%
-% In other words, you are welcome to use, share and improve this program.
-% You are forbidden to forbid anyone else to use, share and improve
-% what you give them. Help stamp out software-hoarding!
-%
-% Please try the latest version of texinfo.tex before submitting bug
-% reports; you can get the latest version from:
-% ftp://ftp.gnu.org/pub/gnu/texinfo.tex
-% /home/gd/gnu/doc/texinfo.tex on the GNU machines.
-% (and all GNU mirrors, see http://www.gnu.org/order/ftp.html)
-% ftp://tug.org/tex/texinfo.tex
-% ftp://ctan.org/macros/texinfo/texinfo.tex
-% (and all CTAN mirrors, finger ctan@ctan.org for a list).
-% The texinfo.tex in the texinfo distribution itself could well be out
-% of date, so if that's what you're using, please check.
-%
-% Send bug reports to bug-texinfo@gnu.org.
-% Please include a precise test case in each bug report,
-% including a complete document with which we can reproduce the problem.
-%
-% To process a Texinfo manual with TeX, it's most reliable to use the
-% texi2dvi shell script that comes with the distribution. For simple
-% manuals, however, you can get away with:
-% tex foo.texi
-% texindex foo.??
-% tex foo.texi
-% tex foo.texi
-% dvips foo.dvi -o # or whatever, to process the dvi file.
-% The extra runs of TeX get the cross-reference information correct.
-% Sometimes one run after texindex suffices, and sometimes you need more
-% than two; texi2dvi does it as many times as necessary.
-
-\message{Loading texinfo [version \texinfoversion]:}
+
+% This automatically updates the version number based on RCS.
+\def\deftexinfoversion$#1: #2 ${\def\texinfoversion{#2}}
+\deftexinfoversion$Revision: 2.218 $
+\message{Loading texinfo package [Version \texinfoversion]:}
% If in a .fmt file, print the version number
% and turn on active characters that we couldn't do earlier because
% they might have appeared in the input file name.
-\everyjob{\message{[Texinfo version \texinfoversion]}%
+\everyjob{\message{[Texinfo version \texinfoversion]}\message{}
\catcode`+=\active \catcode`\_=\active}
% Save some parts of plain tex whose names we will redefine.
@@ -71,17 +54,24 @@
\let\ptexdot=\.
\let\ptexdots=\dots
\let\ptexend=\end
-\let\ptexequiv=\equiv
-\let\ptexexclam=\!
+\let\ptexequiv = \equiv
\let\ptexi=\i
\let\ptexlbrace=\{
\let\ptexrbrace=\}
\let\ptexstar=\*
\let\ptext=\t
-% We never want plain's outer \+ definition in Texinfo.
-% For @tex, we can use \tabalign.
-\let\+ = \relax
+% Be sure we're in horizontal mode when doing a tie, since we make space
+% equivalent to this in @example-like environments. Otherwise, a space
+% at the beginning of a line will start with \penalty -- and
+% since \penalty is valid in vertical mode, we'd end up putting the
+% penalty on the vertical list instead of in the new paragraph.
+{\catcode`@ = 11
+ % Avoid using \@M directly, because that causes trouble
+ % if the definition is written into an index file.
+ \global\let\tiepenalty = \@M
+ \gdef\tie{\leavevmode\penalty\tiepenalty\ }
+}
\message{Basics,}
@@ -91,20 +81,18 @@
% starts a new line in the output.
\newlinechar = `^^J
-% Set up fixed words for English if not already set.
-\ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi
-\ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi
-\ifx\putwordfile\undefined \gdef\putwordfile{file}\fi
-\ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi
-\ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi
-\ifx\putwordon\undefined \gdef\putwordon{on}\fi
-\ifx\putwordpage\undefined \gdef\putwordpage{page}\fi
-\ifx\putwordsection\undefined \gdef\putwordsection{section}\fi
-\ifx\putwordSection\undefined \gdef\putwordSection{Section}\fi
-\ifx\putwordsee\undefined \gdef\putwordsee{see}\fi
-\ifx\putwordSee\undefined \gdef\putwordSee{See}\fi
-\ifx\putwordShortContents\undefined \gdef\putwordShortContents{Short Contents}\fi
-\ifx\putwordTableofContents\undefined\gdef\putwordTableofContents{Table of Contents}\fi
+% Set up fixed words for English.
+\ifx\putwordChapter\undefined{\gdef\putwordChapter{Chapter}}\fi%
+\def\putwordInfo{Info}%
+\ifx\putwordSee\undefined{\gdef\putwordSee{See}}\fi%
+\ifx\putwordsee\undefined{\gdef\putwordsee{see}}\fi%
+\ifx\putwordfile\undefined{\gdef\putwordfile{file}}\fi%
+\ifx\putwordpage\undefined{\gdef\putwordpage{page}}\fi%
+\ifx\putwordsection\undefined{\gdef\putwordsection{section}}\fi%
+\ifx\putwordSection\undefined{\gdef\putwordSection{Section}}\fi%
+\ifx\putwordTableofContents\undefined{\gdef\putwordTableofContents{Table of Contents}}\fi%
+\ifx\putwordShortContents\undefined{\gdef\putwordShortContents{Short Contents}}\fi%
+\ifx\putwordAppendix\undefined{\gdef\putwordAppendix{Appendix}}\fi%
% Ignore a token.
%
@@ -125,21 +113,11 @@
% since that produces some useless output on the terminal.
%
\def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}%
-\ifx\eTeXversion\undefined
\def\loggingall{\tracingcommands2 \tracingstats2
\tracingpages1 \tracingoutput1 \tracinglostchars1
\tracingmacros2 \tracingparagraphs1 \tracingrestores1
\showboxbreadth\maxdimen\showboxdepth\maxdimen
}%
-\else
-\def\loggingall{\tracingcommands3 \tracingstats2
- \tracingpages1 \tracingoutput1 \tracinglostchars1
- \tracingmacros2 \tracingparagraphs1 \tracingrestores1
- \tracingscantokens1 \tracingassigns1 \tracingifs1
- \tracinggroups1 \tracingnesting2
- \showboxbreadth\maxdimen\showboxdepth\maxdimen
-}%
-\fi
% For @cropmarks command.
% Do @cropmarks to get crop marks.
@@ -150,10 +128,15 @@
% Dimensions to add cropmarks at corners.
% Added by P. A. MacKay, 12 Nov. 1986
%
-\newdimen\outerhsize \newdimen\outervsize % set by the paper size routines
-\newdimen\cornerlong \cornerlong=1pc
-\newdimen\cornerthick \cornerthick=.3pt
-\newdimen\topandbottommargin \topandbottommargin=.75in
+\newdimen\cornerlong \newdimen\cornerthick
+\newdimen\topandbottommargin
+\newdimen\outerhsize \newdimen\outervsize
+\cornerlong=1pc\cornerthick=.3pt % These set size of cropmarks
+\outerhsize=7in
+%\outervsize=9.5in
+% Alternative @smallbook page size is 9.25in
+\outervsize=9.25in
+\topandbottommargin=.75in
% Main output routine.
\chardef\PAGE = 255
@@ -187,16 +170,13 @@
\shipout\vbox{%
\ifcropmarks \vbox to \outervsize\bgroup
\hsize = \outerhsize
- \vskip-\topandbottommargin
- \vtop to0pt{%
- \line{\ewtop\hfil\ewtop}%
- \nointerlineskip
- \line{%
- \vbox{\moveleft\cornerthick\nstop}%
- \hfill
- \vbox{\moveright\cornerthick\nstop}%
- }%
- \vss}%
+ \line{\ewtop\hfil\ewtop}%
+ \nointerlineskip
+ \line{%
+ \vbox{\moveleft\cornerthick\nstop}%
+ \hfill
+ \vbox{\moveright\cornerthick\nstop}%
+ }%
\vskip\topandbottommargin
\line\bgroup
\hfil % center the page within the outer (page) hsize.
@@ -219,15 +199,13 @@
\hfil\egroup % end of (centering) \line\bgroup
\vskip\topandbottommargin plus1fill minus1fill
\boxmaxdepth = \cornerthick
- \vbox to0pt{\vss
- \line{%
- \vbox{\moveleft\cornerthick\nsbot}%
- \hfill
- \vbox{\moveright\cornerthick\nsbot}%
- }%
- \nointerlineskip
- \line{\ewbot\hfil\ewbot}%
+ \line{%
+ \vbox{\moveleft\cornerthick\nsbot}%
+ \hfill
+ \vbox{\moveright\cornerthick\nsbot}%
}%
+ \nointerlineskip
+ \line{\ewbot\hfil\ewbot}%
\egroup % \vbox from first cropmarks clause
\fi
}% end of \shipout\vbox
@@ -343,11 +321,11 @@
%% Call \inENV within environments (after a \begingroup)
\newif\ifENV \ENVfalse \def\inENV{\ifENV\relax\else\ENVtrue\fi}
\def\ENVcheck{%
-\ifENV\errmessage{Still within an environment; press RETURN to continue}
+\ifENV\errmessage{Still within an environment. Type Return to continue.}
\endgroup\fi} % This is not perfect, but it should reduce lossage
% @begin foo is the same as @foo, for now.
-\newhelp\EMsimple{Press RETURN to continue.}
+\newhelp\EMsimple{Type <Return> to continue.}
\outer\def\begin{\parsearg\beginxxx}
@@ -406,7 +384,7 @@
% @@ prints an @
% Kludge this until the fonts are right (grr).
-\def\@{{\tt\char64}}
+\def\@{{\tt \char '100}}
% This is turned off because it was never documented
% and you can use @w{...} around a quote to suppress ligatures.
@@ -416,8 +394,8 @@
%\def\'{{'}}
% Used to generate quoted braces.
-\def\mylbrace {{\tt\char123}}
-\def\myrbrace {{\tt\char125}}
+\def\mylbrace {{\tt \char '173}}
+\def\myrbrace {{\tt \char '175}}
\let\{=\mylbrace
\let\}=\myrbrace
\begingroup
@@ -454,18 +432,6 @@
\fi\fi
}
-% Be sure we're in horizontal mode when doing a tie, since we make space
-% equivalent to this in @example-like environments. Otherwise, a space
-% at the beginning of a line will start with \penalty -- and
-% since \penalty is valid in vertical mode, we'd end up putting the
-% penalty on the vertical list instead of in the new paragraph.
-{\catcode`@ = 11
- % Avoid using \@M directly, because that causes trouble
- % if the definition is written into an index file.
- \global\let\tiepenalty = \@M
- \gdef\tie{\leavevmode\penalty\tiepenalty\ }
-}
-
% @: forces normal size whitespace following.
\def\:{\spacefactor=1000 }
@@ -475,11 +441,14 @@
% @. is an end-of-sentence period.
\def\.{.\spacefactor=3000 }
+% @enddots{} is an end-of-sentence ellipsis.
+\gdef\enddots{$\mathinner{\ldotp\ldotp\ldotp\ldotp}$\spacefactor=3000}
+
% @! is an end-of-sentence bang.
-\def\!{!\spacefactor=3000 }
+\gdef\!{!\spacefactor=3000 }
% @? is an end-of-sentence query.
-\def\?{?\spacefactor=3000 }
+\gdef\?{?\spacefactor=3000 }
% @w prevents a word break. Without the \leavevmode, @w at the
% beginning of a paragraph, when TeX is still in vertical mode, would
@@ -563,7 +532,7 @@ where each line of input produces a line of output.}
%% This method tries to make TeX break the page naturally
%% if the depth of the box does not fit.
%{\baselineskip=0pt%
-%\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak
+%\vtop to #1\mil{\vfil}\kern -#1\mil\penalty 10000
%\prevdepth=-1000pt
%}}
@@ -604,34 +573,12 @@ where each line of input produces a line of output.}
\let\br = \par
-% @dots{} output an ellipsis using the current font.
-% We do .5em per period so that it has the same spacing in a typewriter
-% font as three actual period characters.
-%
-\def\dots{%
- \leavevmode
- \hbox to 1.5em{%
- \hskip 0pt plus 0.25fil minus 0.25fil
- .\hss.\hss.%
- \hskip 0pt plus 0.5fil minus 0.5fil
- }%
-}
-
-% @enddots{} is an end-of-sentence ellipsis.
-%
-\def\enddots{%
- \leavevmode
- \hbox to 2em{%
- \hskip 0pt plus 0.25fil minus 0.25fil
- .\hss.\hss.\hss.%
- \hskip 0pt plus 0.5fil minus 0.5fil
- }%
- \spacefactor=3000
-}
+% @dots{} output some dots
+\def\dots{$\ldots$}
% @page forces the start of a new page
-%
+
\def\page{\par\vfill\supereject}
% @exdent text....
@@ -698,10 +645,10 @@ where each line of input produces a line of output.}
% @c is the same as @comment
% @ignore ... @end ignore is another way to write a comment
-\def\comment{\begingroup \catcode`\^^M=\other%
-\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other%
-\commentxxx}
-{\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}}
+\def\comment{\catcode 64=\other \catcode 123=\other \catcode 125=\other%
+\parsearg \commentxxx}
+
+\def\commentxxx #1{\catcode 64=0 \catcode 123=1 \catcode 125=2 }
\let\c=\comment
@@ -798,6 +745,12 @@ where each line of input produces a line of output.}
\def\menu{\doignore{menu}}
\def\direntry{\doignore{direntry}}
+% Also ignore @macro ... @end macro. The user must run texi2dvi,
+% which runs makeinfo to do macro expansion. Ignore @unmacro, too.
+\def\macro{\doignore{macro}}
+\let\unmacro = \comment
+
+
% @dircategory CATEGORY -- specify a category of the dir file
% which this file should belong to. Ignore this in TeX.
\let\dircategory = \comment
@@ -809,9 +762,7 @@ where each line of input produces a line of output.}
\ignoresections
%
% Define a command to swallow text until we reach `@end #1'.
- % This @ is a catcode 12 token (that is the normal catcode of @ in
- % this texinfo.tex file). We change the catcode of @ below to match.
- \long\def\doignoretext##1@end #1{\enddoignore}%
+ \long\def\doignoretext##1\end #1{\enddoignore}%
%
% Make sure that spaces turn into tokens that match what \doignoretext wants.
\catcode32 = 10
@@ -820,16 +771,6 @@ where each line of input produces a line of output.}
\catcode`\{ = 9
\catcode`\} = 9
%
- % We must not have @c interpreted as a control sequence.
- \catcode`\@ = 12
- %
- % Make the letter c a comment character so that the rest of the line
- % will be ignored. This way, the document can have (for example)
- % @c @end ifinfo
- % and the @end ifinfo will be properly ignored.
- % (We've just changed @ to catcode 12.)
- \catcode`\c = 14
- %
% And now expand that command.
\doignoretext
}
@@ -849,7 +790,7 @@ where each line of input produces a line of output.}
\immediate\write16{If you are running another version of TeX, relax.}
\immediate\write16{If you are running Unix TeX 3.0, kill this TeX process.}
\immediate\write16{ Then upgrade your TeX installation if you can.}
- \immediate\write16{ (See ftp://ftp.gnu.org/pub/gnu/TeX.README.)}
+ \immediate\write16{ (See ftp://ftp.gnu.ai.mit.edu/pub/gnu/TeX.README.)}
\immediate\write16{If you are stuck with version 3.0, run the}
\immediate\write16{ script ``tex3patch'' from the Texinfo distribution}
\immediate\write16{ to use a workaround.}
@@ -922,9 +863,6 @@ where each line of input produces a line of output.}
%
% Do not execute instructions in @tex
\def\tex{\doignore{tex}}%
- % Do not execute macro definitions.
- % `c' is a comment character, so the word `macro' will get cut off.
- \def\macro{\doignore{ma}}%
}
% @set VAR sets the variable VAR to an empty value.
@@ -959,35 +897,16 @@ where each line of input produces a line of output.}
% @value{foo} gets the text saved in variable foo.
%
-{
- \catcode`\_ = \active
- %
- % We might end up with active _ or - characters in the argument if
- % we're called from @code, as @code{@value{foo-bar_}}. So \let any
- % such active characters to their normal equivalents.
- \gdef\value{\begingroup
- \catcode`\-=12 \catcode`\_=12
- \indexbreaks \let_\normalunderscore
- \valuexxx}
-}
-\def\valuexxx#1{\expandablevalue{#1}\endgroup}
-
-% We have this subroutine so that we can handle at least some @value's
-% properly in indexes (we \let\value to this in \indexdummies). Ones
-% whose names contain - or _ still won't work, but we can't do anything
-% about that. The command has to be fully expandable, since the result
-% winds up in the index file. This means that if the variable's value
-% contains other Texinfo commands, it's almost certain it will fail
-% (although perhaps we could fix that with sufficient work to do a
-% one-level expansion on the result, instead of complete).
-%
-\def\expandablevalue#1{%
+\def\value{\begingroup
+ \catcode`\-=12 \catcode`\_=12 % Allow - and _ in VAR.
+ \valuexxx}
+\def\valuexxx#1{%
\expandafter\ifx\csname SET#1\endcsname\relax
- {[No value for ``#1'']}%
+ {\{No value for ``#1''\}}%
\else
\csname SET#1\endcsname
\fi
-}
+\endgroup}
% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined
% with @set.
@@ -1074,23 +993,33 @@ where each line of input produces a line of output.}
\def\bullet{\implicitmath\ptexbullet\implicitmath}
\def\minus{\implicitmath-\implicitmath}
+\def\node{\ENVcheck\parsearg\nodezzz}
+\def\nodezzz#1{\nodexxx [#1,]}
+\def\nodexxx[#1,#2]{\gdef\lastnode{#1}}
+\let\nwnode=\node
+\let\lastnode=\relax
+
+\def\donoderef{\ifx\lastnode\relax\else
+\expandafter\expandafter\expandafter\setref{\lastnode}\fi
+\global\let\lastnode=\relax}
+
+\def\unnumbnoderef{\ifx\lastnode\relax\else
+\expandafter\expandafter\expandafter\unnumbsetref{\lastnode}\fi
+\global\let\lastnode=\relax}
+
+\def\appendixnoderef{\ifx\lastnode\relax\else
+\expandafter\expandafter\expandafter\appendixsetref{\lastnode}\fi
+\global\let\lastnode=\relax}
+
% @refill is a no-op.
\let\refill=\relax
-% If working on a large document in chapters, it is convenient to
-% be able to disable indexing, cross-referencing, and contents, for test runs.
-% This is done with @novalidate (before @setfilename).
-%
-\newif\iflinks \linkstrue % by default we want the aux files.
-\let\novalidate = \linksfalse
-
% @setfilename is done at the beginning of every texinfo file.
% So open here the files we need to have open while reading the input.
% This makes it possible to make a .fmt file for texinfo.
\def\setfilename{%
- \iflinks
- \readauxfile
- \fi % \openindices needs to do some work in any case.
+ \readauxfile
+ \opencontents
\openindices
\fixbackslash % Turn off hack to swallow `\input texinfo'.
\global\let\setfilename=\comment % Ignore extra @setfilename cmds.
@@ -1106,25 +1035,30 @@ where each line of input produces a line of output.}
\comment % Ignore the actual filename.
}
-% Called from \setfilename.
-%
-\def\openindices{%
- \newindex{cp}%
- \newcodeindex{fn}%
- \newcodeindex{vr}%
- \newcodeindex{tp}%
- \newcodeindex{ky}%
- \newcodeindex{pg}%
-}
-
% @bye.
\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}
+% \def\macro#1{\begingroup\ignoresections\catcode`\#=6\def\macrotemp{#1}\parsearg\macroxxx}
+% \def\macroxxx#1#2 \end macro{%
+% \expandafter\gdef\macrotemp#1{#2}%
+% \endgroup}
+
+%\def\linemacro#1{\begingroup\ignoresections\catcode`\#=6\def\macrotemp{#1}\parsearg\linemacroxxx}
+%\def\linemacroxxx#1#2 \end linemacro{%
+%\let\parsearg=\relax
+%\edef\macrotempx{\csname M\butfirst\expandafter\string\macrotemp\endcsname}%
+%\expandafter\xdef\macrotemp{\parsearg\macrotempx}%
+%\expandafter\gdef\macrotempx#1{#2}%
+%\endgroup}
+
+%\def\butfirst#1{}
+
\message{fonts,}
+
% Font-change commands.
-% Texinfo sort of supports the sans serif font style, which plain TeX does not.
+% Texinfo supports the sans serif font style, which plain TeX does not.
% So we set up a \sf analogous to plain's \rm, etc.
\newfam\sffam
\def\sf{\fam=\sffam \tensf}
@@ -1196,12 +1130,11 @@ where each line of input produces a line of output.}
% Do not make many font distinctions in general in the index, since they
% aren't very useful.
\setfont\ninett\ttshape{9}{1000}
-\setfont\ninettsl\ttslshape{10}{900}
\setfont\indrm\rmshape{9}{1000}
-\setfont\indit\itshape{9}{1000}
-\setfont\indsl\slshape{9}{1000}
+\setfont\indit\slshape{9}{1000}
+\let\indsl=\indit
\let\indtt=\ninett
-\let\indttsl=\ninettsl
+\let\indttsl=\ninett
\let\indsf=\indrm
\let\indbf=\indrm
\setfont\indsc\scshape{10}{900}
@@ -1303,7 +1236,7 @@ where each line of input produces a line of output.}
\let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy
\let\tenttsl=\titlettsl
\resetmathfonts \setleading{25pt}}
-\def\titlefont#1{{\titlefonts\rm #1}}
+\def\titlefont#1{{\titlefonts #1}}
\def\chapfonts{%
\let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
\let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
@@ -1330,10 +1263,6 @@ where each line of input produces a line of output.}
%
\textfonts
-% Define these so they can be easily changed for other fonts.
-\def\angleleft{$\langle$}
-\def\angleright{$\rangle$}
-
% Count depth in font-changes, for error checks
\newcount\fontdepth \fontdepth=0
@@ -1348,14 +1277,13 @@ where each line of input produces a line of output.}
% \smartitalic{ARG} outputs arg in italics, followed by an italic correction
% unless the following character is such as not to need one.
\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else\/\fi\fi\fi}
-\def\smartslanted#1{{\sl #1}\futurelet\next\smartitalicx}
-\def\smartitalic#1{{\it #1}\futurelet\next\smartitalicx}
+\def\smartitalic#1{{\sl #1}\futurelet\next\smartitalicx}
\let\i=\smartitalic
-\let\var=\smartslanted
-\let\dfn=\smartslanted
+\let\var=\smartitalic
+\let\dfn=\smartitalic
\let\emph=\smartitalic
-\let\cite=\smartslanted
+\let\cite=\smartitalic
\def\b#1{{\bf #1}}
\let\strong=\b
@@ -1372,22 +1300,20 @@ where each line of input produces a line of output.}
\null
}
\let\ttfont=\t
-\def\samp#1{`\tclose{#1}'\null}
+\def\samp #1{`\tclose{#1}'\null}
\setfont\smallrm\rmshape{8}{1000}
\font\smallsy=cmsy9
\def\key#1{{\smallrm\textfont2=\smallsy \leavevmode\hbox{%
- \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
+ \raise0.4pt\hbox{$\langle$}\kern-.08em\vtop{%
\vbox{\hrule\kern-0.4pt
- \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
+ \hbox{\raise0.4pt\hbox{\vphantom{$\langle$}}#1}}%
\kern-0.4pt\hrule}%
- \kern-.06em\raise0.4pt\hbox{\angleright}}}}
+ \kern-.06em\raise0.4pt\hbox{$\rangle$}}}}
% The old definition, with no lozenge:
%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null}
\def\ctrl #1{{\tt \rawbackslash \hat}#1}
-% @file, @option are the same as @samp.
\let\file=\samp
-\let\option=\samp
% @code is a modification of @t,
% which makes spaces the same size as normal in the surrounding text.
@@ -1422,18 +1348,20 @@ where each line of input produces a line of output.}
% and arrange explicitly to hyphenate at a dash.
% -- rms.
{
- \catcode`\-=\active
- \catcode`\_=\active
- %
- \global\def\code{\begingroup
- \catcode`\-=\active \let-\codedash
- \catcode`\_=\active \let_\codeunder
- \codex
- }
- %
- % If we end up with any active - characters when handling the index,
- % just treat them as a normal -.
- \global\def\indexbreaks{\catcode`\-=\active \let-\realdash}
+\catcode`\-=\active
+\catcode`\_=\active
+\catcode`\|=\active
+\global\def\code{\begingroup \catcode`\-=\active \let-\codedash \catcode`\_=\active \let_\codeunder \codex}
+% The following is used by \doprintindex to insure that long function names
+% wrap around. It is necessary for - and _ to be active before the index is
+% read from the file, as \entry parses the arguments long before \code is
+% ever called. -- mycroft
+% _ is always active; and it shouldn't be \let = to an _ that is a
+% subscript character anyway. Then, @cindex @samp{_} (for example)
+% fails. --karl
+\global\def\indexbreaks{%
+ \catcode`\-=\active \let-\realdash
+}
}
\def\realdash{-}
@@ -1474,10 +1402,8 @@ where each line of input produces a line of output.}
\else{\tclose{\kbdfont\look}}\fi
\else{\tclose{\kbdfont\look}}\fi}
-% For @url, @env, @command quotes seem unnecessary, so use \code.
+% @url. Quotes do not seem necessary, so use \code.
\let\url=\code
-\let\env=\code
-\let\command=\code
% @uref (abbreviation for `urlref') takes an optional second argument
% specifying the text to display. First (mandatory) arg is the url.
@@ -1495,7 +1421,7 @@ where each line of input produces a line of output.}
% rms does not like the angle brackets --karl, 17may97.
% So now @email is just like @uref.
-%\def\email#1{\angleleft{\tt #1}\angleright}
+%\def\email#1{$\langle${\tt #1}$\rangle$}
\let\email=\uref
% Check if we are currently using a typewriter font. Since all the
@@ -1506,7 +1432,8 @@ where each line of input produces a line of output.}
\def\ifmonospace{\ifdim\fontdimen3\font=0pt }
% Typeset a dimension, e.g., `in' or `pt'. The only reason for the
-% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt.
+% argument is to make the input look right: @dmn{pt} instead of
+% @dmn{}pt.
%
\def\dmn#1{\thinspace #1}
@@ -1517,14 +1444,11 @@ where each line of input produces a line of output.}
% Polish suppressed-l. --karl, 22sep96.
%\def\l#1{{\li #1}\null}
-% Explicit font changes: @r, @sc, undocumented @ii.
\def\r#1{{\rm #1}} % roman font
+% Use of \lowercase was suggested.
\def\sc#1{{\smallcaps#1}} % smallcaps font
\def\ii#1{{\it #1}} % italic font
-% @acronym downcases the argument and prints in smallcaps.
-\def\acronym#1{{\smallcaps \lowercase{#1}}}
-
% @pounds{} is a sterling sign.
\def\pounds{{\it\$}}
@@ -1538,20 +1462,15 @@ where each line of input produces a line of output.}
\newif\ifseenauthor
\newif\iffinishedtitlepage
-% Do an implicit @contents or @shortcontents after @end titlepage if the
-% user says @contentsaftertitlepage or @shortcontentsaftertitlepage.
-%
-\newif\ifsetcontentsaftertitlepage
- \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue
-\newif\ifsetshortcontentsaftertitlepage
- \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue
-
\def\shorttitlepage{\parsearg\shorttitlepagezzz}
\def\shorttitlepagezzz #1{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}%
\endgroup\page\hbox{}\page}
\def\titlepage{\begingroup \parindent=0pt \textfonts
\let\subtitlerm=\tenrm
+% I deinstalled the following change because \cmr12 is undefined.
+% This change was not in the ChangeLog anyway. --rms.
+% \let\subtitlerm=\cmr12
\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}%
%
\def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines}%
@@ -1600,21 +1519,6 @@ where each line of input produces a line of output.}
% after the title page, which we certainly don't want.
\oldpage
\endgroup
- %
- % If they want short, they certainly want long too.
- \ifsetshortcontentsaftertitlepage
- \shortcontents
- \contents
- \global\let\shortcontents = \relax
- \global\let\contents = \relax
- \fi
- %
- \ifsetcontentsaftertitlepage
- \contents
- \global\let\contents = \relax
- \global\let\shortcontents = \relax
- \fi
- %
\HEADINGSon
}
@@ -1628,10 +1532,10 @@ where each line of input produces a line of output.}
\let\thispage=\folio
-\newtoks\evenheadline % headline on even pages
-\newtoks\oddheadline % headline on odd pages
-\newtoks\evenfootline % footline on even pages
-\newtoks\oddfootline % footline on odd pages
+\newtoks \evenheadline % Token sequence for heading line of even pages
+\newtoks \oddheadline % Token sequence for heading line of odd pages
+\newtoks \evenfootline % Token sequence for footing line of even pages
+\newtoks \oddfootline % Token sequence for footing line of odd pages
% Now make Tex use those variables
\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline
@@ -1770,6 +1674,18 @@ July\or August\or September\or October\or November\or December\fi
\message{tables,}
+
+% @tabs -- simple alignment
+
+% These don't work. For one thing, \+ is defined as outer.
+% So these macros cannot even be defined.
+
+%\def\tabs{\parsearg\tabszzz}
+%\def\tabszzz #1{\settabs\+#1\cr}
+%\def\tabline{\parsearg\tablinezzz}
+%\def\tablinezzz #1{\+#1\cr}
+%\def\&{&}
+
% Tables -- @table, @ftable, @vtable, @item(x), @kitem(x), @xitem(x).
% default indentation of table text
@@ -1813,6 +1729,11 @@ July\or August\or September\or October\or November\or December\fi
\itemindex{#1}%
\nobreak % This prevents a break before @itemx.
%
+ % Be sure we are not still in the middle of a paragraph.
+ %{\parskip = 0in
+ %\par
+ %}%
+ %
% If the item text does not fit in the space we have, put it on a line
% by itself, and do not allow a page break either before or after that
% line. We do not start a paragraph here because then if the next
@@ -1841,17 +1762,13 @@ July\or August\or September\or October\or November\or December\fi
\itemxneedsnegativevskipfalse
\else
% The item text fits into the space. Start a paragraph, so that the
- % following text (if any) will end up on the same line.
+ % following text (if any) will end up on the same line. Since that
+ % text will be indented by \tableindent, we make the item text be in
+ % a zero-width box.
\noindent
- % Do this with kerns and \unhbox so that if there is a footnote in
- % the item text, it can migrate to the main vertical list and
- % eventually be printed.
- \nobreak\kern-\tableindent
- \dimen0 = \itemmax \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0
- \unhbox0
- \nobreak\kern\dimen0
- \endgroup
- \itemxneedsnegativevskiptrue
+ \rlap{\hskip -\tableindent\box0}\ignorespaces%
+ \endgroup%
+ \itemxneedsnegativevskiptrue%
\fi
}
@@ -1862,10 +1779,9 @@ July\or August\or September\or October\or November\or December\fi
\def\xitem{\errmessage{@xitem while not in a table}}
\def\xitemx{\errmessage{@xitemx while not in a table}}
-% Contains a kludge to get @end[description] to work.
+%% Contains a kludge to get @end[description] to work
\def\description{\tablez{\dontindex}{1}{}{}{}{}}
-% @table, @ftable, @vtable.
\def\table{\begingroup\inENV\obeylines\obeyspaces\tablex}
{\obeylines\obeyspaces%
\gdef\tablex #1^^M{%
@@ -1925,7 +1841,7 @@ July\or August\or September\or October\or November\or December\fi
\def\itemize{\parsearg\itemizezzz}
\def\itemizezzz #1{%
- \begingroup % ended by the @end itemize
+ \begingroup % ended by the @end itemsize
\itemizey {#1}{\Eitemize}
}
@@ -2127,7 +2043,10 @@ July\or August\or September\or October\or November\or December\fi
% @multitablelinespace is space to leave between table items, baseline
% to baseline.
% 0pt means it depends on current normal line spacing.
-%
+
+%%%%
+% Dimensions
+
\newskip\multitableparskip
\newskip\multitableparindent
\newdimen\multitablecolspace
@@ -2137,15 +2056,15 @@ July\or August\or September\or October\or November\or December\fi
\multitablecolspace=12pt
\multitablelinespace=0pt
+%%%%
% Macros used to set up halign preamble:
-%
\let\endsetuptable\relax
\def\xendsetuptable{\endsetuptable}
\let\columnfractions\relax
\def\xcolumnfractions{\columnfractions}
\newif\ifsetpercent
-% 2/1/96, to allow fractions to be given with more than one digit.
+%% 2/1/96, to allow fractions to be given with more than one digit.
\def\pickupwholefraction#1 {\global\advance\colcount by1 %
\expandafter\xdef\csname col\the\colcount\endcsname{.#1\hsize}%
\setuptable}
@@ -2171,84 +2090,80 @@ July\or August\or September\or October\or November\or December\fi
\ifx\go\pickupwholefraction\else\let\go\setuptable\fi%
\fi\go}
+%%%%
% multitable syntax
\def\tab{&\hskip1sp\relax} % 2/2/96
% tiny skip here makes sure this column space is
% maintained, even if it is never used.
+
+%%%%
% @multitable ... @end multitable definitions:
\def\multitable{\parsearg\dotable}
+
\def\dotable#1{\bgroup
- \vskip\parskip
- \let\item\crcr
- \tolerance=9500
- \hbadness=9500
- \setmultitablespacing
- \parskip=\multitableparskip
- \parindent=\multitableparindent
- \overfullrule=0pt
- \global\colcount=0
- \def\Emultitable{\global\setpercentfalse\cr\egroup\egroup}%
- %
- % To parse everything between @multitable and @item:
- \setuptable#1 \endsetuptable
- %
- % \everycr will reset column counter, \colcount, at the end of
- % each line. Every column entry will cause \colcount to advance by one.
- % The table preamble
- % looks at the current \colcount to find the correct column width.
- \everycr{\noalign{%
- %
- % \filbreak%% keeps underfull box messages off when table breaks over pages.
- % Maybe so, but it also creates really weird page breaks when the table
- % breaks over pages. Wouldn't \vfil be better? Wait until the problem
- % manifests itself, so it can be fixed for real --karl.
- \global\colcount=0\relax}}%
- %
- % This preamble sets up a generic column definition, which will
- % be used as many times as user calls for columns.
- % \vtop will set a single line and will also let text wrap and
- % continue for many paragraphs if desired.
- \halign\bgroup&\global\advance\colcount by 1\relax
- \multistrut\vtop{\hsize=\expandafter\csname col\the\colcount\endcsname
- %
- % In order to keep entries from bumping into each other
- % we will add a \leftskip of \multitablecolspace to all columns after
- % the first one.
- %
- % If a template has been used, we will add \multitablecolspace
- % to the width of each template entry.
- %
- % If the user has set preamble in terms of percent of \hsize we will
- % use that dimension as the width of the column, and the \leftskip
- % will keep entries from bumping into each other. Table will start at
- % left margin and final column will justify at right margin.
- %
- % Make sure we don't inherit \rightskip from the outer environment.
- \rightskip=0pt
- \ifnum\colcount=1
- % The first column will be indented with the surrounding text.
- \advance\hsize by\leftskip
+\let\item\cr
+\tolerance=9500
+\hbadness=9500
+\setmultitablespacing
+\parskip=\multitableparskip
+\parindent=\multitableparindent
+\overfullrule=0pt
+\global\colcount=0\relax%
+\def\Emultitable{\global\setpercentfalse\global\everycr{}\cr\egroup\egroup}%
+ % To parse everything between @multitable and @item :
+\setuptable#1 \endsetuptable
+ % Need to reset this to 0 after \setuptable.
+\global\colcount=0\relax%
+ %
+ % This preamble sets up a generic column definition, which will
+ % be used as many times as user calls for columns.
+ % \vtop will set a single line and will also let text wrap and
+ % continue for many paragraphs if desired.
+\halign\bgroup&\global\advance\colcount by 1\relax%
+\multistrut\vtop{\hsize=\expandafter\csname col\the\colcount\endcsname
+ % In order to keep entries from bumping into each other
+ % we will add a \leftskip of \multitablecolspace to all columns after
+ % the first one.
+ % If a template has been used, we will add \multitablecolspace
+ % to the width of each template entry.
+ % If user has set preamble in terms of percent of \hsize
+ % we will use that dimension as the width of the column, and
+ % the \leftskip will keep entries from bumping into each other.
+ % Table will start at left margin and final column will justify at
+ % right margin.
+\ifnum\colcount=1
+\else
+ \ifsetpercent
\else
- \ifsetpercent \else
- % If user has not set preamble in terms of percent of \hsize
- % we will advance \hsize by \multitablecolspace.
- \advance\hsize by \multitablecolspace
- \fi
- % In either case we will make \leftskip=\multitablecolspace:
- \leftskip=\multitablecolspace
+ % If user has <not> set preamble in terms of percent of \hsize
+ % we will advance \hsize by \multitablecolspace
+ \advance\hsize by \multitablecolspace
\fi
- % Ignoring space at the beginning and end avoids an occasional spurious
- % blank line, when TeX decides to break the line at the space before the
- % box from the multistrut, so the strut ends up on a line by itself.
- % For example:
- % @multitable @columnfractions .11 .89
- % @item @code{#}
- % @tab Legal holiday which is valid in major parts of the whole country.
- % Is automatically provided with highlighting sequences respectively marking
- % characters.
- \noindent\ignorespaces##\unskip\multistrut}\cr
+ % In either case we will make \leftskip=\multitablecolspace:
+\leftskip=\multitablecolspace
+\fi
+ % Ignoring space at the beginning and end avoids an occasional spurious
+ % blank line, when TeX decides to break the line at the space before the
+ % box from the multistrut, so the strut ends up on a line by itself.
+ % For example:
+ % @multitable @columnfractions .11 .89
+ % @item @code{#}
+ % @tab Legal holiday which is valid in major parts of the whole country.
+ % Is automatically provided with highlighting sequences respectively marking
+ % characters.
+ \noindent\ignorespaces##\unskip\multistrut}\cr
+ % \everycr will reset column counter, \colcount, at the end of
+ % each line. Every column entry will cause \colcount to advance by one.
+ % The table preamble
+ % looks at the current \colcount to find the correct column width.
+\global\everycr{\noalign{%
+% \filbreak%% keeps underfull box messages off when table breaks over pages.
+% Maybe so, but it also creates really weird page breaks when the table
+% breaks over pages Wouldn't \vfil be better? Wait until the problem
+% manifests itself, so it can be fixed for real --karl.
+\global\colcount=0\relax}}
}
\def\setmultitablespacing{% test to see if user has set \multitablelinespace.
@@ -2291,14 +2206,12 @@ width0pt\relax} \fi
% the file that accumulates this index. The file's extension is foo.
% The name of an index should be no more than 2 characters long
% for the sake of vms.
-%
-\def\newindex#1{%
- \iflinks
- \expandafter\newwrite \csname#1indfile\endcsname
- \openout \csname#1indfile\endcsname \jobname.#1 % Open the file
- \fi
- \expandafter\xdef\csname#1index\endcsname{% % Define @#1index
- \noexpand\doindex{#1}}
+
+\def\newindex #1{
+\expandafter\newwrite \csname#1indfile\endcsname% Define number for output file
+\openout \csname#1indfile\endcsname \jobname.#1 % Open the file
+\expandafter\xdef\csname#1index\endcsname{% % Define \xxxindex
+\noexpand\doindex {#1}}
}
% @defindex foo == \newindex{foo}
@@ -2307,37 +2220,31 @@ width0pt\relax} \fi
% Define @defcodeindex, like @defindex except put all entries in @code.
-\def\newcodeindex#1{%
- \iflinks
- \expandafter\newwrite \csname#1indfile\endcsname
- \openout \csname#1indfile\endcsname \jobname.#1
- \fi
- \expandafter\xdef\csname#1index\endcsname{%
- \noexpand\docodeindex{#1}}
+\def\newcodeindex #1{
+\expandafter\newwrite \csname#1indfile\endcsname% Define number for output file
+\openout \csname#1indfile\endcsname \jobname.#1 % Open the file
+\expandafter\xdef\csname#1index\endcsname{% % Define \xxxindex
+\noexpand\docodeindex {#1}}
}
\def\defcodeindex{\parsearg\newcodeindex}
% @synindex foo bar makes index foo feed into index bar.
% Do this instead of @defindex foo if you don't want it as a separate index.
-% The \closeout helps reduce unnecessary open files; the limit on the
-% Acorn RISC OS is a mere 16 files.
-\def\synindex#1 #2 {%
- \expandafter\let\expandafter\synindexfoo\expandafter=\csname#2indfile\endcsname
- \expandafter\closeout\csname#1indfile\endcsname
- \expandafter\let\csname#1indfile\endcsname=\synindexfoo
- \expandafter\xdef\csname#1index\endcsname{% define \xxxindex
- \noexpand\doindex{#2}}%
+\def\synindex #1 #2 {%
+\expandafter\let\expandafter\synindexfoo\expandafter=\csname#2indfile\endcsname
+\expandafter\let\csname#1indfile\endcsname=\synindexfoo
+\expandafter\xdef\csname#1index\endcsname{% % Define \xxxindex
+\noexpand\doindex {#2}}%
}
% @syncodeindex foo bar similar, but put all entries made for index foo
% inside @code.
-\def\syncodeindex#1 #2 {%
- \expandafter\let\expandafter\synindexfoo\expandafter=\csname#2indfile\endcsname
- \expandafter\closeout\csname#1indfile\endcsname
- \expandafter\let\csname#1indfile\endcsname=\synindexfoo
- \expandafter\xdef\csname#1index\endcsname{% define \xxxindex
- \noexpand\docodeindex{#2}}%
+\def\syncodeindex #1 #2 {%
+\expandafter\let\expandafter\synindexfoo\expandafter=\csname#2indfile\endcsname
+\expandafter\let\csname#1indfile\endcsname=\synindexfoo
+\expandafter\xdef\csname#1index\endcsname{% % Define \xxxindex
+\noexpand\docodeindex {#2}}%
}
% Define \doindex, the driver for all \fooindex macros.
@@ -2358,7 +2265,6 @@ width0pt\relax} \fi
\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
\def\indexdummies{%
-\def\ { }%
% Take care of the plain tex accent commands.
\def\"{\realbackslash "}%
\def\`{\realbackslash `}%
@@ -2400,6 +2306,7 @@ width0pt\relax} \fi
\def\gtr{\realbackslash gtr}%
\def\less{\realbackslash less}%
\def\hat{\realbackslash hat}%
+%\def\char{\realbackslash char}%
\def\TeX{\realbackslash TeX}%
\def\dots{\realbackslash dots }%
\def\result{\realbackslash result}%
@@ -2411,11 +2318,6 @@ width0pt\relax} \fi
\def\copyright{\realbackslash copyright}%
\def\tclose##1{\realbackslash tclose {##1}}%
\def\code##1{\realbackslash code {##1}}%
-\def\uref##1{\realbackslash uref {##1}}%
-\def\url##1{\realbackslash url {##1}}%
-\def\env##1{\realbackslash env {##1}}%
-\def\command##1{\realbackslash command {##1}}%
-\def\option##1{\realbackslash option {##1}}%
\def\dotless##1{\realbackslash dotless {##1}}%
\def\samp##1{\realbackslash samp {##1}}%
\def\,##1{\realbackslash ,{##1}}%
@@ -2431,13 +2333,7 @@ width0pt\relax} \fi
\def\kbd##1{\realbackslash kbd {##1}}%
\def\dfn##1{\realbackslash dfn {##1}}%
\def\emph##1{\realbackslash emph {##1}}%
-\def\acronym##1{\realbackslash acronym {##1}}%
-%
-% Handle some cases of @value -- where the variable name does not
-% contain - or _, and the value does not contain any
-% (non-fully-expandable) commands.
-\let\value = \expandablevalue
-%
+\def\value##1{\realbackslash value {##1}}%
\unsepspaces
}
@@ -2495,11 +2391,6 @@ width0pt\relax} \fi
%\let\tt=\indexdummyfont
\let\tclose=\indexdummyfont
\let\code=\indexdummyfont
-\let\url=\indexdummyfont
-\let\uref=\indexdummyfont
-\let\env=\indexdummyfont
-\let\command=\indexdummyfont
-\let\option=\indexdummyfont
\let\file=\indexdummyfont
\let\samp=\indexdummyfont
\let\kbd=\indexdummyfont
@@ -2515,24 +2406,14 @@ width0pt\relax} \fi
% so we do not become unable to do a definition.
{\catcode`\@=0 \catcode`\\=\other
- @gdef@realbackslash{\}}
+@gdef@realbackslash{\}}
\let\indexbackslash=0 %overridden during \printindex.
-\let\SETmarginindex=\relax % put index entries in margin (undocumented)?
-
-% For \ifx comparisons.
-\def\emptymacro{\empty}
-% Most index entries go through here, but \dosubind is the general case.
-%
-\def\doind#1#2{\dosubind{#1}{#2}\empty}
-
-% Workhorse for all \fooindexes.
-% #1 is name of index, #2 is stuff to put there, #3 is subentry --
-% \empty if called from \doind, as we usually are. The main exception
-% is with defuns, which call us directly.
-%
-\def\dosubind#1#2#3{%
+\let\SETmarginindex=\relax %initialize!
+% workhorse for all \fooindexes
+% #1 is name of index, #2 is stuff to put there
+\def\doind #1#2{%
% Put the index entry in the margin if desired.
\ifx\SETmarginindex\relax\else
\insert\margin{\hbox{\vrule height8pt depth3pt width0pt #2}}%
@@ -2543,22 +2424,13 @@ width0pt\relax} \fi
\indexdummies % Must do this here, since \bf, etc expand at this stage
\escapechar=`\\
{%
- \let\folio = 0% We will expand all macros now EXCEPT \folio.
+ \let\folio=0% We will expand all macros now EXCEPT \folio.
\def\rawbackslashxx{\indexbackslash}% \indexbackslash isn't defined now
% so it will be output as is; and it will print as backslash.
%
- \def\thirdarg{#3}%
- %
- % If third arg is present, precede it with space in sort key.
- \ifx\thirdarg\emptymacro
- \let\subentry = \empty
- \else
- \def\subentry{ #3}%
- \fi
- %
% First process the index-string with all font commands turned off
% to get the string to sort by.
- {\indexnofonts \xdef\indexsorttmp{#2\subentry}}%
+ {\indexnofonts \xdef\indexsorttmp{#2}}%
%
% Now produce the complete index entry, with both the sort key and the
% original text, including any font commands.
@@ -2567,47 +2439,33 @@ width0pt\relax} \fi
\write\csname#1indfile\endcsname{%
\realbackslash entry{\indexsorttmp}{\folio}{\the\toks0}}%
}%
- %
- % If third (subentry) arg is present, add it to the index string.
- \ifx\thirdarg\emptymacro \else
- \toks0 = {#3}%
- \edef\temp{\temp{\the\toks0}}%
- \fi
- %
- % If a skip is the last thing on the list now, preserve it
- % by backing up by \lastskip, doing the \write, then inserting
- % the skip again. Otherwise, the whatsit generated by the
- % \write will make \lastskip zero. The result is that sequences
- % like this:
- % @end defun
- % @tindex whatever
- % @defun ...
- % will have extra space inserted, because the \medbreak in the
- % start of the @defun won't see the skip inserted by the @end of
- % the previous defun.
- %
- % But don't do any of this if we're not in vertical mode. We
- % don't want to do a \vskip and prematurely end a paragraph.
- %
- % Avoid page breaks due to these extra skips, too.
- %
- \iflinks
- \ifvmode
- \skip0 = \lastskip
- \ifdim\lastskip = 0pt \else \nobreak\vskip-\lastskip \fi
- \fi
- %
- \temp % do the write
- %
- %
- \ifvmode \ifdim\skip0 = 0pt \else \nobreak\vskip\skip0 \fi \fi
- \fi
+ \temp
}%
}%
\penalty\count255
}%
}
+\def\dosubind #1#2#3{%
+{\count10=\lastpenalty %
+{\indexdummies % Must do this here, since \bf, etc expand at this stage
+\escapechar=`\\%
+{\let\folio=0%
+\def\rawbackslashxx{\indexbackslash}%
+%
+% Now process the index-string once, with all font commands turned off,
+% to get the string to sort the index by.
+{\indexnofonts
+\xdef\temp1{#2 #3}%
+}%
+% Now produce the complete index entry. We process the index-string again,
+% this time with font commands expanded, to get what to print in the index.
+\edef\temp{%
+\write \csname#1indfile\endcsname{%
+\realbackslash entry {\temp1}{\folio}{#2}{#3}}}%
+\temp }%
+}\penalty\count10}}
+
% The index entry written in the file actually looks like
% \entry {sortstring}{page}{topic}
% or
@@ -2652,11 +2510,6 @@ width0pt\relax} \fi
\indexbreaks
%
% See if the index file exists and is nonempty.
- % Change catcode of @ here so that if the index file contains
- % \initial {@}
- % as its first line, TeX doesn't complain about mismatched braces
- % (because it thinks @} is a control sequence).
- \catcode`\@ = 11
\openin 1 \jobname.#1s
\ifeof 1
% \enddoublecolumns gets confused if there is no text in the index,
@@ -2678,6 +2531,7 @@ width0pt\relax} \fi
% to make right now.
\def\indexbackslash{\rawbackslashxx}%
\catcode`\\ = 0
+ \catcode`\@ = 11
\escapechar = `\\
\begindoublecolumns
\input \jobname.#1s
@@ -2690,35 +2544,21 @@ width0pt\relax} \fi
% These macros are used by the sorted index file itself.
% Change them to control the appearance of the index.
-\def\initial#1{{%
- % Some minor font changes for the special characters.
- \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt
- %
- % Remove any glue we may have, we'll be inserting our own.
- \removelastskip
- %
- % We like breaks before the index initials, so insert a bonus.
- \penalty -300
- %
- % Typeset the initial. Making this add up to a whole number of
- % baselineskips increases the chance of the dots lining up from column
- % to column. It still won't often be perfect, because of the stretch
- % we need before each entry, but it's better.
- %
- % No shrink because it confuses \balancecolumns.
- \vskip 1.67\baselineskip plus .5\baselineskip
- \leftline{\secbf #1}%
- \vskip .33\baselineskip plus .1\baselineskip
- %
- % Do our best not to break after the initial.
- \nobreak
-}}
+% Same as \bigskipamount except no shrink.
+% \balancecolumns gets confused if there is any shrink.
+\newskip\initialskipamount \initialskipamount 12pt plus4pt
+
+\def\initial #1{%
+{\let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt
+\ifdim\lastskip<\initialskipamount
+\removelastskip \penalty-200 \vskip \initialskipamount\fi
+\line{\secbf#1\hfill}\kern 2pt\penalty10000}}
% This typesets a paragraph consisting of #1, dot leaders, and then #2
% flush to the right margin. It is used for index and table of contents
% entries. The paragraph is indented by \leftskip.
%
-\def\entry#1#2{\begingroup
+\def\entry #1#2{\begingroup
%
% Start a new paragraph if necessary, so our assignments below can't
% affect previous text.
@@ -2741,15 +2581,12 @@ width0pt\relax} \fi
%
% \hangafter is reset to 1 (which is the value we want) at the start
% of each paragraph, so we need not do anything with that.
- \hangindent = 2em
+ \hangindent=2em
%
% When the entry text needs to be broken, just fill out the first line
% with blank space.
\rightskip = 0pt plus1fil
%
- % A bit of stretch before each entry for the benefit of balancing columns.
- \vskip 0pt plus1pt
- %
% Start a ``paragraph'' for the index entry so the line breaking
% parameters we've set above will have an effect.
\noindent
@@ -2848,21 +2685,14 @@ width0pt\relax} \fi
%
% Double the \vsize as well. (We don't need a separate register here,
% since nobody clobbers \vsize.)
- \advance\vsize by -\ht\partialpage
\vsize = 2\vsize
}
-
-% The double-column output routine for all double-column pages except
-% the last.
-%
\def\doublecolumnout{%
\splittopskip=\topskip \splitmaxdepth=\maxdepth
% Get the available space for the double columns -- the normal
% (undoubled) page height minus any material left over from the
% previous page.
- \dimen@ = \vsize
- \divide\dimen@ by 2
- %
+ \dimen@=\pageheight \advance\dimen@ by-\ht\partialpage
% box0 will be the left-hand column, box2 the right.
\setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
\onepageout\pagesofar
@@ -2871,60 +2701,35 @@ width0pt\relax} \fi
}
\def\pagesofar{%
% Re-output the contents of the output page -- any previous material,
- % followed by the two boxes we just split, in box0 and box2.
- \advance\vsize by \ht\partialpage
+ % followed by the two boxes we just split.
\unvbox\partialpage
- %
\hsize = \doublecolumnhsize
- \wd0=\hsize \wd2=\hsize
- \hbox to\pagewidth{\box0\hfil\box2}%
+ \wd0=\hsize \wd2=\hsize \hbox to\pagewidth{\box0\hfil\box2}%
}
\def\enddoublecolumns{%
- \output = {%
- % Split the last of the double-column material. Leave on the
- % current page, no automatic page break.
- \balancecolumns
- %
- % If we end up splitting too much material for the current page,
- % though, there will be another page break right after this \output
- % invocation ends. Having called \balancecolumns once, we do not
- % want to call it again. Therefore, reset \output to its normal
- % definition right away. (We hope \balancecolumns will never be
- % called on to balance too much material, but if it is, this makes
- % the output somewhat more palatable.)
- \global\output = {\onepageout{\pagecontents\PAGE}}%
- %
- % \pagegoal was set to the doubled \vsize above, since we restarted
- % the current page. We're now back to normal single-column
- % typesetting, so reset \pagegoal to the normal \vsize.
- \pagegoal = \vsize
- }%
- \eject
+ \output = {\balancecolumns}\eject % split what we have
\endgroup % started in \begindoublecolumns
+ %
+ % Back to normal single-column typesetting, but take account of the
+ % fact that we just accumulated some stuff on the output page.
+ \pagegoal = \vsize
}
\def\balancecolumns{%
% Called at the end of the double column material.
- \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120.
+ \setbox0 = \vbox{\unvbox255}%
\dimen@ = \ht0
\advance\dimen@ by \topskip
\advance\dimen@ by-\baselineskip
- \divide\dimen@ by 2 % target to split to
- %debug\message{final 2-column material height=\the\ht0, target=\the\dimen@.}%
+ \divide\dimen@ by 2
\splittopskip = \topskip
% Loop until we get a decent breakpoint.
- {%
- \vbadness = 10000
- \loop
- \global\setbox3 = \copy0
- \global\setbox1 = \vsplit3 to \dimen@
- \ifdim\ht3>\dimen@
- \global\advance\dimen@ by 1pt
- \repeat
- }%
- %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}%
+ {\vbadness=10000 \loop
+ \global\setbox3=\copy0
+ \global\setbox1=\vsplit3 to\dimen@
+ \ifdim\ht3>\dimen@ \global\advance\dimen@ by1pt
+ \repeat}%
\setbox0=\vbox to\dimen@{\unvbox1}%
\setbox2=\vbox to\dimen@{\unvbox3}%
- %
\pagesofar
}
\catcode`\@ = \other
@@ -2942,10 +2747,56 @@ width0pt\relax} \fi
\newcount\appendixno \appendixno = `\@
\def\appendixletter{\char\the\appendixno}
+\newwrite\contentsfile
+% This is called from \setfilename.
+\def\opencontents{\openout\contentsfile = \jobname.toc }
+
% Each @chapter defines this as the name of the chapter.
-% page headings and footings can use it. @section does likewise.
-\def\thischapter{}
-\def\thissection{}
+% page headings and footings can use it. @section does likewise
+
+\def\thischapter{} \def\thissection{}
+\def\seccheck#1{\ifnum \pageno<0
+ \errmessage{@#1 not allowed after generating table of contents}%
+\fi}
+
+\def\chapternofonts{%
+ \let\rawbackslash=\relax
+ \let\frenchspacing=\relax
+ \def\result{\realbackslash result}%
+ \def\equiv{\realbackslash equiv}%
+ \def\expansion{\realbackslash expansion}%
+ \def\print{\realbackslash print}%
+ \def\TeX{\realbackslash TeX}%
+ \def\dots{\realbackslash dots}%
+ \def\result{\realbackslash result}%
+ \def\equiv{\realbackslash equiv}%
+ \def\expansion{\realbackslash expansion}%
+ \def\print{\realbackslash print}%
+ \def\error{\realbackslash error}%
+ \def\point{\realbackslash point}%
+ \def\copyright{\realbackslash copyright}%
+ \def\tt{\realbackslash tt}%
+ \def\bf{\realbackslash bf}%
+ \def\w{\realbackslash w}%
+ \def\less{\realbackslash less}%
+ \def\gtr{\realbackslash gtr}%
+ \def\hat{\realbackslash hat}%
+ \def\char{\realbackslash char}%
+ \def\tclose##1{\realbackslash tclose{##1}}%
+ \def\code##1{\realbackslash code{##1}}%
+ \def\samp##1{\realbackslash samp{##1}}%
+ \def\r##1{\realbackslash r{##1}}%
+ \def\b##1{\realbackslash b{##1}}%
+ \def\key##1{\realbackslash key{##1}}%
+ \def\file##1{\realbackslash file{##1}}%
+ \def\kbd##1{\realbackslash kbd{##1}}%
+ % These are redefined because @smartitalic wouldn't work inside xdef.
+ \def\i##1{\realbackslash i{##1}}%
+ \def\cite##1{\realbackslash cite{##1}}%
+ \def\var##1{\realbackslash var{##1}}%
+ \def\emph##1{\realbackslash emph{##1}}%
+ \def\dfn##1{\realbackslash dfn{##1}}%
+}
\newcount\absseclevel % used to calculate proper heading level
\newcount\secbase\secbase=0 % @raise/lowersections modify this count
@@ -3017,59 +2868,59 @@ width0pt\relax} \fi
\fi
}
-% @chapter, @appendix, @unnumbered.
+
\def\thischaptername{No Chapter Title}
\outer\def\chapter{\parsearg\chapteryyy}
\def\chapteryyy #1{\numhead0{#1}} % normally numhead0 calls chapterzzz
-\def\chapterzzz #1{%
+\def\chapterzzz #1{\seccheck{chapter}%
\secno=0 \subsecno=0 \subsubsecno=0
-\global\advance \chapno by 1 \message{\putwordChapter\space \the\chapno}%
+\global\advance \chapno by 1 \message{\putwordChapter \the\chapno}%
\chapmacro {#1}{\the\chapno}%
\gdef\thissection{#1}%
\gdef\thischaptername{#1}%
% We don't substitute the actual chapter name into \thischapter
% because we don't want its macros evaluated now.
\xdef\thischapter{\putwordChapter{} \the\chapno: \noexpand\thischaptername}%
+{\chapternofonts%
\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash chapentry{\the\toks0}%
- {\the\chapno}}}%
-\temp
-\donoderef
+\edef\temp{{\realbackslash chapentry{\the\toks0}{\the\chapno}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\donoderef %
\global\let\section = \numberedsec
\global\let\subsection = \numberedsubsec
\global\let\subsubsection = \numberedsubsubsec
-}
+}}
\outer\def\appendix{\parsearg\appendixyyy}
\def\appendixyyy #1{\apphead0{#1}} % normally apphead0 calls appendixzzz
-\def\appendixzzz #1{%
+\def\appendixzzz #1{\seccheck{appendix}%
\secno=0 \subsecno=0 \subsubsecno=0
-\global\advance \appendixno by 1
-\message{\putwordAppendix\space \appendixletter}%
+\global\advance \appendixno by 1 \message{Appendix \appendixletter}%
\chapmacro {#1}{\putwordAppendix{} \appendixletter}%
\gdef\thissection{#1}%
\gdef\thischaptername{#1}%
\xdef\thischapter{\putwordAppendix{} \appendixletter: \noexpand\thischaptername}%
+{\chapternofonts%
\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash chapentry{\the\toks0}%
- {\putwordAppendix{} \appendixletter}}}%
-\temp
-\appendixnoderef
+\edef\temp{{\realbackslash chapentry{\the\toks0}%
+ {\putwordAppendix{} \appendixletter}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\appendixnoderef %
\global\let\section = \appendixsec
\global\let\subsection = \appendixsubsec
\global\let\subsubsection = \appendixsubsubsec
-}
+}}
% @centerchap is like @unnumbered, but the heading is centered.
\outer\def\centerchap{\parsearg\centerchapyyy}
\def\centerchapyyy #1{{\let\unnumbchapmacro=\centerchapmacro \unnumberedyyy{#1}}}
-% @top is like @unnumbered.
\outer\def\top{\parsearg\unnumberedyyy}
-
\outer\def\unnumbered{\parsearg\unnumberedyyy}
\def\unnumberedyyy #1{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz
-\def\unnumberedzzz #1{%
+\def\unnumberedzzz #1{\seccheck{unnumbered}%
\secno=0 \subsecno=0 \subsubsecno=0
%
% This used to be simply \message{#1}, but TeX fully expands the
@@ -3081,139 +2932,155 @@ width0pt\relax} \fi
% Anyway, we don't want the fully-expanded definition of @cite to appear
% as a result of the \message, we just want `@cite' itself. We use
% \the<toks register> to achieve this: TeX expands \the<toks> only once,
-% simply yielding the contents of <toks register>. (We also do this for
-% the toc entries.)
+% simply yielding the contents of the <toks register>.
\toks0 = {#1}\message{(\the\toks0)}%
%
\unnumbchapmacro {#1}%
\gdef\thischapter{#1}\gdef\thissection{#1}%
+{\chapternofonts%
\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash unnumbchapentry{\the\toks0}}}%
-\temp
-\unnumbnoderef
+\edef\temp{{\realbackslash unnumbchapentry{\the\toks0}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\unnumbnoderef %
\global\let\section = \unnumberedsec
\global\let\subsection = \unnumberedsubsec
\global\let\subsubsection = \unnumberedsubsubsec
-}
+}}
-% Sections.
\outer\def\numberedsec{\parsearg\secyyy}
\def\secyyy #1{\numhead1{#1}} % normally calls seczzz
-\def\seczzz #1{%
+\def\seczzz #1{\seccheck{section}%
\subsecno=0 \subsubsecno=0 \global\advance \secno by 1 %
\gdef\thissection{#1}\secheading {#1}{\the\chapno}{\the\secno}%
+{\chapternofonts%
\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash secentry{\the\toks0}%
- {\the\chapno}{\the\secno}}}%
-\temp
-\donoderef
-\nobreak
-}
+\edef\temp{{\realbackslash secentry %
+{\the\toks0}{\the\chapno}{\the\secno}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\donoderef %
+\penalty 10000 %
+}}
\outer\def\appendixsection{\parsearg\appendixsecyyy}
\outer\def\appendixsec{\parsearg\appendixsecyyy}
\def\appendixsecyyy #1{\apphead1{#1}} % normally calls appendixsectionzzz
-\def\appendixsectionzzz #1{%
+\def\appendixsectionzzz #1{\seccheck{appendixsection}%
\subsecno=0 \subsubsecno=0 \global\advance \secno by 1 %
\gdef\thissection{#1}\secheading {#1}{\appendixletter}{\the\secno}%
+{\chapternofonts%
\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash secentry{\the\toks0}%
- {\appendixletter}{\the\secno}}}%
-\temp
-\appendixnoderef
-\nobreak
-}
+\edef\temp{{\realbackslash secentry %
+{\the\toks0}{\appendixletter}{\the\secno}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\appendixnoderef %
+\penalty 10000 %
+}}
\outer\def\unnumberedsec{\parsearg\unnumberedsecyyy}
\def\unnumberedsecyyy #1{\unnmhead1{#1}} % normally calls unnumberedseczzz
-\def\unnumberedseczzz #1{%
+\def\unnumberedseczzz #1{\seccheck{unnumberedsec}%
\plainsecheading {#1}\gdef\thissection{#1}%
+{\chapternofonts%
\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash unnumbsecentry{\the\toks0}}}%
-\temp
-\unnumbnoderef
-\nobreak
-}
+\edef\temp{{\realbackslash unnumbsecentry{\the\toks0}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\unnumbnoderef %
+\penalty 10000 %
+}}
-% Subsections.
\outer\def\numberedsubsec{\parsearg\numberedsubsecyyy}
\def\numberedsubsecyyy #1{\numhead2{#1}} % normally calls numberedsubseczzz
-\def\numberedsubseczzz #1{%
+\def\numberedsubseczzz #1{\seccheck{subsection}%
\gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 %
\subsecheading {#1}{\the\chapno}{\the\secno}{\the\subsecno}%
+{\chapternofonts%
\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash subsecentry{\the\toks0}%
- {\the\chapno}{\the\secno}{\the\subsecno}}}%
-\temp
-\donoderef
-\nobreak
-}
+\edef\temp{{\realbackslash subsecentry %
+{\the\toks0}{\the\chapno}{\the\secno}{\the\subsecno}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\donoderef %
+\penalty 10000 %
+}}
\outer\def\appendixsubsec{\parsearg\appendixsubsecyyy}
\def\appendixsubsecyyy #1{\apphead2{#1}} % normally calls appendixsubseczzz
-\def\appendixsubseczzz #1{%
+\def\appendixsubseczzz #1{\seccheck{appendixsubsec}%
\gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 %
\subsecheading {#1}{\appendixletter}{\the\secno}{\the\subsecno}%
+{\chapternofonts%
\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash subsecentry{\the\toks0}%
- {\appendixletter}{\the\secno}{\the\subsecno}}}%
-\temp
-\appendixnoderef
-\nobreak
-}
+\edef\temp{{\realbackslash subsecentry %
+{\the\toks0}{\appendixletter}{\the\secno}{\the\subsecno}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\appendixnoderef %
+\penalty 10000 %
+}}
\outer\def\unnumberedsubsec{\parsearg\unnumberedsubsecyyy}
\def\unnumberedsubsecyyy #1{\unnmhead2{#1}} %normally calls unnumberedsubseczzz
-\def\unnumberedsubseczzz #1{%
+\def\unnumberedsubseczzz #1{\seccheck{unnumberedsubsec}%
\plainsubsecheading {#1}\gdef\thissection{#1}%
+{\chapternofonts%
\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash unnumbsubsecentry%
- {\the\toks0}}}%
-\temp
-\unnumbnoderef
-\nobreak
-}
+\edef\temp{{\realbackslash unnumbsubsecentry{\the\toks0}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\unnumbnoderef %
+\penalty 10000 %
+}}
-% Subsubsections.
\outer\def\numberedsubsubsec{\parsearg\numberedsubsubsecyyy}
\def\numberedsubsubsecyyy #1{\numhead3{#1}} % normally numberedsubsubseczzz
-\def\numberedsubsubseczzz #1{%
+\def\numberedsubsubseczzz #1{\seccheck{subsubsection}%
\gdef\thissection{#1}\global\advance \subsubsecno by 1 %
\subsubsecheading {#1}
{\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}%
+{\chapternofonts%
\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash subsubsecentry{\the\toks0}%
- {\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}}}%
-\temp
-\donoderef
-\nobreak
-}
+\edef\temp{{\realbackslash subsubsecentry{\the\toks0}
+ {\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}
+ {\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\donoderef %
+\penalty 10000 %
+}}
\outer\def\appendixsubsubsec{\parsearg\appendixsubsubsecyyy}
\def\appendixsubsubsecyyy #1{\apphead3{#1}} % normally appendixsubsubseczzz
-\def\appendixsubsubseczzz #1{%
+\def\appendixsubsubseczzz #1{\seccheck{appendixsubsubsec}%
\gdef\thissection{#1}\global\advance \subsubsecno by 1 %
\subsubsecheading {#1}
{\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}%
+{\chapternofonts%
\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash subsubsecentry{\the\toks0}%
- {\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}}}%
-\temp
-\appendixnoderef
-\nobreak
-}
+\edef\temp{{\realbackslash subsubsecentry{\the\toks0}%
+ {\appendixletter}
+ {\the\secno}{\the\subsecno}{\the\subsubsecno}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\appendixnoderef %
+\penalty 10000 %
+}}
\outer\def\unnumberedsubsubsec{\parsearg\unnumberedsubsubsecyyy}
\def\unnumberedsubsubsecyyy #1{\unnmhead3{#1}} %normally unnumberedsubsubseczzz
-\def\unnumberedsubsubseczzz #1{%
+\def\unnumberedsubsubseczzz #1{\seccheck{unnumberedsubsubsec}%
\plainsubsubsecheading {#1}\gdef\thissection{#1}%
+{\chapternofonts%
\toks0 = {#1}%
-\edef\temp{\noexpand\writetocentry{\realbackslash unnumbsubsubsecentry%
- {\the\toks0}}}%
-\temp
-\unnumbnoderef
-\nobreak
-}
+\edef\temp{{\realbackslash unnumbsubsubsecentry{\the\toks0}{\noexpand\folio}}}%
+\escapechar=`\\%
+\write \contentsfile \temp %
+\unnumbnoderef %
+\penalty 10000 %
+}}
% These are variants which are not "outer", so they can appear in @ifinfo.
% Actually, they should now be obsolete; ordinary section commands should work.
@@ -3242,7 +3109,8 @@ width0pt\relax} \fi
% Define @majorheading, @heading and @subheading
-% NOTE on use of \vbox for chapter headings, section headings, and such:
+% NOTE on use of \vbox for chapter headings, section headings, and
+% such:
% 1) We use \vbox rather than the earlier \line to permit
% overlong headings to fold.
% 2) \hyphenpenalty is set to 10000 because hyphenation in a
@@ -3289,12 +3157,12 @@ width0pt\relax} \fi
\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname}
-\def\CHAPPAGoff{%
+\def\CHAPPAGoff{
\global\let\contentsalignmacro = \chappager
\global\let\pchapsepmacro=\chapbreak
\global\let\pagealignmacro=\chappager}
-\def\CHAPPAGon{%
+\def\CHAPPAGon{
\global\let\contentsalignmacro = \chappager
\global\let\pchapsepmacro=\chappager
\global\let\pagealignmacro=\chappager
@@ -3348,7 +3216,7 @@ width0pt\relax} \fi
\def\unnchfopen #1{%
\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
\parindent=0pt\raggedright
- \rm #1\hfill}}\bigskip \par\nobreak
+ \rm #1\hfill}}\bigskip \par\penalty 10000 %
}
\def\chfopen #1#2{\chapoddpage {\chapfonts
@@ -3359,7 +3227,7 @@ width0pt\relax} \fi
\def\centerchfopen #1{%
\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
\parindent=0pt
- \hfill {\rm #1}\hfill}}\bigskip \par\nobreak
+ \hfill {\rm #1}\hfill}}\bigskip \par\penalty 10000 %
}
\def\CHAPFopen{
@@ -3412,44 +3280,24 @@ width0pt\relax} \fi
}
-\message{toc,}
-\newwrite\tocfile
-
-% Write an entry to the toc file, opening it if necessary.
-% Called from @chapter, etc. We supply {\folio} at the end of the
-% argument, which will end up as the last argument to the \...entry macro.
-%
-% We open the .toc file here instead of at @setfilename or any other
-% given time so that @contents can be put in the document anywhere.
-%
-\newif\iftocfileopened
-\def\writetocentry#1{%
- \iftocfileopened\else
- \immediate\openout\tocfile = \jobname.toc
- \global\tocfileopenedtrue
- \fi
- \iflinks \write\tocfile{#1{\folio}}\fi
-}
+\message{toc printing,}
+% Finish up the main text and prepare to read what we've written
+% to \contentsfile.
\newskip\contentsrightmargin \contentsrightmargin=1in
-\newcount\savepageno
-\newcount\lastnegativepageno \lastnegativepageno = -1
-
-% Finish up the main text and prepare to read what we've written
-% to \tocfile.
-%
\def\startcontents#1{%
% If @setchapternewpage on, and @headings double, the contents should
% start on an odd page, unlike chapters. Thus, we maintain
% \contentsalignmacro in parallel with \pagealignmacro.
% From: Torbjorn Granlund <tege@matematik.su.se>
\contentsalignmacro
- \immediate\closeout\tocfile
- %
+ \immediate\closeout \contentsfile
+ \ifnum \pageno>0
+ \pageno = -1 % Request roman numbered pages.
+ \fi
% Don't need to put `Contents' or `Short Contents' in the headline.
% It is abundantly clear what they are.
\unnumbchapmacro{#1}\def\thischapter{}%
- \savepageno = \pageno
\begingroup % Set up to handle contents files properly.
\catcode`\\=0 \catcode`\{=1 \catcode`\}=2 \catcode`\@=11
% We can't do this, because then an actual ^ in a section
@@ -3457,28 +3305,19 @@ width0pt\relax} \fi
%\catcode`\^=7 % to see ^^e4 as \"a etc. juha@piuha.ydi.vtt.fi
\raggedbottom % Worry more about breakpoints than the bottom.
\advance\hsize by -\contentsrightmargin % Don't use the full line length.
- %
- % Roman numerals for page numbers.
- \ifnum \pageno>0 \pageno = \lastnegativepageno \fi
}
% Normal (long) toc.
-\def\contents{%
+\outer\def\contents{%
\startcontents{\putwordTableofContents}%
- \openin 1 \jobname.toc
- \ifeof 1 \else
- \closein 1
- \input \jobname.toc
- \fi
- \vfill \eject
+ \input \jobname.toc
\endgroup
- \lastnegativepageno = \pageno
- \pageno = \savepageno
+ \vfill \eject
}
% And just the chapters.
-\def\summarycontents{%
+\outer\def\summarycontents{%
\startcontents{\putwordShortContents}%
%
\let\chapentry = \shortchapentry
@@ -3495,15 +3334,9 @@ width0pt\relax} \fi
\def\unnumbsubsecentry ##1##2{}
\def\subsubsecentry ##1##2##3##4##5##6{}
\def\unnumbsubsubsecentry ##1##2{}
- \openin 1 \jobname.toc
- \ifeof 1 \else
- \closein 1
- \input \jobname.toc
- \fi
- \vfill \eject
+ \input \jobname.toc
\endgroup
- \lastnegativepageno = \pageno
- \pageno = \savepageno
+ \vfill \eject
}
\let\shortcontents = \summarycontents
@@ -3594,12 +3427,11 @@ width0pt\relax} \fi
% the index entries, but we want to suppress hyphenation here. (We
% can't do that in the \entry macro, since index entries might consist
% of hyphenated-identifiers-that-do-not-fit-on-a-line-and-nothing-else.)
+%
+% \turnoffactive is for the sake of @" used for umlauts.
\def\tocentry#1#2{\begingroup
\vskip 0pt plus1pt % allow a little stretch for the sake of nice page breaks
- % Do not use \turnoffactive in these arguments. Since the toc is
- % typeset in cmr, so characters such as _ would come out wrong; we
- % have to do the usual translation tricks.
- \entry{#1}{#2}%
+ \entry{\turnoffactive #1}{\turnoffactive #2}%
\endgroup}
% Space between chapter (or whatever) number and the title.
@@ -3665,36 +3497,30 @@ width0pt\relax} \fi
% But \@ or @@ will get a plain tex @ character.
\def\tex{\begingroup
- \catcode `\\=0 \catcode `\{=1 \catcode `\}=2
- \catcode `\$=3 \catcode `\&=4 \catcode `\#=6
- \catcode `\^=7 \catcode `\_=8 \catcode `\~=13 \let~=\tie
- \catcode `\%=14
- \catcode 43=12 % plus
- \catcode`\"=12
- \catcode`\==12
- \catcode`\|=12
- \catcode`\<=12
- \catcode`\>=12
- \escapechar=`\\
- %
- \let\b=\ptexb
- \let\bullet=\ptexbullet
- \let\c=\ptexc
- \let\,=\ptexcomma
- \let\.=\ptexdot
- \let\dots=\ptexdots
- \let\equiv=\ptexequiv
- \let\!=\ptexexclam
- \let\i=\ptexi
- \let\{=\ptexlbrace
- \let\+=\tabalign
- \let\}=\ptexrbrace
- \let\*=\ptexstar
- \let\t=\ptext
- %
- \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
- \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}%
- \def\@{@}%
+\catcode `\\=0 \catcode `\{=1 \catcode `\}=2
+\catcode `\$=3 \catcode `\&=4 \catcode `\#=6
+\catcode `\^=7 \catcode `\_=8 \catcode `\~=13 \let~=\tie
+\catcode `\%=14
+\catcode 43=12 % plus
+\catcode`\"=12
+\catcode`\==12
+\catcode`\|=12
+\catcode`\<=12
+\catcode`\>=12
+\escapechar=`\\
+%
+\let\,=\ptexcomma
+\let\{=\ptexlbrace
+\let\}=\ptexrbrace
+\let\.=\ptexdot
+\let\*=\ptexstar
+\let\dots=\ptexdots
+\def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
+\def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}%
+\def\@{@}%
+\let\bullet=\ptexbullet
+\let\b=\ptexb \let\c=\ptexc \let\i=\ptexi \let\t=\ptext
+%
\let\Etex=\endgroup}
% Define @lisp ... @endlisp.
@@ -3739,8 +3565,8 @@ width0pt\relax} \fi
% \nonarrowing is a flag. If "set", @lisp etc don't narrow margins.
\let\nonarrowing=\relax
-% @cartouche ... @end cartouche: draw rectangle w/rounded corners around
-% environment contents.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \cartouche: draw rectangle w/rounded corners around argument
\font\circle=lcircle10
\newdimen\circthick
\newdimen\cartouter\newdimen\cartinner
@@ -3767,9 +3593,9 @@ width0pt\relax} \fi
\cartinner=\hsize \advance\cartinner by-\lskip
\advance\cartinner by-\rskip
\cartouter=\hsize
- \advance\cartouter by 18.4pt % allow for 3pt kerns on either
+ \advance\cartouter by 18pt % allow for 3pt kerns on either
% side, and for 6pt waste from
-% each corner char, and rule thickness
+% each corner char
\normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
% Flag to tell @lisp, etc., not to narrow margin.
\let\nonarrowing=\comment
@@ -3823,52 +3649,49 @@ width0pt\relax} \fi
\fi
}
-% Define the \E... control sequence only if we are inside the particular
-% environment, so the error checking in \end will work.
-%
-% To end an @example-like environment, we first end the paragraph (via
-% \afterenvbreak's vertical glue), and then the group. That way we keep
-% the zero \parskip that the environments set -- \parskip glue will be
-% inserted at the beginning of the next paragraph in the document, after
-% the environment.
+% To ending an @example-like environment, we first end the paragraph
+% (via \afterenvbreak's vertical glue), and then the group. That way we
+% keep the zero \parskip that the environments set -- \parskip glue
+% will be inserted at the beginning of the next paragraph in the
+% document, after the environment.
%
-\def\nonfillfinish{\afterenvbreak\endgroup}
+\def\nonfillfinish{\afterenvbreak\endgroup}%
-% @lisp: indented, narrowed, typewriter font.
\def\lisp{\begingroup
\nonfillstart
\let\Elisp = \nonfillfinish
\tt
- \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special.
- \gobble % eat return
+ % Make @kbd do something special, if requested.
+ \let\kbdfont\kbdexamplefont
+ \rawbackslash % have \ input char produce \ char from current font
+ \gobble
}
-% @example: Same as @lisp.
+% Define the \E... control sequence only if we are inside the
+% environment, so the error checking in \end will work.
+%
+% We must call \lisp last in the definition, since it reads the
+% return following the @example (or whatever) command.
+%
\def\example{\begingroup \def\Eexample{\nonfillfinish\endgroup}\lisp}
+\def\smallexample{\begingroup \def\Esmallexample{\nonfillfinish\endgroup}\lisp}
+\def\smalllisp{\begingroup \def\Esmalllisp{\nonfillfinish\endgroup}\lisp}
-% @small... is usually equivalent to the non-small (@smallbook
-% redefines). We must call \example (or whatever) last in the
-% definition, since it reads the return following the @example (or
-% whatever) command.
-%
-% This actually allows (for example) @end display inside an
-% @smalldisplay. Too bad, but makeinfo will catch the error anyway.
+% @smallexample and @smalllisp. This is not used unless the @smallbook
+% command is given. Originally contributed by Pavel@xerox.
%
-\def\smalldisplay{\begingroup\def\Esmalldisplay{\nonfillfinish\endgroup}\display}
-\def\smallexample{\begingroup\def\Esmallexample{\nonfillfinish\endgroup}\lisp}
-\def\smallformat{\begingroup\def\Esmallformat{\nonfillfinish\endgroup}\format}
-\def\smalllisp{\begingroup\def\Esmalllisp{\nonfillfinish\endgroup}\lisp}
-
-% Real @smallexample and @smalllisp (when @smallbook): use smaller fonts.
-% Originally contributed by Pavel@xerox.
\def\smalllispx{\begingroup
- \def\Esmalllisp{\nonfillfinish\endgroup}%
- \def\Esmallexample{\nonfillfinish\endgroup}%
- \indexfonts
- \lisp
+ \nonfillstart
+ \let\Esmalllisp = \nonfillfinish
+ \let\Esmallexample = \nonfillfinish
+ %
+ % Smaller fonts for small examples.
+ \indexfonts \tt
+ \rawbackslash % make \ output the \ character from the current font (tt)
+ \gobble
}
-% @display: same as @lisp except keep current font.
+% This is @display; same as @lisp except use roman font.
%
\def\display{\begingroup
\nonfillstart
@@ -3876,15 +3699,7 @@ width0pt\relax} \fi
\gobble
}
-% @smalldisplay (when @smallbook): @display plus smaller fonts.
-%
-\def\smalldisplayx{\begingroup
- \def\Esmalldisplay{\nonfillfinish\endgroup}%
- \indexfonts \rm
- \display
-}
-
-% @format: same as @display except don't narrow margins.
+% This is @format; same as @display except don't narrow margins.
%
\def\format{\begingroup
\let\nonarrowing = t
@@ -3893,27 +3708,20 @@ width0pt\relax} \fi
\gobble
}
-% @smallformat (when @smallbook): @format plus smaller fonts.
+% @flushleft (same as @format) and @flushright.
%
-\def\smallformatx{\begingroup
- \def\Esmallformat{\nonfillfinish\endgroup}%
- \indexfonts \rm
- \format
+\def\flushleft{\begingroup
+ \let\nonarrowing = t
+ \nonfillstart
+ \let\Eflushleft = \nonfillfinish
+ \gobble
}
-
-% @flushleft (same as @format).
-%
-\def\flushleft{\begingroup \def\Eflushleft{\nonfillfinish\endgroup}\format}
-
-% @flushright.
-%
\def\flushright{\begingroup
\let\nonarrowing = t
\nonfillstart
\let\Eflushright = \nonfillfinish
\advance\leftskip by 0pt plus 1fill
- \gobble
-}
+ \gobble}
% @quotation does normal linebreaking (hence we can't use \nonfillstart)
% and narrows the margins.
@@ -3936,7 +3744,6 @@ width0pt\relax} \fi
\fi
}
-
\message{defuns,}
% Define formatter for defuns
% First, allow user to change definition object font (\df) internally
@@ -4006,18 +3813,20 @@ width0pt\relax} \fi
% outside the @def...
\dimen2=\leftskip
\advance\dimen2 by -\defbodyindent
-\noindent
+\dimen3=\rightskip
+\advance\dimen3 by -\defbodyindent
+\noindent %
\setbox0=\hbox{\hskip \deflastargmargin{\rm #2}\hskip \deftypemargin}%
\dimen0=\hsize \advance \dimen0 by -\wd0 % compute size for first line
\dimen1=\hsize \advance \dimen1 by -\defargsindent %size for continuations
-\parshape 2 0in \dimen0 \defargsindent \dimen1
+\parshape 2 0in \dimen0 \defargsindent \dimen1 %
% Now output arg 2 ("Function" or some such)
% ending at \deftypemargin from the right margin,
% but stuck inside a box of width 0 so it does not interfere with linebreaking
{% Adjust \hsize to exclude the ambient margins,
% so that \rightline will obey them.
-\advance \hsize by -\dimen2
-\rlap{\rightline{{\rm #2}\hskip -1.25pc }}}%
+\advance \hsize by -\dimen2 \advance \hsize by -\dimen3
+\rlap{\rightline{{\rm #2}\hskip \deftypemargin}}}%
% Make all lines underfull and no complaints:
\tolerance=10000 \hbadness=10000
\advance\leftskip by -\defbodyindent
@@ -4038,46 +3847,23 @@ width0pt\relax} \fi
\def#1{\endgraf\endgroup\medbreak}%
\def#2{\begingroup\obeylines\activeparens\spacesplit#3}%
\parindent=0in
-\advance\leftskip by \defbodyindent
+\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
\exdentamount=\defbodyindent
\begingroup %
\catcode 61=\active % 61 is `='
\obeylines\activeparens\spacesplit#3}
-% #1 is the \E... control sequence to end the definition (which we define).
-% #2 is the \...x control sequence for consecutive fns (which we define).
-% #3 is the control sequence to call to resume processing.
-% #4, delimited by the space, is the class name.
-%
-\def\defmethparsebody#1#2#3#4 {\begingroup\inENV %
+\def\defmethparsebody #1#2#3#4 {\begingroup\inENV %
\medbreak %
% Define the end token that this defining construct specifies
% so that it will exit this group.
\def#1{\endgraf\endgroup\medbreak}%
\def#2##1 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}}}%
\parindent=0in
-\advance\leftskip by \defbodyindent
+\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
\exdentamount=\defbodyindent
\begingroup\obeylines\activeparens\spacesplit{#3{#4}}}
-% @deftypemethod has an extra argument that nothing else does. Sigh.
-% #1 is the \E... control sequence to end the definition (which we define).
-% #2 is the \...x control sequence for consecutive fns (which we define).
-% #3 is the control sequence to call to resume processing.
-% #4, delimited by the space, is the class name.
-% #5 is the method's return type.
-%
-\def\deftypemethparsebody#1#2#3#4 #5 {\begingroup\inENV %
-\medbreak %
-% Define the end token that this defining construct specifies
-% so that it will exit this group.
-\def#1{\endgraf\endgroup\medbreak}%
-\def#2##1 ##2 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}{##2}}}%
-\parindent=0in
-\advance\leftskip by \defbodyindent
-\exdentamount=\defbodyindent
-\begingroup\obeylines\activeparens\spacesplit{#3{#4}{#5}}}
-
\def\defopparsebody #1#2#3#4#5 {\begingroup\inENV %
\medbreak %
% Define the end token that this defining construct specifies
@@ -4086,7 +3872,7 @@ width0pt\relax} \fi
\def#2##1 ##2 {\def#4{##1}%
\begingroup\obeylines\activeparens\spacesplit{#3{##2}}}%
\parindent=0in
-\advance\leftskip by \defbodyindent
+\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
\exdentamount=\defbodyindent
\begingroup\obeylines\activeparens\spacesplit{#3{#5}}}
@@ -4101,7 +3887,7 @@ width0pt\relax} \fi
\def#1{\endgraf\endgroup\medbreak}%
\def#2{\begingroup\obeylines\spacesplit#3}%
\parindent=0in
-\advance\leftskip by \defbodyindent
+\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
\exdentamount=\defbodyindent
\begingroup %
\catcode 61=\active %
@@ -4118,7 +3904,7 @@ width0pt\relax} \fi
\def#1{\endgraf\endgroup\medbreak}%
\def#2##1 {\begingroup\obeylines\spacesplit{#3{##1}}}%
\parindent=0in
- \advance\leftskip by \defbodyindent
+ \advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
\exdentamount=\defbodyindent
\begingroup\obeylines
}
@@ -4163,7 +3949,7 @@ width0pt\relax} \fi
\def#2##1 ##2 {\def#4{##1}%
\begingroup\obeylines\spacesplit{#3{##2}}}%
\parindent=0in
-\advance\leftskip by \defbodyindent
+\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
\exdentamount=\defbodyindent
\begingroup\obeylines\spacesplit{#3{#5}}}
@@ -4196,7 +3982,7 @@ width0pt\relax} \fi
\ifnum\parencount=0 \else \errmessage{Unbalanced parentheses in @def}\fi%
\interlinepenalty=10000
\advance\rightskip by 0pt plus 1fil
-\endgraf\nobreak\vskip -\parskip\nobreak
+\endgraf\penalty 10000\vskip -\parskip\penalty 10000%
}
\def\deftypefunargs #1{%
@@ -4207,7 +3993,7 @@ width0pt\relax} \fi
\tclose{#1}% avoid \code because of side effects on active chars
\interlinepenalty=10000
\advance\rightskip by 0pt plus 1fil
-\endgraf\nobreak\vskip -\parskip\nobreak
+\endgraf\penalty 10000\vskip -\parskip\penalty 10000%
}
% Do complete processing of one @defun or @defunx line already parsed.
@@ -4295,46 +4081,39 @@ width0pt\relax} \fi
\def\defspecx #1 {\errmessage{@defspecx in invalid context}}
\def\deftypefnx #1 {\errmessage{@deftypefnx in invalid context}}
\def\deftypemethodx #1 {\errmessage{@deftypemethodx in invalid context}}
-\def\deftypefunx #1 {\errmessage{@deftypefunx in invalid context}}
+\def\deftypeunx #1 {\errmessage{@deftypeunx in invalid context}}
% @defmethod, and so on
-% @defop CATEGORY CLASS OPERATION ARG...
+% @defop {Funny Method} foo-class frobnicate argument
\def\defop #1 {\def\defoptype{#1}%
\defopparsebody\Edefop\defopx\defopheader\defoptype}
\def\defopheader #1#2#3{%
-\dosubind {fn}{\code{#2}}{\putwordon\ #1}% Make entry in function index
+\dosubind {fn}{\code{#2}}{on #1}% Make entry in function index
\begingroup\defname {#2}{\defoptype{} on #1}%
\defunargs {#3}\endgroup %
}
-% @deftypemethod CLASS RETURN-TYPE METHOD ARG...
+% @deftypemethod foo-class return-type foo-method args
%
\def\deftypemethod{%
- \deftypemethparsebody\Edeftypemethod\deftypemethodx\deftypemethodheader}
+ \defmethparsebody\Edeftypemethod\deftypemethodx\deftypemethodheader}
%
% #1 is the class name, #2 the data type, #3 the method name, #4 the args.
\def\deftypemethodheader#1#2#3#4{%
- \dosubind{fn}{\code{#3}}{\putwordon\ \code{#1}}% entry in function index
- \begingroup
- \defname{\defheaderxcond#2\relax$$$#3}{\putwordMethodon\ \code{#1}}%
- \deftypefunargs{#4}%
- \endgroup
+ \deftypefnheaderx{Method on #1}{#2}#3 #4\relax
}
% @defmethod == @defop Method
-%
+
\def\defmethod{\defmethparsebody\Edefmethod\defmethodx\defmethodheader}
-%
-% #1 is the class name, #2 the method name, #3 the args.
-\def\defmethodheader#1#2#3{%
- \dosubind{fn}{\code{#2}}{\putwordon\ \code{#1}}% entry in function index
- \begingroup
- \defname{#2}{\putwordMethodon\ \code{#1}}%
- \defunargs{#3}%
- \endgroup
+
+\def\defmethodheader #1#2#3{%
+\dosubind {fn}{\code{#2}}{on #1}% entry in function index
+\begingroup\defname {#2}{Method on #1}%
+\defunargs {#3}\endgroup %
}
% @defcv {Class Option} foo-class foo-flag
@@ -4373,7 +4152,7 @@ width0pt\relax} \fi
% This must expand the args and terminate the paragraph they make up
\def\defvarargs #1{\normalparens #1%
\interlinepenalty=10000
-\endgraf\nobreak\vskip -\parskip\nobreak}
+\endgraf\penalty 10000\vskip -\parskip\penalty 10000}
% @defvr Counter foo-count
@@ -4410,7 +4189,7 @@ width0pt\relax} \fi
\dovarind#2 \relax% Make entry in variables index
\begingroup\defname {\defheaderxcond#1\relax$$$#2}{Variable}%
\interlinepenalty=10000
-\endgraf\nobreak\vskip -\parskip\nobreak
+\endgraf\penalty 10000\vskip -\parskip\penalty 10000
\endgroup}
\def\dovarind#1 #2\relax{\doind{vr}{\code{#1}}}
@@ -4421,7 +4200,7 @@ width0pt\relax} \fi
\def\deftypevrheader #1#2#3{\dovarind#3 \relax%
\begingroup\defname {\defheaderxcond#2\relax$$$#3}{#1}
\interlinepenalty=10000
-\endgraf\nobreak\vskip -\parskip\nobreak
+\endgraf\penalty 10000\vskip -\parskip\penalty 10000
\endgroup}
% This definition is run if you use @defvarx
@@ -4451,310 +4230,40 @@ width0pt\relax} \fi
\def\deftpx #1 {\errmessage{@deftpx in invalid context}}
-\message{macros,}
-% @macro.
-
-% To do this right we need a feature of e-TeX, \scantokens,
-% which we arrange to emulate with a temporary file in ordinary TeX.
-\ifx\eTeXversion\undefined
- \newwrite\macscribble
- \def\scanmacro#1{%
- \begingroup \newlinechar`\^^M
- \immediate\openout\macscribble=\jobname.tmp
- \immediate\write\macscribble{#1}%
- \immediate\closeout\macscribble
- \let\xeatspaces\eatspaces
- \input \jobname.tmp
- \endgroup
-}
-\else
-\def\scanmacro#1{%
-\begingroup \newlinechar`\^^M
-\let\xeatspaces\eatspaces\scantokens{#1}\endgroup}
-\fi
+\message{cross reference,}
+% Define cross-reference macros
+\newwrite \auxfile
-\newcount\paramno % Count of parameters
-\newtoks\macname % Macro name
-\newif\ifrecursive % Is it recursive?
-
-% Utility routines.
-% Thisdoes \let #1 = #2, except with \csnames.
-\def\cslet#1#2{%
-\expandafter\expandafter
-\expandafter\let
-\expandafter\expandafter
-\csname#1\endcsname
-\csname#2\endcsname}
-
-% Trim leading and trailing spaces off a string.
-% Concepts from aro-bend problem 15 (see CTAN).
-{\catcode`\@=11
-\gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }}
-\gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@}
-\gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @}
-\def\unbrace#1{#1}
-\unbrace{\gdef\trim@@@ #1 } #2@{#1}
-}
-
-% Trim a single trailing ^^M off a string.
-{\catcode`\^^M=12\catcode`\Q=3%
-\gdef\eatcr #1{\eatcra #1Q^^MQ}%
-\gdef\eatcra#1^^MQ{\eatcrb#1Q}%
-\gdef\eatcrb#1Q#2Q{#1}%
-}
-
-% Macro bodies are absorbed as an argument in a context where
-% all characters are catcode 10, 11 or 12, except \ which is active
-% (as in normal texinfo). It is necessary to change the definition of \.
-
-% It's necessary to have hard CRs when the macro is executed. This is
-% done by making ^^M (\endlinechar) catcode 12 when reading the macro
-% body, and then making it the \newlinechar in \scanmacro.
-
-\def\macrobodyctxt{%
- \catcode`\~=12
- \catcode`\^=12
- \catcode`\_=12
- \catcode`\|=12
- \catcode`\<=12
- \catcode`\>=12
- \catcode`\+=12
- \catcode`\{=12
- \catcode`\}=12
- \catcode`\@=12
- \catcode`\^^M=12
- \usembodybackslash}
-
-\def\macroargctxt{%
- \catcode`\~=12
- \catcode`\^=12
- \catcode`\_=12
- \catcode`\|=12
- \catcode`\<=12
- \catcode`\>=12
- \catcode`\+=12
- \catcode`\@=12
- \catcode`\\=12}
-
-% \mbodybackslash is the definition of \ in @macro bodies.
-% It maps \foo\ => \csname macarg.foo\endcsname => #N
-% where N is the macro parameter number.
-% We define \csname macarg.\endcsname to be \realbackslash, so
-% \\ in macro replacement text gets you a backslash.
-
-{\catcode`@=0 @catcode`@\=@active
- @gdef@usembodybackslash{@let\=@mbodybackslash}
- @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname}
-}
-\expandafter\def\csname macarg.\endcsname{\realbackslash}
-
-\def\macro{\recursivefalse\parsearg\macroxxx}
-\def\rmacro{\recursivetrue\parsearg\macroxxx}
-
-\def\macroxxx#1{%
- \getargs{#1}% now \macname is the macname and \argl the arglist
- \ifx\argl\empty % no arguments
- \paramno=0%
- \else
- \expandafter\parsemargdef \argl;%
- \fi
- \expandafter\ifx \csname macsave.\the\macname\endcsname \relax
- \cslet{macsave.\the\macname}{\the\macname}%
- \else
- \message{Warning: redefining \the\macname}%
- \fi
- \begingroup \macrobodyctxt
- \ifrecursive \expandafter\parsermacbody
- \else \expandafter\parsemacbody
- \fi}
-
-\def\unmacro{\parsearg\unmacroxxx}
-\def\unmacroxxx#1{%
- \expandafter\ifx \csname macsave.\the\macname\endcsname \relax
- \errmessage{Macro \the\macname\ not defined.}%
- \else
- \cslet{#1}{macsave.#1}%
- \expandafter\let \csname macsave.\the\macname\endcsname \undefined
- \fi
-}
-
-% This makes use of the obscure feature that if the last token of a
-% <parameter list> is #, then the preceding argument is delimited by
-% an opening brace, and that opening brace is not consumed.
-\def\getargs#1{\getargsxxx#1{}}
-\def\getargsxxx#1#{\getmacname #1 \relax\getmacargs}
-\def\getmacname #1 #2\relax{\macname={#1}}
-\def\getmacargs#1{\def\argl{#1}}
-
-% Parse the optional {params} list. Set up \paramno and \paramlist
-% so \defmacro knows what to do. Define \macarg.blah for each blah
-% in the params list, to be ##N where N is the position in that list.
-% That gets used by \mbodybackslash (above).
-
-% We need to get `macro parameter char #' into several definitions.
-% The technique used is stolen from LaTeX: let \hash be something
-% unexpandable, insert that wherever you need a #, and then redefine
-% it to # just before using the token list produced.
-%
-% The same technique is used to protect \eatspaces till just before
-% the macro is used.
-
-\def\parsemargdef#1;{\paramno=0\def\paramlist{}%
- \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,}
-\def\parsemargdefxxx#1,{%
- \if#1;\let\next=\relax
- \else \let\next=\parsemargdefxxx
- \advance\paramno by 1%
- \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname
- {\xeatspaces{\hash\the\paramno}}%
- \edef\paramlist{\paramlist\hash\the\paramno,}%
- \fi\next}
-
-% These two commands read recursive and nonrecursive macro bodies.
-% (They're different since rec and nonrec macros end differently.)
-
-\long\def\parsemacbody#1@end macro%
-{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
-\long\def\parsermacbody#1@end rmacro%
-{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
-
-% This defines the macro itself. There are six cases: recursive and
-% nonrecursive macros of zero, one, and many arguments.
-% Much magic with \expandafter here.
-% \xdef is used so that macro definitions will survive the file
-% they're defined in; @include reads the file inside a group.
-\def\defmacro{%
- \let\hash=##% convert placeholders to macro parameter chars
- \ifrecursive
- \ifcase\paramno
- % 0
- \expandafter\xdef\csname\the\macname\endcsname{%
- \noexpand\scanmacro{\temp}}%
- \or % 1
- \expandafter\xdef\csname\the\macname\endcsname{%
- \bgroup\noexpand\macroargctxt
- \noexpand\braceorline\csname\the\macname xxx\endcsname}%
- \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
- \egroup\noexpand\scanmacro{\temp}}%
- \else % many
- \expandafter\xdef\csname\the\macname\endcsname{%
- \bgroup\noexpand\macroargctxt
- \noexpand\csname\the\macname xx\endcsname}
- \expandafter\xdef\csname\the\macname xx\endcsname##1{%
- \csname\the\macname xxx\endcsname ##1,}%
- \expandafter\expandafter
- \expandafter\xdef
- \expandafter\expandafter
- \csname\the\macname xxx\endcsname
- \paramlist{\egroup\noexpand\scanmacro{\temp}}%
- \fi
- \else
- \ifcase\paramno
- % 0
- \expandafter\xdef\csname\the\macname\endcsname{%
- \noexpand\norecurse{\the\macname}%
- \noexpand\scanmacro{\temp}\egroup}%
- \or % 1
- \expandafter\xdef\csname\the\macname\endcsname{%
- \bgroup\noexpand\macroargctxt
- \noexpand\braceorline\csname\the\macname xxx\endcsname}%
- \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
- \egroup
- \noexpand\norecurse{\the\macname}%
- \noexpand\scanmacro{\temp}\egroup}%
- \else % many
- \expandafter\xdef\csname\the\macname\endcsname{%
- \bgroup\noexpand\macroargctxt
- \noexpand\csname\the\macname xx\endcsname}
- \expandafter\xdef\csname\the\macname xx\endcsname##1{%
- \csname\the\macname xxx\endcsname ##1,}%
- \expandafter\expandafter
- \expandafter\xdef
- \expandafter\expandafter
- \csname\the\macname xxx\endcsname
- \paramlist{%
- \egroup
- \noexpand\norecurse{\the\macname}%
- \noexpand\scanmacro{\temp}\egroup}%
- \fi
- \fi}
-
-\def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
-
-% \braceorline decides whether the next nonwhitespace character is a
-% {. If so it reads up to the closing }, if not, it reads the whole
-% line. Whatever was read is then fed to the next control sequence
-% as an argument (by \parsebrace or \parsearg)
-\def\braceorline#1{\let\next=#1\futurelet\nchar\braceorlinexxx}
-\def\braceorlinexxx{%
- \ifx\nchar\bgroup\else
- \expandafter\parsearg
- \fi \next}
-
-
-\message{cross references,}
-\newwrite\auxfile
-
-\newif\ifhavexrefs % True if xref values are known.
+\newif\ifhavexrefs % True if xref values are known.
\newif\ifwarnedxrefs % True if we warned once that they aren't known.
-% @inforef is relatively simple.
+% @inforef is simple.
\def\inforef #1{\inforefzzz #1,,,,**}
\def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}},
node \samp{\ignorespaces#1{}}}
-% @node's job is to define \lastnode.
-\def\node{\ENVcheck\parsearg\nodezzz}
-\def\nodezzz#1{\nodexxx [#1,]}
-\def\nodexxx[#1,#2]{\gdef\lastnode{#1}}
-\let\nwnode=\node
-\let\lastnode=\relax
-
-% The sectioning commands (@chapter, etc.) call these.
-\def\donoderef{%
- \ifx\lastnode\relax\else
- \expandafter\expandafter\expandafter\setref{\lastnode}%
- {Ysectionnumberandtype}%
- \global\let\lastnode=\relax
- \fi
-}
-\def\unnumbnoderef{%
- \ifx\lastnode\relax\else
- \expandafter\expandafter\expandafter\setref{\lastnode}{Ynothing}%
- \global\let\lastnode=\relax
- \fi
-}
-\def\appendixnoderef{%
- \ifx\lastnode\relax\else
- \expandafter\expandafter\expandafter\setref{\lastnode}%
- {Yappendixletterandtype}%
- \global\let\lastnode=\relax
- \fi
-}
+% \setref{foo} defines a cross-reference point named foo.
+\def\setref#1{%
+\dosetq{#1-title}{Ytitle}%
+\dosetq{#1-pg}{Ypagenumber}%
+\dosetq{#1-snt}{Ysectionnumberandtype}}
-% @anchor{NAME} -- define xref target at arbitrary point.
-%
-\def\anchor#1{\setref{#1}{Ynothing}}
-
+\def\unnumbsetref#1{%
+\dosetq{#1-title}{Ytitle}%
+\dosetq{#1-pg}{Ypagenumber}%
+\dosetq{#1-snt}{Ynothing}}
-% \setref{NAME}{SNT} defines a cross-reference point NAME, namely
-% NAME-title, NAME-pg, and NAME-SNT. Called from \foonoderef. We have
-% to set \indexdummies so commands such as @code in a section title
-% aren't expanded. It would be nicer not to expand the titles in the
-% first place, but there's so many layers that that is hard to do.
-%
-\def\setref#1#2{{%
- \indexdummies
- \dosetq{#1-title}{Ytitle}%
- \dosetq{#1-pg}{Ypagenumber}%
- \dosetq{#1-snt}{#2}
-}}
+\def\appendixsetref#1{%
+\dosetq{#1-title}{Ytitle}%
+\dosetq{#1-pg}{Ypagenumber}%
+\dosetq{#1-snt}{Yappendixletterandtype}}
-% @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is
-% the node name, #2 the name of the Info cross-reference, #3 the printed
-% node name, #4 the name of the Info file, #5 the name of the printed
-% manual. All but the node name can be omitted.
+% \xref, \pxref, and \ref generate cross-references to specified points.
+% For \xrefX, #1 is the node name, #2 the name of the Info
+% cross-reference, #3 the printed node name, #4 the name of the Info
+% file, #5 the name of the printed manual. All but the node name can be
+% omitted.
%
\def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]}
\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
@@ -4772,7 +4281,7 @@ width0pt\relax} \fi
\else
% Use the actual chapter/section title appear inside
% the square brackets. Use the real section title if we have it.
- \ifdim \wd1 > 0pt
+ \ifdim \wd1>0pt%
% It is in another manual, so we don't have it.
\def\printednodename{\ignorespaces #1}%
\else
@@ -4801,32 +4310,19 @@ width0pt\relax} \fi
% into the usual \leavevmode...\vrule stuff for purposes of
% printing. So we \turnoffactive for the \refx-snt, back on for the
% printing, back off for the \refx-pg.
- {\normalturnoffactive
- % Only output a following space if the -snt ref is nonempty; for
- % @unnumbered and @anchor, it won't be.
- \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}%
- \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi
- }%
- % [mynode],
- [\printednodename],\space
- % page 3
+ {\turnoffactive \refx{#1-snt}{}}%
+ \space [\printednodename],\space
\turnoffactive \putwordpage\tie\refx{#1-pg}{}%
\fi
\endgroup}
% \dosetq is the interface for calls from other macros
-% Use \normalturnoffactive so that punctuation chars such as underscore
-% and backslash work in node names. (\turnoffactive doesn't do \.)
-\def\dosetq#1#2{%
- {\let\folio=0
- \normalturnoffactive
- \edef\next{\write\auxfile{\internalsetq{#1}{#2}}}%
- \iflinks
- \next
- \fi
- }%
-}
+% Use \turnoffactive so that punctuation chars such as underscore
+% work in node names.
+\def\dosetq #1#2{{\let\folio=0 \turnoffactive
+\edef\next{\write\auxfile{\internalsetq {#1}{#2}}}%
+\next}}
% \internalsetq {foo}{page} expands into
% CHARACTERS 'xrdef {foo}{...expansion of \Ypage...}
@@ -4877,15 +4373,13 @@ width0pt\relax} \fi
\def\refx#1#2{%
\expandafter\ifx\csname X#1\endcsname\relax
% If not defined, say something at least.
- \angleleft un\-de\-fined\angleright
- \iflinks
- \ifhavexrefs
- \message{\linenumber Undefined cross reference `#1'.}%
- \else
- \ifwarnedxrefs\else
- \global\warnedxrefstrue
- \message{Cross reference values unknown; you must run TeX again.}%
- \fi
+ $\langle$un\-de\-fined$\rangle$%
+ \ifhavexrefs
+ \message{\linenumber Undefined cross reference `#1'.}%
+ \else
+ \ifwarnedxrefs\else
+ \global\warnedxrefstrue
+ \message{Cross reference values unknown; you must run TeX again.}%
\fi
\fi
\else
@@ -4896,13 +4390,10 @@ width0pt\relax} \fi
}
% This is the macro invoked by entries in the aux file.
-%
-\def\xrdef#1{\begingroup
- % Reenable \ as an escape while reading the second argument.
- \catcode`\\ = 0
- \afterassignment\endgroup
- \expandafter\gdef\csname X#1\endcsname
-}
+\def\xrdef #1#2{{%
+ \catcode`\'=\other
+ \expandafter\gdef\csname X#1\endcsname{#2}%
+}}
% Read the last existing aux file, if any. No error if none exists.
\def\readauxfile{\begingroup
@@ -4959,7 +4450,8 @@ width0pt\relax} \fi
\catcode`\$=\other
\catcode`\#=\other
\catcode`\&=\other
- \catcode`+=\other % avoid \+ for paranoia even though we've turned it off
+ % `\+ does not work, so use 43.
+ \catcode43=\other
% Make the characters 128-255 be printing characters
{%
\count 1=128
@@ -5125,12 +4617,10 @@ width0pt\relax} \fi
% Check for and read epsf.tex up front. If we read it only at @image
% time, we might be inside a group, and then its definitions would get
% undone and the next image would fail.
-\openin 1 = epsf.tex
+\openin 1 = xepsf.tex
\ifeof 1 \else
\closein 1
- % Do not bother showing banner with post-v2.7 epsf.tex (available in
- % doc/epsf.tex until it shows up on ctan).
- \def\epsfannounce{\toks0 = }%
+ \def\epsfannounce{\toks0 = }% do not bother showing banner
\input epsf.tex
\fi
%
@@ -5160,32 +4650,39 @@ width0pt\relax} \fi
% \epsfbox itself resets \epsf?size at each figure.
\setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
\setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
- % If the image is by itself, center it.
- \ifvmode
- \nobreak\medskip
- \nobreak
- \centerline{\epsfbox{#1.eps}}%
- \bigbreak
- \else
- \epsfbox{#1.eps}%
- \fi
+ \epsfbox{#1.eps}%
}
+% End of control word definitions.
+
-\message{paper sizes,}
-% And other related parameters.
+\message{and turning on texinfo input format.}
+
+\def\openindices{%
+ \newindex{cp}%
+ \newcodeindex{fn}%
+ \newcodeindex{vr}%
+ \newcodeindex{tp}%
+ \newcodeindex{ky}%
+ \newcodeindex{pg}%
+}
+
+% Set some numeric style parameters, for 8.5 x 11 format.
+\hsize = 6in
+\hoffset = .25in
\newdimen\defaultparindent \defaultparindent = 15pt
+\parindent = \defaultparindent
+\parskip 3pt plus 2pt minus 1pt
+\setleading{13.2pt}
+\advance\topskip by 1.2cm
\chapheadingskip = 15pt plus 4pt minus 2pt
\secheadingskip = 12pt plus 3pt minus 2pt
\subsecheadingskip = 9pt plus 2pt minus 2pt
% Prevent underfull vbox error messages.
-\vbadness = 10000
-
-% Don't be so finicky about underfull hboxes, either.
-\hbadness = 2000
+\vbadness=10000
% Following George Bush, just get rid of widows and orphans.
\widowpenalty=10000
@@ -5194,126 +4691,101 @@ width0pt\relax} \fi
% Use TeX 3.0's \emergencystretch to help line breaking, but if we're
% using an old version of TeX, don't do anything. We want the amount of
% stretch added to depend on the line length, hence the dependence on
-% \hsize. This makes it come to about 9pt for the 8.5x11 format. We
-% call this whenever the paper size is set.
+% \hsize. This makes it come to about 9pt for the 8.5x11 format.
%
-\def\setemergencystretch{%
- \ifx\emergencystretch\thisisundefined
- % Allow us to assign to \emergencystretch anyway.
- \def\emergencystretch{\dimen0}%
- \else
- \emergencystretch = \hsize
- \divide\emergencystretch by 45
- \fi
-}
+\ifx\emergencystretch\thisisundefined
+ % Allow us to assign to \emergencystretch anyway.
+ \def\emergencystretch{\dimen0}%
+\else
+ \emergencystretch = \hsize
+ \divide\emergencystretch by 45
+\fi
-% Parameters in order: 1) textheight; 2) textwidth; 3) voffset;
-% 4) hoffset; 5) binding offset; 6) topskip. Then whoever calls us can
-% set \parskip and call \setleading for \baselineskip.
-%
-\def\internalpagesizes#1#2#3#4#5#6{%
- \voffset = #3\relax
- \topskip = #6\relax
- \splittopskip = \topskip
- %
- \vsize = #1\relax
- \advance\vsize by \topskip
- \outervsize = \vsize
- \advance\outervsize by 2\topandbottommargin
- \pageheight = \vsize
+% Use @smallbook to reset parameters for 7x9.5 format (or else 7x9.25)
+\def\smallbook{
+ \global\chapheadingskip = 15pt plus 4pt minus 2pt
+ \global\secheadingskip = 12pt plus 3pt minus 2pt
+ \global\subsecheadingskip = 9pt plus 2pt minus 2pt
%
- \hsize = #2\relax
- \outerhsize = \hsize
- \advance\outerhsize by 0.5in
- \pagewidth = \hsize
+ \global\lispnarrowing = 0.3in
+ \setleading{12pt}
+ \advance\topskip by -1cm
+ \global\parskip 2pt plus 1pt
+ \global\hsize = 5in
+ \global\vsize=7.5in
+ \global\tolerance=700
+ \global\hfuzz=1pt
+ \global\contentsrightmargin=0pt
+ \global\deftypemargin=0pt
+ \global\defbodyindent=.5cm
%
- \normaloffset = #4\relax
- \bindingoffset = #5\relax
+ \global\pagewidth=\hsize
+ \global\pageheight=\vsize
%
- \parindent = \defaultparindent
- \setemergencystretch
+ \global\let\smalllisp=\smalllispx
+ \global\let\smallexample=\smalllispx
+ \global\def\Esmallexample{\Esmalllisp}
}
-% @letterpaper (the default).
-\def\letterpaper{{\globaldefs = 1
- \parskip = 3pt plus 2pt minus 1pt
- \setleading{13.2pt}%
- %
- % If page is nothing but text, make it come out even.
- \internalpagesizes{46\baselineskip}{6in}{\voffset}{.25in}{\bindingoffset}{36pt}%
-}}
-
-% Use @smallbook to reset parameters for 7x9.5 (or so) format.
-\def\smallbook{{\globaldefs = 1
- \parskip = 2pt plus 1pt
- \setleading{12pt}%
- %
- \internalpagesizes{7.5in}{5.in}{\voffset}{.25in}{\bindingoffset}{16pt}%
- %
- \lispnarrowing = 0.3in
- \tolerance = 700
- \hfuzz = 1pt
- \contentsrightmargin = 0pt
- \deftypemargin = 0pt
- \defbodyindent = .5cm
- %
- \let\smalldisplay = \smalldisplayx
- \let\smallexample = \smalllispx
- \let\smallformat = \smallformatx
- \let\smalllisp = \smalllispx
-}}
-
% Use @afourpaper to print on European A4 paper.
-\def\afourpaper{{\globaldefs = 1
- \setleading{12pt}%
- \parskip = 3pt plus 2pt minus 1pt
- %
- \internalpagesizes{53\baselineskip}{160mm}{\voffset}{4mm}{\bindingoffset}{44pt}%
- %
- \tolerance = 700
- \hfuzz = 1pt
-}}
+\def\afourpaper{
+\global\tolerance=700
+\global\hfuzz=1pt
+\setleading{12pt}
+\global\parskip 15pt plus 1pt
+
+\global\vsize= 53\baselineskip
+\advance\vsize by \topskip
+%\global\hsize= 5.85in % A4 wide 10pt
+\global\hsize= 6.5in
+\global\outerhsize=\hsize
+\global\advance\outerhsize by 0.5in
+\global\outervsize=\vsize
+\global\advance\outervsize by 0.6in
+
+\global\pagewidth=\hsize
+\global\pageheight=\vsize
+}
+
+\bindingoffset=0pt
+\normaloffset=\hoffset
+\pagewidth=\hsize
+\pageheight=\vsize
+
+% Allow control of the text dimensions. Parameters in order: textheight;
+% textwidth; voffset; hoffset; binding offset; topskip.
+% All require a dimension;
+% header is additional; added length extends the bottom of the page.
+
+\def\changepagesizes#1#2#3#4#5#6{
+ \global\vsize= #1
+ \global\topskip= #6
+ \advance\vsize by \topskip
+ \global\voffset= #3
+ \global\hsize= #2
+ \global\outerhsize=\hsize
+ \global\advance\outerhsize by 0.5in
+ \global\outervsize=\vsize
+ \global\advance\outervsize by 0.6in
+ \global\pagewidth=\hsize
+ \global\pageheight=\vsize
+ \global\normaloffset= #4
+ \global\bindingoffset= #5}
% A specific text layout, 24x15cm overall, intended for A4 paper. Top margin
% 29mm, hence bottom margin 28mm, nominal side margin 3cm.
-\def\afourlatex{{\globaldefs = 1
- \setleading{13.6pt}%
- %
- \afourpaper
- \internalpagesizes{237mm}{150mm}{3.6mm}{3.6mm}{3mm}{7mm}%
- %
- \globaldefs = 0
-}}
+\def\afourlatex
+ {\global\tolerance=700
+ \global\hfuzz=1pt
+ \setleading{12pt}
+ \global\parskip 15pt plus 1pt
+ \advance\baselineskip by 1.6pt
+ \changepagesizes{237mm}{150mm}{3.6mm}{3.6mm}{3mm}{7mm}
+ }
% Use @afourwide to print on European A4 paper in wide format.
-\def\afourwide{%
- \afourpaper
- \internalpagesizes{9.5in}{6.5in}{\hoffset}{\normaloffset}{\bindingoffset}{7mm}%
- %
- \globaldefs = 0
-}
-
-% @pagesizes TEXTHEIGHT[,TEXTWIDTH]
-% Perhaps we should allow setting the margins, \topskip, \parskip,
-% and/or leading, also. Or perhaps we should compute them somehow.
-%
-\def\pagesizes{\parsearg\pagesizesxxx}
-\def\pagesizesxxx#1{\pagesizesyyy #1,,\finish}
-\def\pagesizesyyy#1,#2,#3\finish{{%
- \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi
- \globaldefs = 1
- %
- \parskip = 3pt plus 2pt minus 1pt
- \setleading{13.2pt}%
- %
- \internalpagesizes{#1}{\hsize}{\voffset}{\normaloffset}{\bindingoffset}{44pt}%
-}}
-
-% Set default to letter.
-%
-\letterpaper
-
-\message{and turning on texinfo input format.}
+\def\afourwide{\afourpaper
+\changepagesizes{9.5in}{6.5in}{\hoffset}{\normaloffset}{\bindingoffset}{7mm}}
% Define macros to output various characters with catcode for normal text.
\catcode`\"=\other
@@ -5350,10 +4822,10 @@ width0pt\relax} \fi
% use math or other variants that look better in normal text.
\catcode`\"=\active
-\def\activedoublequote{{\tt\char34}}
+\def\activedoublequote{{\tt \char '042}}
\let"=\activedoublequote
\catcode`\~=\active
-\def~{{\tt\char126}}
+\def~{{\tt \char '176}}
\chardef\hat=`\^
\catcode`\^=\active
\def^{{\tt \hat}}
@@ -5364,7 +4836,7 @@ width0pt\relax} \fi
\def\_{\leavevmode \kern.06em \vbox{\hrule width.3em height.1ex}}
\catcode`\|=\active
-\def|{{\tt\char124}}
+\def|{{\tt \char '174}}
\chardef \less=`\<
\catcode`\<=\active
\def<{{\tt \less}}
@@ -5451,17 +4923,13 @@ width0pt\relax} \fi
@gdef@fixbackslash{@ifx\@eatinput @let\ = @normalbackslash @fi
@catcode`+=@active @catcode`@_=@active}
-% These look ok in all fonts, so just make them not special. The @rm below
-% makes sure that the current font starts out as the newly loaded cmr10
+%% These look ok in all fonts, so just make them not special. The @rm below
+%% makes sure that the current font starts out as the newly loaded cmr10
@catcode`@$=@other @catcode`@%=@other @catcode`@&=@other @catcode`@#=@other
@textfonts
@rm
@c Local variables:
-@c eval: (add-hook 'write-file-hooks 'time-stamp)
@c page-delimiter: "^\\\\message"
-@c time-stamp-start: "def\\\\texinfoversion{"
-@c time-stamp-format: "%:y-%02m-%02d"
-@c time-stamp-end: "}"
@c End:
diff --git a/contrib/amd/doc/version.texi b/contrib/amd/doc/version.texi
index 05e718a873bcd..225ecdbacb37f 100644
--- a/contrib/amd/doc/version.texi
+++ b/contrib/amd/doc/version.texi
@@ -1,3 +1,3 @@
-@set UPDATED 27 December 1998
-@set EDITION 6.0
-@set VERSION 6.0
+@set UPDATED 22 April 1998
+@set EDITION 6.0a16
+@set VERSION 6.0a16
diff --git a/contrib/amd/fixmount/fixmount.8 b/contrib/amd/fixmount/fixmount.8
index 008f0b4c9afb1..88c9aef897282 100644
--- a/contrib/amd/fixmount/fixmount.8
+++ b/contrib/amd/fixmount/fixmount.8
@@ -38,7 +38,7 @@
.\"
.\" %W% (Berkeley) %G%
.\"
-.\" $Id: fixmount.8,v 1.3 1998/09/12 04:04:58 obrien Exp $
+.\" $Id: fixmount.8,v 1.2 1998/09/05 06:56:36 obrien Exp $
.\"
.Dd February 26, 1993
.Dt FIXMOUNT 8
@@ -151,7 +151,7 @@ returns for it) has been changed. To take care of these cases,
the remote
.Pa /etc/rmtab
file has to be edited and
-.Nm mountd
+.Mn mountd
restarted.
.Pp
The RPC timeouts for
diff --git a/contrib/amd/fixmount/fixmount.c b/contrib/amd/fixmount/fixmount.c
index 6c5826ab9962f..53c7807038e75 100644
--- a/contrib/amd/fixmount/fixmount.c
+++ b/contrib/amd/fixmount/fixmount.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: fixmount.c,v 1.3 1998/11/14 03:13:31 obrien Exp $
+ * $Id: fixmount.c,v 1.1.1.1 1998/08/23 22:07:20 obrien Exp $
*
*/
@@ -87,14 +87,11 @@ void print_dump(mountlist);
void usage(void);
/* dummy variables */
-#if 0
char *progname;
char hostname[MAXHOSTNAMELEN];
+int orig_umask, foreground, debug_flags;
pid_t mypid;
serv_state amd_state;
-int foreground, orig_umask;
-int debug_flags;
-#endif
void
usage(void)
@@ -357,7 +354,7 @@ main(int argc, char *argv[])
perror("gethostname");
exit(1);
}
- thishost[sizeof(thishost) - 1] = '\0';
+ thishost[sizeof(thishost) - 1] = '\0';
/*
* We need the hostname as it appears to the other side's
diff --git a/contrib/amd/fsinfo/fsi_analyze.c b/contrib/amd/fsinfo/fsi_analyze.c
index 7d897b80feecd..de2991368ccda 100644
--- a/contrib/amd/fsinfo/fsi_analyze.c
+++ b/contrib/amd/fsinfo/fsi_analyze.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: fsi_analyze.c,v 1.1.1.1 1998/11/05 02:04:53 ezk Exp $
+ * $Id: fsi_analyze.c,v 5.2.2.1 1992/02/09 15:09:41 jsp beta $
*
*/
diff --git a/contrib/amd/fsinfo/fsi_data.h b/contrib/amd/fsinfo/fsi_data.h
index 68d12aca54caa..07b7b9e798163 100644
--- a/contrib/amd/fsinfo/fsi_data.h
+++ b/contrib/amd/fsinfo/fsi_data.h
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: fsi_data.h,v 1.1.1.1 1998/11/05 02:04:54 ezk Exp $
+ * $Id: fsi_data.h,v 5.2.2.1 1992/02/09 15:09:53 jsp beta $
*
*/
@@ -89,10 +89,11 @@ struct host {
ioloc *h_ioloc;
fsmount *h_netroot, *h_netswap;
#define HF_HOST 0
- char *h_hostname; /* The full name of the host */
- char *h_lochost; /* The name of the host with local domains stripped */
- char *h_hostpath; /* The filesystem path to the host (cf
- compute_hostpath) */
+ char *h_hostname; /* The full name of the host */
+ char *h_lochost; /* The name of the host with local domains *
+ * * * stripped */
+ char *h_hostpath; /* The filesystem path to the host (cf * * *
+ * compute_hostpath) */
#define HF_ETHER 1
qelem *h_ether;
#define HF_CONFIG 2
diff --git a/contrib/amd/fsinfo/fsi_dict.c b/contrib/amd/fsinfo/fsi_dict.c
index 7c4c4821ee991..f9e686a0f3f15 100644
--- a/contrib/amd/fsinfo/fsi_dict.c
+++ b/contrib/amd/fsinfo/fsi_dict.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: fsi_dict.c,v 1.1.1.1 1998/11/05 02:04:53 ezk Exp $
+ * $Id: fsi_dict.c,v 5.2.2.1 1992/02/09 15:09:43 jsp beta $
*
*/
diff --git a/contrib/amd/fsinfo/fsi_gram.y b/contrib/amd/fsinfo/fsi_gram.y
index 50ca4d6542efc..b325c77d0ca68 100644
--- a/contrib/amd/fsinfo/fsi_gram.y
+++ b/contrib/amd/fsinfo/fsi_gram.y
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: fsi_gram.y,v 1.1.1.1 1998/11/05 02:04:54 ezk Exp $
+ * $Id: fsi_gram.y,v 5.2.2.1 1992/02/09 15:09:35 jsp beta $
*
*/
diff --git a/contrib/amd/fsinfo/fsi_lex.l b/contrib/amd/fsinfo/fsi_lex.l
index bd8181724a7e5..98b1976f745e8 100644
--- a/contrib/amd/fsinfo/fsi_lex.l
+++ b/contrib/amd/fsinfo/fsi_lex.l
@@ -18,7 +18,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -39,7 +39,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: fsi_lex.l,v 1.1.1.1 1998/11/05 02:04:54 ezk Exp $
+ * $Id: fsi_lex.l,v 5.2.2.1 1992/02/09 15:09:36 jsp beta $
*
*/
@@ -97,7 +97,7 @@ static int yylineno;
#endif /* ECHO */
/*
- * There are some things that need to be defined only if using GNU flex.
+ * There are some things that need to be defined only if useing GNU flex.
* These must not be defined if using standard lex
*/
#ifdef FLEX_SCANNER
diff --git a/contrib/amd/fsinfo/fsi_util.c b/contrib/amd/fsinfo/fsi_util.c
index 2c3cbcc02f49a..d69c4593b49e8 100644
--- a/contrib/amd/fsinfo/fsi_util.c
+++ b/contrib/amd/fsinfo/fsi_util.c
@@ -14,7 +14,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -35,7 +35,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: fsi_util.c,v 1.1.1.1 1998/11/05 02:04:53 ezk Exp $
+ * $Id: fsi_util.c,v 5.2.2.1 1992/02/09 15:09:39 jsp beta $
*
*/
diff --git a/contrib/amd/fsinfo/fsinfo.c b/contrib/amd/fsinfo/fsinfo.c
index 345aae216f498..abb1c50f3c76d 100644
--- a/contrib/amd/fsinfo/fsinfo.c
+++ b/contrib/amd/fsinfo/fsinfo.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: fsinfo.c,v 1.2 1998/08/23 22:52:08 obrien Exp $
+ * $Id: fsinfo.c,v 1.1.1.1 1998/08/23 22:07:20 obrien Exp $
*
*/
@@ -58,8 +58,8 @@
char **g_argv;
char *autodir = "/a";
char *progname;
-char hostname[MAXHOSTNAMELEN + 1];
char *username;
+char hostname[MAXHOSTNAMELEN + 1];
char idvbuf[1024];
dict *dict_of_hosts;
dict *dict_of_volnames;
@@ -80,12 +80,9 @@ char *fstab_pref;
char *mount_pref;
/* dummy variables */
-#if 0
+int orig_umask, foreground, debug_flags;
pid_t mypid;
serv_state amd_state;
-int foreground, orig_umask;
-int debug_flags;
-#endif
/*
diff --git a/contrib/amd/fsinfo/fsinfo.h b/contrib/amd/fsinfo/fsinfo.h
index 50224bb9a11f0..c02b67362f7cd 100644
--- a/contrib/amd/fsinfo/fsinfo.h
+++ b/contrib/amd/fsinfo/fsinfo.h
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: fsinfo.h,v 1.2 1998/12/27 06:25:21 ezk Exp $
+ * $Id: fsinfo.h,v 5.2.2.1 1992/02/09 15:09:51 jsp beta $
*
*/
@@ -109,7 +109,6 @@ extern void domain_strip(char *otherdom, char *localdom);
*/
#ifndef yywrap
extern int yywrap(void);
-# define yywrap() 1
#endif /* not yywrap */
extern int yyparse(void);
extern int write_atab(qelem *q);
diff --git a/contrib/amd/fsinfo/wr_atab.c b/contrib/amd/fsinfo/wr_atab.c
index 474ba4428903f..be870c0435602 100644
--- a/contrib/amd/fsinfo/wr_atab.c
+++ b/contrib/amd/fsinfo/wr_atab.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: wr_atab.c,v 1.1.1.1 1998/11/05 02:04:53 ezk Exp $
+ * $Id: wr_atab.c,v 5.2.2.1 1992/02/09 15:09:44 jsp beta $
*
*/
@@ -129,7 +129,7 @@ write_amount_info(FILE *af, automount *ap, int sk)
fsi_mount *mp = (fsi_mount *) dd->dd_data;
/*
* If the mount point and the exported volname are the
- * same then this filesystem will be recognized by
+ * same then this filesystem will be recognised by
* the restart code - so we don't need to put out a
* special rule for it.
*/
diff --git a/contrib/amd/fsinfo/wr_bparam.c b/contrib/amd/fsinfo/wr_bparam.c
index de2f55edcd3c6..fb4479c4286c8 100644
--- a/contrib/amd/fsinfo/wr_bparam.c
+++ b/contrib/amd/fsinfo/wr_bparam.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: wr_bparam.c,v 1.1.1.1 1998/11/05 02:04:53 ezk Exp $
+ * $Id: wr_bparam.c,v 5.2.2.1 1992/02/09 15:09:46 jsp beta $
*
*/
diff --git a/contrib/amd/fsinfo/wr_dumpset.c b/contrib/amd/fsinfo/wr_dumpset.c
index f1e027a6198a4..b33858dd7b968 100644
--- a/contrib/amd/fsinfo/wr_dumpset.c
+++ b/contrib/amd/fsinfo/wr_dumpset.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: wr_dumpset.c,v 1.1.1.1 1998/11/05 02:04:54 ezk Exp $
+ * $Id: wr_dumpset.c,v 5.2.2.1 1992/02/09 15:09:47 jsp beta $
*
*/
diff --git a/contrib/amd/fsinfo/wr_exportfs.c b/contrib/amd/fsinfo/wr_exportfs.c
index eb46be53b0975..56d9bd5ac14a3 100644
--- a/contrib/amd/fsinfo/wr_exportfs.c
+++ b/contrib/amd/fsinfo/wr_exportfs.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: wr_exportfs.c,v 1.1.1.1 1998/11/05 02:04:54 ezk Exp $
+ * $Id: wr_exportfs.c,v 5.2.2.1 1992/02/09 15:09:48 jsp beta $
*
*/
diff --git a/contrib/amd/fsinfo/wr_fstab.c b/contrib/amd/fsinfo/wr_fstab.c
index f03e1e3d79f91..49cbfc4351195 100644
--- a/contrib/amd/fsinfo/wr_fstab.c
+++ b/contrib/amd/fsinfo/wr_fstab.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: wr_fstab.c,v 1.1.1.1 1998/11/05 02:04:54 ezk Exp $
+ * $Id: wr_fstab.c,v 5.2.2.1 1992/02/09 15:09:49 jsp beta $
*
*/
diff --git a/contrib/amd/hlfsd/hlfsd.c b/contrib/amd/hlfsd/hlfsd.c
index c9bf37b78bcf5..1934824cbfe24 100644
--- a/contrib/amd/hlfsd/hlfsd.c
+++ b/contrib/amd/hlfsd/hlfsd.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: hlfsd.c,v 1.3 1998/11/14 03:13:31 obrien Exp $
+ * $Id: hlfsd.c,v 1.1.1.1 1998/08/23 22:07:20 obrien Exp $
*
* HLFSD was written at Columbia University Computer Science Department, by
* Erez Zadok <ezk@cs.columbia.edu> and Alexander Dupuy <dupuy@cs.columbia.edu>
@@ -83,22 +83,18 @@ char *alt_spooldir = ALT_SPOOLDIR;
char *home_subdir = HOME_SUBDIR;
char *logfile = DEFAULT_LOGFILE;
char *passwdfile = NULL; /* alternate passwd file to use */
-#if 0
char *progname;
-int foreground = 1; /* This is the top-level server */
-#endif
char *slinkname = 0;
char hostname[MAXHOSTNAMELEN + 1] = "localhost";
int cache_interval = DEFAULT_CACHE_INTERVAL;
+int foreground = 1; /* This is the top-level server */
gid_t hlfs_gid = (gid_t) INVALIDID;
int masterpid = 0;
int noverify = 0;
-int orig_umask = 022;
+int orig_umask;
int serverpid = 0;
nfstime startup;
-#if 0
pid_t mypid; /* Current process id */
-#endif
serv_state amd_state;
u_short nfs_port;
@@ -109,11 +105,9 @@ char *mnttab_file_name = MNTTAB_FILE_NAME;
char *mnttab_file_name = NULL;
#endif /* not MOUNT_TABLE_ON_FILE */
-#if 0
#ifdef DEBUG
int debug_flags = 0;
#endif /* DEBUG */
-#endif
/* forward declarations */
void hlfsd_going_down(int rc);
@@ -124,7 +118,7 @@ usage(void)
{
fprintf(stderr,
"Usage: %s [-Cfhnpv] [-a altdir] [-c cache-interval] [-g group]\n",
- am_get_progname());
+ progname);
fprintf(stderr, "\t[-i interval] [-l logfile] [-o mntopts] [-P passwdfile]\n");
show_opts('x', xlog_opt);
#ifdef DEBUG
@@ -143,7 +137,6 @@ main(int argc, char *argv[])
char hostpid_fs[MAXHOSTNAMELEN + 1 + 16]; /* room for ":(pid###)" */
char progpid_fs[PROGNAMESZ + 1 + 11]; /* room for ":pid" */
char preopts[128];
- char *progname;
int forcecache = 0;
int forcefast = 0;
int genflags = 0;
@@ -178,15 +171,14 @@ main(int argc, char *argv[])
progname = argv[0];
if ((int) strlen(progname) > PROGNAMESZ) /* truncate to reasonable size */
progname[PROGNAMESZ] = '\0';
- am_set_progname(progname);
- while ((opt = getopt(argc, argv, "a:c:CD:fg:hi:l:no:pP:x:v")) != -1)
+ while ((opt = getopt(argc, argv, "a:c:CD:fg:hi:l:no:pP:x:v")) != EOF)
switch (opt) {
case 'a':
if (!optarg || optarg[0] != '/') {
printf("%s: invalid directory for -a: %s\n",
- am_get_progname(), optarg);
+ progname, optarg);
exit(3);
}
alt_spooldir = optarg;
@@ -195,7 +187,7 @@ main(int argc, char *argv[])
case 'c':
if (!atoi(optarg)) {
printf("%s: invalid interval for -c: %s\n",
- am_get_progname(), optarg);
+ progname, optarg);
exit(3);
}
cache_interval = atoi(optarg);
@@ -216,7 +208,7 @@ main(int argc, char *argv[])
case 'i':
if (!atoi(optarg)) {
printf("%s: invalid interval for -i: %s\n",
- am_get_progname(), optarg);
+ progname, optarg);
exit(3);
}
reloadinterval.it_interval.tv_sec = atoi(optarg);
@@ -255,7 +247,7 @@ main(int argc, char *argv[])
#ifdef DEBUG
opterrs += debug_option(optarg);
#else /* not DEBUG */
- fprintf(stderr, "%s: not compiled with DEBUG -- sorry.\n", am_get_progname());
+ fprintf(stderr, "%s: not compiled with DEBUG -- sorry.\n", progname);
#endif /* not DEBUG */
break;
@@ -268,7 +260,7 @@ main(int argc, char *argv[])
if (xlog_level_init == ~0)
switch_option("");
/* need my pid before any dlog/plog */
- am_set_mypid();
+ mypid = getpid();
#ifdef DEBUG
switch_option("debug");
#endif /* DEBUG */
@@ -279,7 +271,7 @@ main(int argc, char *argv[])
*/
#if !defined(MNT2_NFS_OPT_ACREGMIN) && !defined(MNT2_NFS_OPT_NOAC) && !defined(HAVE_FIELD_NFS_ARGS_T_ACREGMIN)
if (!forcecache) {
- fprintf(stderr, "%s: will not be able to turn off attribute caches.\n", am_get_progname());
+ fprintf(stderr, "%s: will not be able to turn off attribute caches.\n", progname);
exit(1);
}
#endif /* !defined(MNT2_NFS_OPT_ACREGMIN) && !defined(MNT2_NFS_OPT_NOAC) && !defined(HAVE_FIELD_NFS_ARGS_T_ACREGMIN) */
@@ -310,19 +302,19 @@ main(int argc, char *argv[])
/* find gid for hlfs_group */
if ((grp = getgrnam(hlfs_group)) == (struct group *) NULL) {
fprintf(stderr, "%s: cannot get gid for group \"%s\".\n",
- am_get_progname(), hlfs_group);
+ progname, hlfs_group);
} else {
hlfs_gid = grp->gr_gid;
}
/* get hostname for logging and open log before we reset umask */
- gethostname(hostname, sizeof(hostname));
+ gethostname(hostname, sizeof hostname);
hostname[sizeof(hostname) - 1] = '\0';
if ((dot = strchr(hostname, '.')) != NULL)
*dot = '\0';
- orig_umask = umask(0);
if (logfile)
- switch_to_logfile(logfile, orig_umask);
+ switch_to_logfile(logfile);
+ orig_umask = umask(0);
#if defined(DEBUG) && !defined(MOUNT_TABLE_ON_FILE)
if (debug_flags & D_MTAB)
@@ -347,7 +339,7 @@ main(int argc, char *argv[])
if (slinkname)
*--slinkname = '/';
printf("%s: invalid mount directory/link %s\n",
- am_get_progname(), dir_name);
+ progname, dir_name);
exit(3);
}
@@ -362,7 +354,7 @@ main(int argc, char *argv[])
if ((stmodes.st_mode & 0555) != 0555) {
fprintf(stderr, "%s: directory %s not read/executable\n",
- am_get_progname(), dir_name);
+ progname, dir_name);
plog(XLOG_WARNING, "directory %s not read/executable",
dir_name);
}
@@ -380,7 +372,7 @@ main(int argc, char *argv[])
if (direntry != NULL) {
fprintf(stderr, "%s: %s/%s will be hidden by mount\n",
- am_get_progname(), dir_name, direntry->d_name);
+ progname, dir_name, direntry->d_name);
plog(XLOG_WARNING, "%s/%s will be hidden by mount\n",
dir_name, direntry->d_name);
}
@@ -389,7 +381,7 @@ main(int argc, char *argv[])
/* make sure alternate spool dir exists */
if ((errno = mkdirs(alt_spooldir, OPEN_SPOOLMODE))) {
fprintf(stderr, "%s: cannot create alternate dir ",
- am_get_progname());
+ progname);
perror(alt_spooldir);
plog(XLOG_ERROR, "cannot create alternate dir %s: %m",
alt_spooldir);
@@ -401,7 +393,7 @@ main(int argc, char *argv[])
if (lstat(dir_name, &stmodes) == 0 &&
(stmodes.st_mode & S_IFMT) != S_IFLNK) {
fprintf(stderr, "%s: failsafe %s not a symlink\n",
- am_get_progname(), dir_name);
+ progname, dir_name);
plog(XLOG_WARNING, "failsafe %s not a symlink\n",
dir_name);
} else {
@@ -410,7 +402,7 @@ main(int argc, char *argv[])
if (symlink(alt_spooldir, dir_name) < 0) {
fprintf(stderr,
"%s: cannot create failsafe symlink %s -> ",
- am_get_progname(), dir_name);
+ progname, dir_name);
perror(alt_spooldir);
plog(XLOG_WARNING,
"cannot create failsafe symlink %s -> %s: %m",
@@ -525,7 +517,7 @@ main(int argc, char *argv[])
* Update hostname field.
* Make some name prog:pid (i.e., hlfsd:174) for hostname
*/
- sprintf(progpid_fs, "%s:%d", am_get_progname(), masterpid);
+ sprintf(progpid_fs, "%s:%d", progname, masterpid);
/* Most kernels have a name length restriction. */
if ((int) strlen(progpid_fs) >= (int) MAXHOSTNAMELEN)
@@ -601,7 +593,7 @@ main(int argc, char *argv[])
fatal("nfsmount: %m");
} else { /* asked for -D nodaemon */
if (fork() == 0) { /* child runs mount */
- am_set_mypid();
+ mypid = getpid();
foreground = 0;
plog(XLOG_INFO, "child NFS mounting hlfsd service points");
if (mount_fs(&mnt, genflags, (caddr_t) &nfs_args, retry, type, 0, NULL, mnttab_file_name) < 0) {
@@ -678,7 +670,7 @@ hlfsd_init(void)
if (child != 0) { /* parent process - save child pid */
masterpid = child;
- am_set_mypid(); /* for logging routines */
+ mypid = getpid(); /* for logging routines */
return;
}
@@ -691,7 +683,7 @@ hlfsd_init(void)
plt_init(); /* initialize database */
plog(XLOG_INFO, "home directory database initialized");
- masterpid = serverpid = am_set_mypid(); /* for logging routines */
+ masterpid = serverpid = mypid = getpid(); /* for logging routines */
/*
* SIGALRM/SIGHUP: reload password database if timer expired
@@ -724,7 +716,7 @@ hlfsd_init(void)
#endif /* not HAVE_SIGACTION */
/*
- * SIGCHLD: interlock synchronization and testing
+ * SIGCHLD: interlock sycronization and testing
*/
#ifdef HAVE_SIGACTION
sa.sa_handler = interlock;
@@ -815,7 +807,7 @@ reload(int signum)
* can be rotated)
*/
if (signum == SIGHUP && logfile)
- switch_to_logfile(logfile, orig_umask);
+ switch_to_logfile(logfile);
/*
* parent performs the reload, while the child continues to serve
@@ -823,7 +815,7 @@ reload(int signum)
*/
if ((child = fork()) > 0) {
serverpid = child; /* parent runs here */
- am_set_mypid();
+ mypid = getpid();
plt_init();
@@ -847,7 +839,7 @@ reload(int signum)
} else {
/* let child handle requests while we reload */
serverpid = getpid();
- am_set_mypid();
+ mypid = getpid();
}
}
@@ -871,10 +863,10 @@ cleanup(int signum)
#endif /* DEBUG */
if (fork() != 0) {
masterpid = 0;
- am_set_mypid();
+ mypid = getpid();
return;
}
- am_set_mypid();
+ mypid = getpid();
for (;;) {
while ((umount_result = UMOUNT_FS(dir_name, mnttab_file_name)) == EBUSY) {
@@ -886,7 +878,7 @@ cleanup(int signum)
if (stat(dir_name, &stbuf) == 0 && stbuf.st_ino == ROOTID) {
plog(XLOG_ERROR, "unable to unmount %s", dir_name);
plog(XLOG_ERROR, "suspending, unmount before terminating");
- kill(am_mypid, SIGSTOP);
+ kill(mypid, SIGSTOP);
continue; /* retry unmount */
}
break;
@@ -922,7 +914,7 @@ reaper(int signum)
void
hlfsd_going_down(int rc)
{
- int mypid = getpid(); /* XXX: should this be the global am_mypid */
+ int mypid = getpid();
if (mypid == masterpid)
cleanup(0);
@@ -943,17 +935,17 @@ fatal(char *mess)
messlen = strlen(mess);
if (!STREQ(&mess[messlen + 1 - sizeof(ERRM)], ERRM))
- fprintf(stderr, "%s: %s\n", am_get_progname(), mess);
+ fprintf(stderr, "%s: %s\n", progname, mess);
else {
strcpy(lessmess, mess);
lessmess[messlen - 4] = '\0';
if (errno < sys_nerr)
- fprintf(stderr, "%s: %s: %s\n", am_get_progname(),
+ fprintf(stderr, "%s: %s: %s\n", progname,
lessmess, sys_errlist[errno]);
else
fprintf(stderr, "%s: %s: Error %d\n",
- am_get_progname(), lessmess, errno);
+ progname, lessmess, errno);
}
}
plog(XLOG_FATAL, mess);
diff --git a/contrib/amd/hlfsd/hlfsd.h b/contrib/amd/hlfsd/hlfsd.h
index 2c17792badade..dec5d918bcc09 100644
--- a/contrib/amd/hlfsd/hlfsd.h
+++ b/contrib/amd/hlfsd/hlfsd.h
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: hlfsd.h,v 1.1.1.1 1998/11/05 02:04:55 ezk Exp $
+ * $Id: hlfs.h,v 1.9 1993/09/13 15:11:00 ezk Exp $
*
* HLFSD was written at Columbia University Computer Science Department, by
* Erez Zadok <ezk@cs.columbia.edu> and Alexander Dupuy <dupuy@cs.columbia.edu>
@@ -110,7 +110,7 @@
(fatal (strcat (strnsave ((str), strlen ((str)) + sizeof (ERRM) - 1), ERRM)))
/*
- * TYPEDEFS:
+ * TYPDEFS:
*/
typedef struct uid2home_t uid2home_t;
typedef struct username2uid_t username2uid_t;
diff --git a/contrib/amd/hlfsd/homedir.c b/contrib/amd/hlfsd/homedir.c
index e8e2257a47ee2..b8c45c2ff534b 100644
--- a/contrib/amd/hlfsd/homedir.c
+++ b/contrib/amd/hlfsd/homedir.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: homedir.c,v 1.2 1998/08/23 22:52:09 obrien Exp $
+ * $Id: homedir.c,v 1.1.1.1 1998/08/23 22:07:20 obrien Exp $
*
* HLFSD was written at Columbia University Computer Science Department, by
* Erez Zadok <ezk@cs.columbia.edu> and Alexander Dupuy <dupuy@cs.columbia.edu>
@@ -182,7 +182,7 @@ homedir(int userid)
* to the parent upon SIGCHLD in interlock().
*
*/
- am_set_mypid(); /* for logging routines */
+ mypid = getpid(); /* for logging routines */
if (seteuid(userid) < 0) {
plog(XLOG_WARNING, "could not seteuid to %d: %m", userid);
return linkval;
diff --git a/contrib/amd/hlfsd/nfs_prot_svc.c b/contrib/amd/hlfsd/nfs_prot_svc.c
index 8efe21111713a..fc2e663ee42f0 100644
--- a/contrib/amd/hlfsd/nfs_prot_svc.c
+++ b/contrib/amd/hlfsd/nfs_prot_svc.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: nfs_prot_svc.c,v 1.1.1.1 1998/11/05 02:04:55 ezk Exp $
+ * $Id: nfs_prot_svc.c,v 5.2.2.1 1992/02/09 15:09:30 jsp beta $
*
*/
diff --git a/contrib/amd/hlfsd/stubs.c b/contrib/amd/hlfsd/stubs.c
index 637bf09e868cf..2ead112882c04 100644
--- a/contrib/amd/hlfsd/stubs.c
+++ b/contrib/amd/hlfsd/stubs.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: stubs.c,v 1.1.1.1 1998/11/05 02:04:55 ezk Exp $
+ * $Id: stubs.c,v 1.10 1993/09/13 15:11:00 ezk Exp $
*
* HLFSD was written at Columbia University Computer Science Department, by
* Erez Zadok <ezk@cs.columbia.edu> and Alexander Dupuy <dupuy@cs.columbia.edu>
@@ -132,7 +132,7 @@ nfsproc_getattr_2_svc(am_nfs_fh *argp, struct svc_req *rqstp)
#ifndef MNT2_NFS_OPT_SYMTTL
/*
* This code is needed to defeat Solaris 2.4's (and newer) symlink
- * values cache. It forces the last-modified time of the symlink to be
+ * values cache. It forces the last-modifed time of the symlink to be
* current. It is not needed if the O/S has an nfs flag to turn off the
* symlink-cache at mount time (such as Irix 5.x and 6.x). -Erez.
*/
@@ -158,7 +158,7 @@ nfsproc_getattr_2_svc(am_nfs_fh *argp, struct svc_req *rqstp)
un_fattr.na_fileid = uid;
res.ns_u.ns_attr_u = un_fattr;
#ifdef DEBUG
- dlog("nfs_getattr: successful search for uid=%d, gid=%d", uid, gid);
+ dlog("nfs_getattr: succesful search for uid=%d, gid=%d", uid, gid);
#endif /* DEBUG */
} else { /* not found */
res.ns_status = NFSERR_STALE;
@@ -233,7 +233,7 @@ nfsproc_lookup_2_svc(nfsdiropargs *argp, struct svc_req *rqstp)
return &res;
}
- /* if gets here, gid == hlfs_gid */
+ /* if get's here, gid == hlfs_gid */
if ((idx = untab_index(argp->da_name)) < 0) {
res.dr_status = NFSERR_NOENT;
return &res;
@@ -248,7 +248,7 @@ nfsproc_lookup_2_svc(nfsdiropargs *argp, struct svc_req *rqstp)
res.dr_u.dr_drok_u.drok_fhandle = un_fhandle;
res.dr_status = NFS_OK;
#ifdef DEBUG
- dlog("nfs_lookup: successful lookup for uid=%d, gid=%d: username=%s",
+ dlog("nfs_lookup: succesful lookup for uid=%d, gid=%d: username=%s",
uid, gid, untab[idx].username);
#endif /* DEBUG */
return &res;
@@ -279,7 +279,7 @@ getcreds(struct svc_req *rp, uid_t *u, gid_t *g)
case AUTH_DES:
adp = (struct authdes_cred *) rp->rq_clntcred;
*g = INVALIDID; /* some unknown group id */
- if (sscanf(adp->adc_fullname.name, "unix.%lu@", (u_long *) u) == 1)
+ if (sscanf(adp->adc_fullname.name, "unix.%lu@", u) == 1)
break;
/* fall through */
#endif /* HAVE_RPC_AUTH_DES_H */
diff --git a/contrib/amd/include/am_defs.h b/contrib/amd/include/am_defs.h
index 91650a6903af1..b7d36c2f580f2 100644
--- a/contrib/amd/include/am_defs.h
+++ b/contrib/amd/include/am_defs.h
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: am_defs.h,v 1.3 1998/11/14 03:13:32 obrien Exp $
+ * $Id: am_defs.h,v 1.1.1.1 1998/08/23 22:07:20 obrien Exp $
*
*/
@@ -401,10 +401,6 @@ extern int errno;
* Actions to take if <rpcsvc/yp_prot.h> exists.
*/
#ifdef HAVE_RPCSVC_YP_PROT_H
-# ifdef HAVE_BAD_HEADERS
-/* avoid circular dependency in aix 4.3 with <rpcsvc/ypclnt.h> */
-struct ypall_callback;
-# endif /* HAVE_BAD_HEADERS */
# include <rpcsvc/yp_prot.h>
#endif /* HAVE_RPCSVC_YP_PROT_H */
@@ -491,18 +487,6 @@ struct ypall_callback;
/* conflicts with <statfsbuf.h> */
# define _SYS_STATFS_H
# endif /* HAVE_SOCKETBITS_H */
-# ifdef HAVE_LINUX_POSIX_TYPES_H
-# include <linux/posix_types.h>
-# endif /* HAVE_LINUX_POSIX_TYPES_H */
-# ifndef _LINUX_BYTEORDER_GENERIC_H
-# define _LINUX_BYTEORDER_GENERIC_H
-# endif /* _LINUX_BYTEORDER_GENERIC_H */
-/* conflicts with <sys/mount.h> in 2.1 kernels */
-# ifdef _SYS_MOUNT_H
-# ifdef BLOCK_SIZE
-# undef BLOCK_SIZE
-# endif /* BLOCK_SIZE */
-# endif /* _SYS_MOUNT_H */
# include <linux/fs.h>
#endif /* HAVE_LINUX_FS_H */
@@ -646,10 +630,6 @@ struct ypall_callback;
* Actions to take if <arpa/inet.h> exists.
*/
#ifdef HAVE_ARPA_INET_H
-# ifdef HAVE_BAD_HEADERS
-/* aix 4.3: avoid including <net/if_dl.h> */
-struct sockaddr_dl;
-# endif /* HAVE_BAD_HEADERS */
# include <arpa/inet.h>
#endif /* HAVE_ARPA_INET_H */
@@ -1005,7 +985,7 @@ extern char *nc_sperror(void);
*/
#ifdef HAVE_TIUSER_H
/*
- * Some systems like AIX have multiple definitions for T_NULL and others
+ * Some systems like AIX have multiple definitions for T_NULL and othersd
* that are defined first in <arpa/nameser.h>.
*/
# ifdef HAVE_ARPA_NAMESER_H
@@ -1066,7 +1046,7 @@ extern char *nc_sperror(void);
#ifndef STAT_MACROS_BROKEN_notused
/*
* RedHat Linux 4.2 (alpha) has a problem in the headers that causes
- * duplicate definitions, and also some other nasty bugs. Upgrade to Redhat
+ * dupicate definitions, and also some other nasty bugs. Upgrade to Redhat
* 5.0!
*/
# ifdef HAVE_SYS_STAT_H
@@ -1250,10 +1230,6 @@ extern int getdtablesize(void);
extern int gethostname(char *name, int namelen);
#endif /* defined(HAVE_GETHOSTNAME) && !defined(HAVE_EXTERN_GETHOSTNAME) */
-#ifndef HAVE_EXTERN_GETLOGIN
-extern char *getlogin(void);
-#endif /* not HAVE_EXTERN_GETLOGIN */
-
#if defined(HAVE_GETPAGESIZE) && !defined(HAVE_EXTERN_GETPAGESIZE)
extern int getpagesize(void);
#endif /* defined(HAVE_GETPAGESIZE) && !defined(HAVE_EXTERN_GETPAGESIZE) */
@@ -1274,10 +1250,6 @@ extern int mkstemp(char *);
extern caddr_t sbrk(int incr);
#endif /* not HAVE_EXTERN_SBRK */
-#if defined(HAVE_SETEUID) && !defined(HAVE_EXTERN_SETEUID)
-extern int seteuid(uid_t euid);
-#endif /* not defined(HAVE_SETEUID) && !defined(HAVE_EXTERN_SETEUID) */
-
#ifndef HAVE_EXTERN_STRCASECMP
/*
* define this extern even if function does not exist, for it will
@@ -1311,9 +1283,12 @@ extern int wait3(int *statusp, int options, struct rusage *rusage);
#endif /* defined(HAVE_WAIT3) && !defined(HAVE_EXTERN_WAIT3) */
#ifndef HAVE_EXTERN_XDR_OPAQUE_AUTH
-extern bool_t xdr_opaque_auth(XDR *xdrs, struct opaque_auth *auth);
+extern bool_t xdr_opaque_auth(XDR *, struct opaque_auth *);
#endif /* not HAVE_EXTERN_XDR_OPAQUE_AUTH */
+#ifndef HAVE_EXTERN_GETLOGIN
+extern char *getlogin(void);
+#endif /* not HAVE_EXTERN_GETLOGIN */
/****************************************************************************/
/*
@@ -1325,13 +1300,13 @@ extern bool_t xdr_opaque_auth(XDR *xdrs, struct opaque_auth *auth);
#include <am_utils.h>
#include <amq_defs.h>
#include <aux_conf.h>
-/* compatibility with old amd, while autoconfiscating it */
+/* compatibilty with old amd, while autoconfistating it */
#include <am_compat.h>
/****************************************************************************/
/*
- * External definitions that depend on other macros available (or not)
+ * External defintions that depend on other macros available (or not)
* and those are probably declared in any of the above headers.
*/
diff --git a/contrib/amd/include/am_utils.h b/contrib/amd/include/am_utils.h
index 24741b8394f88..f4e0ccfcddbfb 100644
--- a/contrib/amd/include/am_utils.h
+++ b/contrib/amd/include/am_utils.h
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: am_utils.h,v 1.2 1998/12/27 06:25:23 ezk Exp $
+ * $Id: am_utils.h,v 1.1 1996/01/13 23:23:39 ezk Exp ezk $
*
*/
@@ -158,7 +158,7 @@ extern int umount_fs(char *fs_name, const char *mnttabname);
*/
#define FSF_VALID 0x0001 /* Valid information available */
#define FSF_DOWN 0x0002 /* This fileserver is thought to be down */
-#define FSF_ERROR 0x0004 /* Permanent error has occurred */
+#define FSF_ERROR 0x0004 /* Permanent error has occured */
#define FSF_WANT 0x0008 /* Want a wakeup call */
#define FSF_PINGING 0x0010 /* Already doing pings */
#define FSRV_ISDOWN(fs) (((fs)->fs_flags & (FSF_DOWN|FSF_VALID)) == (FSF_DOWN|FSF_VALID))
@@ -425,7 +425,7 @@ typedef struct am_stats am_stats;
struct amd_stats {
int d_drops; /* Dropped requests */
int d_stale; /* Stale NFS handles */
- int d_mok; /* Successful mounts */
+ int d_mok; /* Succesful mounts */
int d_merr; /* Failed mounts */
int d_uerr; /* Failed unmounts */
};
@@ -495,7 +495,7 @@ extern char version[]; /* Version info */
/*
* Global variables.
*/
-extern AUTH *nfs_auth; /* Dummy authorization for remote servers */
+extern AUTH *nfs_auth; /* Dummy uthorisation for remote servers */
extern FILE *logfp; /* Log file */
extern am_node **exported_ap; /* List of nodes */
extern am_node *root_node; /* Node for "root" */
@@ -503,22 +503,8 @@ extern char *PrimNetName; /* Name of primary connected network */
extern char *PrimNetNum; /* Name of primary connected network */
extern char *SubsNetName; /* Name of subsidiary connected network */
extern char *SubsNetNum; /* Name of subsidiary connected network */
-
-#if 0
-extern char *progname; /* "amd" */
-#endif
-extern void am_set_progname(char *pn); /* "amd" */
-extern const char * am_get_progname(void); /* "amd" */
-extern void am_set_hostname(char *hn);
-extern const char * am_get_hostname(void);
-extern pid_t am_set_mypid(void);
-extern pid_t am_mypid;
-
-#if 0
+extern char *progname; /* "amd"|"mmd" */
extern char hostname[]; /* "kiska" */
-extern pid_t mypid; /* Current process id */
-#endif
-
extern int first_free_map; /* First free node */
extern int foreground; /* Foreground process */
extern int immediate_abort; /* Should close-down unmounts be retried */
@@ -527,6 +513,7 @@ extern int orig_umask; /* umask() on startup */
extern int task_notify_todo; /* Task notifier needs running */
extern int xlog_level; /* Logging level */
extern int xlog_level_init;
+extern pid_t mypid; /* Current process id */
extern serv_state amd_state; /* Should we go now */
extern struct in_addr myipaddr; /* (An) IP address of this host */
extern struct opt_tab xlog_opt[];
@@ -578,7 +565,6 @@ extern int make_nfs_auth(void);
extern int make_rpc_packet(char *, int, u_long, struct rpc_msg *, voidp, XDRPROC_T_TYPE, AUTH *);
extern int mapc_keyiter(mnt_map *, void(*)(char *, voidp), voidp);
extern int mapc_search(mnt_map *, char *, char **);
-extern int mapc_type_exists(const char *type);
extern int mkdirs(char *, int);
extern int mount_auto_node(char *, voidp);
extern int mount_automounter(int);
@@ -590,7 +576,7 @@ extern int pickup_rpc_reply(voidp, int, voidp, XDRPROC_T_TYPE);
extern int root_keyiter(void(*)(char *, voidp), voidp);
extern int softclock(void);
extern int switch_option(char *);
-extern int switch_to_logfile(char *logfile, int orig_umask);
+extern int switch_to_logfile(char *);
extern int timeout(u_int, void (*fn)(voidp), voidp);
extern int valid_key(char *);
extern mnt_map *mapc_find(char *, char *, const char *);
@@ -865,7 +851,7 @@ extern int amfs_link_fmount(mntfs *mf);
#endif /* HAVE_AM_FS_LINK */
/*
- * Symbolic-link file system, which also checks that the target of
+ * Symbolic-link file syste, which also checks that the target of
* the symlink exists.
* A "filesystem" which is just a symbol link.
*/
@@ -959,7 +945,7 @@ extern void print_nfs_args(const nfs_args_t *nap, u_long nfs_version);
#endif /* not DEBUG */
extern int debug_flags; /* Debug options */
-extern int debug_option (char *opt);
+extern int debug_option (char *);
extern struct opt_tab dbg_opt[];
extern void dplog(char *fmt, ...);
diff --git a/contrib/amd/include/am_xdr_func.h b/contrib/amd/include/am_xdr_func.h
index 206217cdfd438..936400280a9fd 100644
--- a/contrib/amd/include/am_xdr_func.h
+++ b/contrib/amd/include/am_xdr_func.h
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: am_xdr_func.h,v 1.1.1.1 1998/11/05 02:04:43 ezk Exp $
+ * $Id: am_xdr_func.c,v 5.2.2.1 1992/02/09 15:08:40 ezk beta $
*
*/
diff --git a/contrib/amd/include/amq_defs.h b/contrib/amd/include/amq_defs.h
index f3caf8a158309..e2f941bfa027f 100644
--- a/contrib/amd/include/amq_defs.h
+++ b/contrib/amd/include/amq_defs.h
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: amq_defs.h,v 1.1.1.1 1998/11/05 02:04:44 ezk Exp $
+ * $Id: amq_defs.h,v 1.1 1996/01/13 23:23:39 ezk Exp ezk $
*
*/
diff --git a/contrib/amd/libamu/amu.h b/contrib/amd/libamu/amu.h
index 38532d0139077..f69b99ed31dce 100644
--- a/contrib/amd/libamu/amu.h
+++ b/contrib/amd/libamu/amu.h
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: amu.h,v 1.1.1.1 1998/11/05 02:04:45 ezk Exp $
+ * $Id: amu.h,v 1.1 1996/01/13 23:23:39 ezk Exp ezk $
*
*/
diff --git a/contrib/amd/libamu/clnt_sperrno.c b/contrib/amd/libamu/clnt_sperrno.c
deleted file mode 100644
index d3b48d1cd4053..0000000000000
--- a/contrib/amd/libamu/clnt_sperrno.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright (c) 1997-1998 Erez Zadok
- * Copyright (c) 1990 Jan-Simon Pendry
- * Copyright (c) 1990 Imperial College of Science, Technology & Medicine
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Jan-Simon Pendry at Imperial College, London.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * %W% (Berkeley) %G%
- *
- * $Id: clnt_sperrno.c,v 5.2.2.1 1992/02/09 15:08:40 jsp beta $
- *
- */
-
-/*
- * Early RPC seems to be missing these..
- * Extracted from the RPC 3.9 sources as indicated
- */
-
-/* @(#)clnt_perror.c 1.1 87/11/04 3.9 RPCSRC */
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part. Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California 94043
- */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif /* HAVE_CONFIG_H */
-#include <am_defs.h>
-#include <amu.h>
-
-
-struct rpc_errtab {
- enum clnt_stat status;
- char *message;
-};
-
-static struct rpc_errtab rpc_errlist[] =
-{
- {RPC_SUCCESS,
- "RPC: Success"},
- {RPC_CANTENCODEARGS,
- "RPC: Can't encode arguments"},
- {RPC_CANTDECODERES,
- "RPC: Can't decode result"},
- {RPC_CANTSEND,
- "RPC: Unable to send"},
- {RPC_CANTRECV,
- "RPC: Unable to receive"},
- {RPC_TIMEDOUT,
- "RPC: Timed out"},
- {RPC_VERSMISMATCH,
- "RPC: Incompatible versions of RPC"},
- {RPC_AUTHERROR,
- "RPC: Authentication error"},
- {RPC_PROGUNAVAIL,
- "RPC: Program unavailable"},
- {RPC_PROGVERSMISMATCH,
- "RPC: Program/version mismatch"},
- {RPC_PROCUNAVAIL,
- "RPC: Procedure unavailable"},
- {RPC_CANTDECODEARGS,
- "RPC: Server can't decode arguments"},
- {RPC_SYSTEMERROR,
- "RPC: Remote system error"},
- {RPC_UNKNOWNHOST,
- "RPC: Unknown host"},
-/* { RPC_UNKNOWNPROTO,
- * "RPC: Unknown protocol" }, */
- {RPC_PMAPFAILURE,
- "RPC: Port mapper failure"},
- {RPC_PROGNOTREGISTERED,
- "RPC: Program not registered"},
- {RPC_FAILED,
- "RPC: Failed (unspecified error)"}
-};
-
-
-/*
- * This interface for use by clntrpc
- */
-char *
-clnt_sperrno(enum clnt_stat stat)
-{
- int i;
-
- for (i = 0; i < sizeof(rpc_errlist) / sizeof(struct rpc_errtab); i++) {
- if (rpc_errlist[i].status == stat) {
- return (rpc_errlist[i].message);
- }
- }
- return ("RPC: (unknown error code)");
-}
diff --git a/contrib/amd/libamu/hasmntopt.c b/contrib/amd/libamu/hasmntopt.c
index 2ed75f574578c..7cf9167b2baf0 100644
--- a/contrib/amd/libamu/hasmntopt.c
+++ b/contrib/amd/libamu/hasmntopt.c
@@ -17,7 +17,7 @@ n * modification, are permitted provided that the following conditions
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@ n * modification, are permitted provided that the following conditions
*
* %W% (Berkeley) %G%
*
- * $Id: hasmntopt.c,v 1.1.1.1 1998/11/05 02:04:44 ezk Exp $
+ * $Id: hasmntopt.c,v 5.2.2.2 1992/05/31 16:35:45 jsp Exp $
*
*/
@@ -84,7 +84,7 @@ nextmntopt(char **p)
cp++;
/*
- * If separator found the overwrite with null char.
+ * If separator found the overwrite with nul char.
*/
if (*cp) {
*cp = '\0';
diff --git a/contrib/amd/libamu/misc_rpc.c b/contrib/amd/libamu/misc_rpc.c
index ec34e3505cfc0..b6d23cd9e535e 100644
--- a/contrib/amd/libamu/misc_rpc.c
+++ b/contrib/amd/libamu/misc_rpc.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: misc_rpc.c,v 1.1.1.1 1998/11/05 02:04:45 ezk Exp $
+ * $Id: misc_rpc.c,v 5.2.2.1 1992/02/09 15:08:40 jsp beta $
*
*/
@@ -65,7 +65,7 @@ void
rpc_msg_init(struct rpc_msg *mp, u_long prog, u_long vers, u_long proc)
{
/*
- * Initialize the message
+ * Initialise the message
*/
memset((voidp) mp, 0, sizeof(*mp));
mp->rm_xid = 0;
diff --git a/contrib/amd/libamu/mount_fs.c b/contrib/amd/libamu/mount_fs.c
index 49e6c2d0461fc..948b18df35ac4 100644
--- a/contrib/amd/libamu/mount_fs.c
+++ b/contrib/amd/libamu/mount_fs.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: mount_fs.c,v 1.1.1.1 1998/11/05 02:04:45 ezk Exp $
+ * $Id: mount_fs.c,v 5.2.2.2 1992/05/31 16:35:45 jsp Exp $
*
*/
@@ -315,7 +315,7 @@ again:
/*
* Fill in the many possible fields and flags of struct nfs_args.
*
- * nap: pre-allocated structure to fill in.
+ * nap: pre-allocted structure to fill in.
* mntp: mount entry structure (includes options)
* genflags: generic mount flags already determined
* nfsncp: (TLI only) netconfig entry for this NFS mount
diff --git a/contrib/amd/libamu/mtab.c b/contrib/amd/libamu/mtab.c
index 7fe95de98267a..20cae62c1734a 100644
--- a/contrib/amd/libamu/mtab.c
+++ b/contrib/amd/libamu/mtab.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: mtab.c,v 1.1.1.1 1998/11/05 02:04:45 ezk Exp $
+ * $Id: mtab.c,v 5.2.2.1 1992/02/09 15:08:45 jsp beta $
*
*/
diff --git a/contrib/amd/libamu/nfs_prot_xdr.c b/contrib/amd/libamu/nfs_prot_xdr.c
index cbe679334dcca..2098b5dfb3b15 100644
--- a/contrib/amd/libamu/nfs_prot_xdr.c
+++ b/contrib/amd/libamu/nfs_prot_xdr.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: nfs_prot_xdr.c,v 1.1.1.1 1998/11/05 02:04:45 ezk Exp $
+ * $Id: nfs_prot_xdr.c,v 5.2.2.1 1992/02/09 15:09:32 jsp beta $
*
*/
diff --git a/contrib/amd/libamu/util.c b/contrib/amd/libamu/util.c
index 0650de2603919..1198347fffa23 100644
--- a/contrib/amd/libamu/util.c
+++ b/contrib/amd/libamu/util.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,12 +38,12 @@
*
* %W% (Berkeley) %G%
*
- * $Id: util.c,v 1.1.1.1 1998/11/05 02:04:45 ezk Exp $
+ * $Id: util.c,v 5.2.2.2 1992/03/07 17:52:06 jsp Exp $
*
*/
/*
- * General Utilities.
+ * General Utilitiles.
*/
#ifdef HAVE_CONFIG_H
diff --git a/contrib/amd/libamu/wire.c b/contrib/amd/libamu/wire.c
index bd7b5ad025e7e..f610f92485c7b 100644
--- a/contrib/amd/libamu/wire.c
+++ b/contrib/amd/libamu/wire.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,14 +38,14 @@
*
* %W% (Berkeley) %G%
*
- * $Id: wire.c,v 1.1.1.1 1998/11/05 02:04:45 ezk Exp $
+ * $Id: wire.c,v 5.2.2.2 1992/06/07 18:06:46 jsp Exp jsp $
*
*/
/*
* This function returns the subnet (address&netmask) for the primary network
* interface. If the resulting address has an entry in the hosts file, the
- * corresponding name is returned, otherwise the address is returned in
+ * corresponding name is retuned, otherwise the address is returned in
* standard internet format.
* As a side-effect, a list of local IP/net address is recorded for use
* by the islocalnet() function.
diff --git a/contrib/amd/libamu/xdr_func.c b/contrib/amd/libamu/xdr_func.c
index 365d390ad7e31..feafbae01e08a 100644
--- a/contrib/amd/libamu/xdr_func.c
+++ b/contrib/amd/libamu/xdr_func.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: xdr_func.c,v 1.1.1.1 1998/11/05 02:04:45 ezk Exp $
+ * $Id: xdr_func.c,v 5.2.2.1 1992/02/09 15:08:40 jsp beta $
*
*/
diff --git a/contrib/amd/libamu/xutil.c b/contrib/amd/libamu/xutil.c
index d069f7a55fa1e..15d2ceea72247 100644
--- a/contrib/amd/libamu/xutil.c
+++ b/contrib/amd/libamu/xutil.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: xutil.c,v 1.2 1998/12/27 06:25:24 ezk Exp $
+ * $Id: xutil.c,v 1.1 1997-1998/01/11 21:06:22 ezk Exp ezk $
*
*/
@@ -50,15 +50,6 @@
FILE *logfp = stderr; /* Log errors to stderr initially */
-static char *am_progname = "unknown"; /* "amd" */
-static char am_hostname[MAXHOSTNAMELEN + 1] = "unknown"; /* Hostname */
-pid_t am_mypid = -1; /* process ID */
-serv_state amd_state; /* amd's state */
-int foreground = 1; /* 1 == this is the top-level server */
-#ifdef DEBUG
-int debug_flags = 0;
-#endif /* DEBUG */
-
#ifdef HAVE_SYSLOG
int syslogging;
#endif /* HAVE_SYSLOG */
@@ -122,43 +113,6 @@ struct opt_tab xlog_opt[] =
};
-void
-am_set_progname(char *pn)
-{
- am_progname = pn;
-}
-
-
-const char *
-am_get_progname(void)
-{
- return am_progname;
-}
-
-
-void
-am_set_hostname(char *hn)
-{
- strncpy(am_hostname, hn, MAXHOSTNAMELEN);
- am_hostname[MAXHOSTNAMELEN] = '\0';
-}
-
-
-const char *
-am_get_hostname(void)
-{
- return am_hostname;
-}
-
-
-pid_t
-am_set_mypid(void)
-{
- am_mypid = getpid();
- return am_mypid;
-}
-
-
voidp
xmalloc(int len)
{
@@ -255,7 +209,7 @@ checkup_mem(void)
if (orig_mem_bytes == 0)
mem_bytes = orig_mem_bytes = uordbytes;
else {
- fprintf(logfp, "%s[%ld]: ", am_get_progname(), (long) am_mypid);
+ fprintf(logfp, "%s[%ld]: ", progname, (long) mypid);
if (mem_bytes < uordbytes) {
fprintf(logfp, "ALLOC: %ld bytes", uordbytes - mem_bytes);
} else {
@@ -271,7 +225,7 @@ checkup_mem(void)
/*
- * Take a log format string and expand occurrences of %m
+ * Take a log format string and expand occurences of %m
* with the current error code taken from errno.
*/
static void
@@ -344,9 +298,9 @@ show_time_host_and_name(int lvl)
break;
}
fprintf(logfp, "%15.15s %s %s[%ld]/%s ",
- last_ctime + 4, am_get_hostname(),
- am_get_progname(),
- (long) am_mypid,
+ last_ctime + 4, hostname,
+ progname,
+ (long) mypid,
sev);
}
@@ -576,7 +530,7 @@ cmdoption(char *s, struct opt_tab *optb, int *flags)
* This will log to stderr when parsing the command line
* since any -l option will not yet have taken effect.
*/
- plog(XLOG_USER, "option \"%s\" not recognized", s);
+ plog(XLOG_USER, "option \"%s\" not recognised", s);
errs++;
}
@@ -718,7 +672,7 @@ get_syslog_facility(const char *logfile)
* Change current logfile
*/
int
-switch_to_logfile(char *logfile, int old_umask)
+switch_to_logfile(char *logfile)
{
FILE *new_logfp = stderr;
@@ -734,7 +688,7 @@ switch_to_logfile(char *logfile, int old_umask)
#ifdef HAVE_SYSLOG
syslogging = 1;
new_logfp = stderr;
- openlog(am_get_progname(),
+ openlog(progname,
LOG_PID
# ifdef LOG_CONS
| LOG_CONS
@@ -751,7 +705,7 @@ switch_to_logfile(char *logfile, int old_umask)
#endif /* not HAVE_SYSLOG */
} else {
- (void) umask(old_umask);
+ (void) umask(orig_umask);
new_logfp = fopen(logfile, "a");
umask(0);
}
@@ -843,7 +797,6 @@ amu_release_controlling_tty(void)
#endif /* TIOCNOTTY */
#ifdef HAVE_SETSID
- /* XXX: one day maybe use vhangup(2) */
if (setsid() < 0) {
plog(XLOG_WARNING, "Could not release controlling tty using setsid(): %m");
} else {
diff --git a/contrib/amd/mk-amd-map/mk-amd-map.c b/contrib/amd/mk-amd-map/mk-amd-map.c
index 480629762fbea..1339485c552d9 100644
--- a/contrib/amd/mk-amd-map/mk-amd-map.c
+++ b/contrib/amd/mk-amd-map/mk-amd-map.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: mk-amd-map.c,v 1.5 1998/11/14 03:13:32 obrien Exp $
+ * $Id: mk-amd-map.c,v 1.3 1998/08/27 02:56:47 obrien Exp $
*/
/*
@@ -51,20 +51,11 @@
#include <am_defs.h>
/* dummy variables */
-#if 0
-char *progname;
+char hostname[MAXHOSTNAMELEN];
+int orig_umask, foreground, debug_flags;
pid_t mypid;
serv_state amd_state;
-int foreground, orig_umask;
-int debug_flags;
-#endif
-char hostname[MAXHOSTNAMELEN];
-/* (libdb version 2) uses .db extensions but an old dbm API */
-/* check for libgdbm to distinguish it from linux systems */
-#if defined(DBM_SUFFIX) && !defined(HAVE_LIBGDBM)
-# define HAVE_DB_SUFFIX
-#endif /* not defined(DBM_SUFFIX) && !defined(HAVE_LIBGDBM) */
#ifdef HAVE_MAP_NDBM
@@ -127,7 +118,7 @@ read_file(FILE *fp, char *map, voidp db)
int line_no = 0;
int errs = 0;
- while (read_line(key_val, 2048, fp)) {
+ while (read_line(key_val, sizeof(key_val), fp)) {
char *kp;
char *cp;
char *hash;
@@ -221,18 +212,14 @@ remove_file(char *f)
int
main(int argc, char *argv[])
{
- FILE *mapf; /* the input file to read from */
- int error;
- char *mapsrc;
- DBM *db = NULL;
+ FILE *mapf;
+ int mapfd = -1;
+ char *map;
+ int rc = 0;
+ DBM *mapd = NULL;
static char maptmp[] = "dbmXXXXXX";
-#ifdef HAVE_DB_SUFFIX
char maptdb[16];
- char *map_name_db = (char *) NULL;
-#else /* not HAVE_DB_SUFFIX */
- char maptpag[16], maptdir[16];
- char *map_name_pag = (char *) NULL, *map_name_dir = (char *) NULL;
-#endif /* not HAVE_DB_SUFFIX */
+ char *mapdb = (char *) NULL;
int len;
char *sl;
int printit = 0;
@@ -255,134 +242,97 @@ main(int argc, char *argv[])
fputs("Usage: mk-amd-map [-p] file-map\n", stderr);
exit(1);
}
- mapsrc = argv[optind];
+ map = argv[optind];
/* test if can get to the map directory */
- sl = strrchr(mapsrc, '/');
+ sl = strrchr(map, '/');
if (sl) {
*sl = '\0';
- if (chdir(mapsrc) < 0) {
+ if (chdir(map) < 0) {
fputs("Can't chdir to ", stderr);
- perror(mapsrc);
+ perror(map);
exit(1);
}
- mapsrc = sl + 1;
- }
-
- /* open source file */
- mapf = fopen(mapsrc, "r");
- if (!mapf) {
- fprintf(stderr, "cannot open source file ");
- perror(mapsrc);
- exit(1);
+ map = sl + 1;
}
-#ifndef DEBUG
- signal(SIGINT, SIG_IGN);
-#endif /* DEBUG */
-
if (!printit) {
- len = strlen(mapsrc);
-#ifdef HAVE_DB_SUFFIX
- map_name_db = (char *) malloc(len + 4);
- error = (map_name_db == NULL);
-#else /* not HAVE_DB_SUFFIX */
- map_name_pag = (char *) malloc(len + 5);
- map_name_dir = (char *) malloc(len + 5);
- error = (map_name_pag == NULL || map_name_dir == NULL);
-#endif /* not HAVE_DB_SUFFIX */
- if (error) {
+ len = strlen(map);
+ mapdb = (char *) malloc(len + 4);
+ if (!mapdb) {
perror("mk-amd-map: malloc");
exit(1);
}
+#ifdef HAVE_MKSTEMP
+ mapfd = mkstemp(maptmp);
+#else /* not HAVE_MKSTEMP */
+ map = mktemp(maptmp);
+ if (!maptmp) {
+ fprintf(stderr, "cannot create temporary file\n");
+ exit(1);
+ }
+ mapfd = open(map, O_RDONLY);
+#endif /* not HAVE_MKSTEMP */
- mktemp(maptmp);
-
- /* remove existing temps (if any) */
-#ifdef HAVE_DB_SUFFIX
+ /* open DBM files */
sprintf(maptdb, "%s.db", maptmp);
if (remove_file(maptdb) < 0) {
- fprintf(stderr, "Can't remove existing temporary file; ");
+ fprintf(stderr, "Can't remove existing temporary files;");
perror(maptdb);
exit(1);
}
-#else /* not HAVE_DB_SUFFIX */
- sprintf(maptpag, "%s.pag", maptmp);
- sprintf(maptdir, "%s.dir", maptmp);
- if (remove_file(maptpag) < 0 || remove_file(maptdir) < 0) {
- fprintf(stderr, "Can't remove existing temporary files; %s and ", maptpag);
- perror(maptdir);
- exit(1);
- }
-#endif /* not HAVE_DB_SUFFIX */
-
- db = dbm_open(maptmp, O_RDWR|O_CREAT, 0444);
- if (!db) {
- fprintf(stderr, "cannot initialize temporary database: %s", maptmp);
- exit(1);
- }
}
+ /* open and check if map file was opened OK */
+ mapf = fdopen(mapfd, "r");
+ if (mapf && !printit)
+ mapd = dbm_open(maptmp, O_RDWR|O_CREAT, 0444);
+ else
+ mapd = 0;
- /* print db to stdout or to temp database */
- error = read_file(mapf, mapsrc, db);
- fclose(mapf);
- if (error) {
- if (printit)
- fprintf(stderr, "Error reading source file %s\n", mapsrc);
- else
- fprintf(stderr, "Error creating database map for %s\n", mapsrc);
- exit(1);
- }
-
- if (printit)
- exit(0); /* nothing more to do */
-
- /* if gets here, we wrote to a database */
+#ifndef DEBUG
+ /* ignore ^C if debuggung is on (but why?) */
+ signal(SIGINT, SIG_IGN);
+#endif /* not DEBUG */
+
+ if (mapd || printit) {
+ int error = read_file(mapf, map, mapd);
+ (void) close(mapfd);
+ (void) fclose(mapf);
+ dbm_close(mapd);
+ if (printit) {
+ if (error) {
+ fprintf(stderr, "Error creating ndbm map for %s\n", map);
+ rc = 1;
+ }
+ } else {
- dbm_close(db);
- /* all went well */
+ if (error) {
+ fprintf(stderr, "Error reading source file %s\n", map);
+ rc = 1;
+ } else {
+ sprintf(mapdb, "%s.db", map);
+ if (unlink(mapdb) == 0)
+ fprintf(stderr, "WARNING: existing map \"%s.db\" destroyed\n", map);
+ if (rename(maptdb, mapdb) < 0) {
+ fprintf(stderr, "Couldn't rename %s to ", maptdb);
+ perror(mapdb);
+ /* Throw away the temporary map */
+ unlink(maptdb);
+ rc = 1;
+ }
+ }
+ }
-#ifdef HAVE_DB_SUFFIX
- sprintf(map_name_db, "%s.db", mapsrc);
- if (rename(maptdb, map_name_db) < 0) {
- fprintf(stderr, "Couldn't rename %s to ", maptdb);
- perror(map_name_db);
- /* Throw away the temporary map */
- unlink(maptdb);
- exit(1);
- }
-#else /* not HAVE_DB_SUFFIX */
- sprintf(map_name_pag, "%s.pag", mapsrc);
- sprintf(map_name_dir, "%s.dir", mapsrc);
- if (rename(maptpag, map_name_pag) < 0) {
- fprintf(stderr, "Couldn't rename %s to ", maptpag);
- perror(map_name_pag);
- /* Throw away the temporary map */
- unlink(maptpag);
- unlink(maptdir);
- exit(1);
+ } else {
+ fprintf(stderr, "Can't open \"%s.db\" for ", map);
+ perror("writing");
+ rc = 1;
}
- if (rename(maptdir, map_name_dir) < 0) {
- fprintf(stderr, "Couldn't rename %s to ", maptdir);
- perror(map_name_dir);
- /* remove the (presumably bad) .pag file */
- unlink(map_name_pag);
- /* throw away remaining part of original map */
- unlink(map_name_dir);
- /* throw away the temporary map */
- unlink(maptdir);
- fprintf(stderr, "WARNING: existing map \"%s.{dir,pag}\" destroyed\n",
- mapsrc);
- exit(1);
- }
-#endif /* not HAVE_DB_SUFFIX */
-
- exit(0);
+ exit(rc);
}
#else /* not HAVE_MAP_NDBM */
-int
main()
{
fputs("mk-amd-map: This system does not support hashed database files\n", stderr);
diff --git a/contrib/amd/scripts/Makefile.am b/contrib/amd/scripts/Makefile.am
index c4380584ec0ee..9ebd6914cb6c7 100644
--- a/contrib/amd/scripts/Makefile.am
+++ b/contrib/amd/scripts/Makefile.am
@@ -34,7 +34,7 @@ EXTRA_DIST = \
amd2sun.in \
ctl-amd.in \
ctl-hlfsd.in \
- fixrmtab.in \
+ fixrmtab \
fix-amd-map.in \
lostaltmail.in \
wait4amd.in \
diff --git a/contrib/amd/scripts/Makefile.in b/contrib/amd/scripts/Makefile.in
index a20d846271366..1c69cec2aecf8 100644
--- a/contrib/amd/scripts/Makefile.in
+++ b/contrib/amd/scripts/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.3.2 from Makefile.am
+# Makefile.in generated automatically by automake 1.3.1 from Makefile.am
# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
@@ -106,7 +106,7 @@ EXTRA_DIST = \
amd2sun.in \
ctl-amd.in \
ctl-hlfsd.in \
- fixrmtab.in \
+ fixrmtab \
fix-amd-map.in \
lostaltmail.in \
wait4amd.in \
@@ -122,7 +122,7 @@ CLEANFILES = $(sbin_SCRIPTS) $(bin_SCRIPTS)
mkinstalldirs = $(SHELL) $(top_srcdir)/aux/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES = am-eject amd2ldif amd2sun ctl-amd ctl-hlfsd expn \
-fixrmtab fix-amd-map lostaltmail wait4amd wait4amd2die
+fix-amd-map lostaltmail wait4amd wait4amd2die
SCRIPTS = $(bin_SCRIPTS) $(sbin_SCRIPTS)
man1dir = $(mandir)/man1
@@ -133,7 +133,7 @@ NROFF = nroff
DATA = $(sysconf_DATA)
DIST_COMMON = Makefile.am Makefile.in am-eject.in amd2ldif.in \
-amd2sun.in ctl-amd.in ctl-hlfsd.in expn.in fix-amd-map.in fixrmtab.in \
+amd2sun.in ctl-amd.in ctl-hlfsd.in expn.in fix-amd-map.in \
lostaltmail.in wait4amd.in wait4amd2die.in
@@ -163,8 +163,6 @@ ctl-hlfsd: $(top_builddir)/config.status ctl-hlfsd.in
cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
expn: $(top_builddir)/config.status expn.in
cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
-fixrmtab: $(top_builddir)/config.status fixrmtab.in
- cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
fix-amd-map: $(top_builddir)/config.status fix-amd-map.in
cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
lostaltmail: $(top_builddir)/config.status lostaltmail.in
diff --git a/contrib/amd/scripts/amd.conf.5 b/contrib/amd/scripts/amd.conf.5
index 1f3472000b989..b652e9d87252b 100644
--- a/contrib/amd/scripts/amd.conf.5
+++ b/contrib/amd/scripts/amd.conf.5
@@ -38,7 +38,7 @@
.\"
.\" %W% (Berkeley) %G%
.\"
-.\" $Id: amd.conf.5,v 1.5 1998/11/20 08:12:05 obrien Exp $
+.\" $Id: amd.conf.5,v 1.3 1998/09/05 06:56:36 obrien Exp $
.\"
.Dd April 7, 1997
.Dt AMD.CONF 5
@@ -60,8 +60,8 @@ automounter program.
.Sh FILE FORMAT
The file consists of sections and parameters. A section begins with the
name of the section in square brackets and continues until the next section
-begins or the end of the file is reached. Sections contain parameters of
-the form
+begins or the end the file is reached. Sections contain parameters of the
+form
.Sq name = value .
.Pp
The file is line-based - that is, each newline-terminated line represents
@@ -121,7 +121,7 @@ If
then amd's top-level mount points will be browsable to
.Xr readdir 3
calls. This means you could run for example
-.Xr ls 1
+.Xr ls 3
and see what keys are available to mount in that directory. Not all entries
are made visible to
.Xr readdir 3 :
@@ -222,7 +222,7 @@ cluster to use.
Same as the
.Fl D
option to
-.Nm amd .
+.Fl amd .
Specify any debugging options for
.Nm amd .
Works only if am-utils was configured for debugging using the
@@ -577,7 +577,7 @@ follows:
wire==slip-net;opts:=intr,rsize=1024,wsize=1024 \\
wire!=slip-net;opts:=intr,rsize=8192,wsize=8192
.Ed
-.It Nm show_statfs_entries (boolean, default=no)
+.It Nm show_statfs_entries (boolean), default=no)
If
.Dq yes ,
then all maps which are browsable will also show the number of entries
@@ -588,7 +588,7 @@ runs.
.Po This is accomplished by returning non-zero values to the
.Xr statfs 2
.Pc system call .
-.It Nm unmount_on_exist (boolean, default=no)
+.It Nm unmount_on_exist (boolean), default=no)
If
.Dq yes ,
then
@@ -601,7 +601,7 @@ leaves all
mounted filesystems intact. Note that
.Nm amd
does not know about file systems mounted before it starts up, unless the
-.Ar restart_mounts
+.AR restart_mounts
option or
.Fl r
flag are used.
diff --git a/contrib/amd/scripts/ctl-amd.in b/contrib/amd/scripts/ctl-amd.in
index 8eefde27feb1a..665a7dd89643f 100755
--- a/contrib/amd/scripts/ctl-amd.in
+++ b/contrib/amd/scripts/ctl-amd.in
@@ -4,10 +4,6 @@
#
# Package: am-utils-6.0
# Author: Erez Zadok <ezk@cs.columbia.edu>
-#
-# chkconfig: 345 72 8
-# description: amd is the Berkeley AutoMount Daemon, used for \
-# automatic filesystem mounting
# set path
prefix=@prefix@
@@ -94,14 +90,14 @@ case "$1" in
'stop')
# prepend space to program name to ensure only amd process dies
- echo "killing amd..."
killproc " amd"
- wait4amd2die
;;
'restart')
# kill amd, wait for it to die, then restart
+ echo "killing amd..."
ctl-amd stop
+ wait4amd2die
if [ $? != 0 ]
then
echo "NOT restarting amd!"
diff --git a/contrib/amd/scripts/ctl-hlfsd.in b/contrib/amd/scripts/ctl-hlfsd.in
index e574d0d353932..a6e97f68edd9e 100755
--- a/contrib/amd/scripts/ctl-hlfsd.in
+++ b/contrib/amd/scripts/ctl-hlfsd.in
@@ -4,10 +4,6 @@
#
# Package: am-utils-6.0
# Author: Erez Zadok <ezk@cs.columbia.edu>
-#
-# chkconfig: 345 73 7
-# description: hlfsd is a daemon similar to amd, used to redirect user
-# mail to home directory of the user
# set path
prefix=@prefix@
@@ -94,7 +90,7 @@ case "$1" in
echo "killing hlfsd..."
ctl-hlfsd stop
echo "Waiting for 10 seconds..."
- sleep 10 # hope that would be enough
+ sleep 10 # hope that's enough
echo "Restarting hlfsd..."
ctl-hlfsd start
;;
diff --git a/contrib/amd/scripts/expn.1 b/contrib/amd/scripts/expn.1
index 5795241e85844..b2bd1b6f6ed33 100644
--- a/contrib/amd/scripts/expn.1
+++ b/contrib/amd/scripts/expn.1
@@ -16,7 +16,7 @@ $sockaddr = 'S n a4 x8';
# system requirements:
# must have 'nslookup' and 'hostname' programs.
-# $Header: /src/cvsroot/am-utils-6.0/scripts/expn.1,v 1.1.1.1 1998/11/05 02:04:58 ezk Exp $
+# $Header: /home/muir/bin/RCS/expn,v 3.9 1995/10/02 17:51:35 muir Exp muir $
# TODO:
# less magic should apply to command-line addresses
diff --git a/contrib/amd/scripts/expn.in b/contrib/amd/scripts/expn.in
index 5bd4200ef0132..b2bd1b6f6ed33 100755
--- a/contrib/amd/scripts/expn.in
+++ b/contrib/amd/scripts/expn.in
@@ -16,7 +16,7 @@ $sockaddr = 'S n a4 x8';
# system requirements:
# must have 'nslookup' and 'hostname' programs.
-# $Header: /src/cvsroot/am-utils-6.0/scripts/expn.in,v 1.1.1.1 1998/11/05 02:04:57 ezk Exp $
+# $Header: /home/muir/bin/RCS/expn,v 3.9 1995/10/02 17:51:35 muir Exp muir $
# TODO:
# less magic should apply to command-line addresses
diff --git a/contrib/amd/scripts/fixrmtab.in b/contrib/amd/scripts/fixrmtab
index 33b7bcfdb6ce7..33b7bcfdb6ce7 100755
--- a/contrib/amd/scripts/fixrmtab.in
+++ b/contrib/amd/scripts/fixrmtab
diff --git a/contrib/amd/tasks b/contrib/amd/tasks
index 260095e33e84b..a29b554cae86f 100644
--- a/contrib/amd/tasks
+++ b/contrib/amd/tasks
@@ -28,6 +28,8 @@ against all known IP addresses of this host.
- support multiple "fail-over" NFS mounts in Solaris 2.6.
+- add LSM file
+
- use packaging info for various OSs (such as RPM, Redhat Package Format)
- $mindelay and $maxdelay in milliseconds
@@ -54,16 +56,9 @@ through.
- report netbsd/openbsd bugs in BUGS file
+- contribute patches to automake 1.3
+
- reverse notion of -F and other cmd-line options, so they override the
amd.conf file (right now amd.conf overrides cmd-line options).
- y2k compliance.
-
-- an un/install script for binaries
-
-- update README
-add am-utils URL and COPYRIGHT to all distributed scripts and
-sources and programs etc.
-
-- ion: browsable_dirs only works for nis if in [global] broken if it is file
- maps.
diff --git a/contrib/amd/wire-test/wire-test.c b/contrib/amd/wire-test/wire-test.c
index be1dffa86aed8..27525d03a1dbd 100644
--- a/contrib/amd/wire-test/wire-test.c
+++ b/contrib/amd/wire-test/wire-test.c
@@ -17,7 +17,7 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgment:
+ * must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
@@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
- * $Id: wire-test.c,v 1.3 1998/11/14 03:13:33 obrien Exp $
+ * $Id: wire-test.c,v 1.1.1.1 1998/08/23 22:07:21 obrien Exp $
*
*/
@@ -50,16 +50,10 @@
#define STRMAX 100
/* dummy variables */
-#if 0
-char *progname;
+char *progname, hostname[MAXHOSTNAMELEN + 1];
+int orig_umask, foreground, debug_flags;
pid_t mypid;
serv_state amd_state;
-int foreground, orig_umask;
-int debug_flags;
-#endif
-
-char hostname[MAXHOSTNAMELEN + 1];
-
int
main(int argc, char **argv)
@@ -71,13 +65,11 @@ main(int argc, char **argv)
struct sockaddr_in *ip;
struct hostent *hp = 0;
- am_set_progname(argv[0]);
-#if 0
+ progname = argv[0];
mypid = getpid();
orig_umask = umask(0);
-#endif
- if (gethostname(hostname, sizeof(hostname)) < 0) {
+ if (gethostname(hostname, sizeof hostname) < 0) {
perror(argv[0]);
exit(1);
}