#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 1 (of 1)."
# Contents:  README-1.2 Patch1.2
# Wrapped by ferguson@swan.cs.rochester.edu on Fri Sep 13 10:00:35 1991
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'README-1.2' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'README-1.2'\"
else
echo shar: Extracting \"'README-1.2'\" \(1709 characters\)
sed "s/^X//" >'README-1.2' <<'END_OF_FILE'
XThis file describes the changes to Xarchie from version 1.1 to 1.2.
X
XIn the original distribution, the following files were accidentally
Xincluded in the tarchive: mail, mail.hdr, xarchie.c.bug, appres.h.bug.
XPlease delete them.
X
XThe changes (excerpted from the README) are:
X
X     Version 1.2 - 12 Sep 1991
X	- Changed LowerCase() in types.c (from Xt manual example) to
X	  XmuCopyISOLatin1Lowered() since the former was not always
X	  compiled into X.
X	- Added resources "ftpDir" and "ftpType" and corresponding items
X	  on the Settings panel so the ftp service is a bit better.
X	- From: beser@aplcomm.jhuapl.edu (Nick Beser)
X	  - Fixed regex support in Imakefile. Added regex.h which is included
X	    by support.c and actions.c.
X	- From: Greg Lindahl <gl8f@fermi.clas.Virginia.EDU>)
X	  - Changed strcasecmp() in types.c to XmuCompareISOLatin1() since
X	    some systems don't have the former.
X	  - Changed two leftover instances of isspace() to ISSPACE() in
X	    xarchie.c.
X	- From: "(Simon Leinen)" <simon@liasun1.epfl.ch>
X	   and: Alan B Clegg <abc@concert.net>
X	  - Changed some widget names in resource file since the Settings
X	    form wasn't being laid out correctly.
X
XPlease note that since the Imakefile has changed, you will have to
Xremake your Makefiles. I didn't include them in the patch since they
Xare so different after being generated from the Imakefile.
X
XYou will note that in addition to the changes documented in the
XREADME, this patch will change the dates at the top of many files from
Xsometime in August to "Sep 4". This is because the version that was
Xmade available for ftp was not exactly the same as the version
Xreleased to comp.sources.x. These minor patches bring them back into
Xsync.
END_OF_FILE
if test 1709 -ne `wc -c <'README-1.2'`; then
    echo shar: \"'README-1.2'\" unpacked with wrong size!
fi
# end of 'README-1.2'
fi
if test -f 'Patch1.2' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'Patch1.2'\"
else
echo shar: Extracting \"'Patch1.2'\" \(49534 characters\)
sed "s/^X//" >'Patch1.2' <<'END_OF_FILE'
X*** /tmp/release3745/Imakefile	Thu Sep 12 17:31:28 1991
X--- Imakefile	Thu Sep 12 15:08:50 1991
X***************
X*** 1,7 ****
X  #
X  # Imakefile for xarchie : X11 Browser interface to Archie
X  #
X! # George Ferguson, ferguson@cs.rochester.edu, 21 Aug 1991.
X  #
X  
X  # Where do you want this stuff? Uncomment and adjust these to change the
X--- 1,7 ----
X  #
X  # Imakefile for xarchie : X11 Browser interface to Archie
X  #
X! # George Ferguson, ferguson@cs.rochester.edu, 12 Sep 1991.
X  #
X  
X  # Where do you want this stuff? Uncomment and adjust these to change the
X***************
X*** 41,46 ****
X--- 41,51 ----
X  #dirsend.o:
X  #	cc -c $(CFLAGS) dirsend.c
X  
X+ # Does your system have re_comp() and re_exec()? If not, uncomment the
X+ # following definitions.
X+ #REGEXC = regex.c
X+ #REGEXO = regex.o
X+ 
X  ##############################################################################
X  # Nothing to change below here...
X  
X***************
X*** 50,68 ****
X  MakeSubdirs($(SUBDIRS))
X  
X  ASRCS = aquery.c atalloc.c dirsend.c get_pauth.c get_vdir.c \
X! 	p_err_text.c ptalloc.c regex.c stcopy.c support.c \
X! 	vl_comp.c vlalloc.c
X  XSRCS = xarchie.c db.c actions.c types.c classnames.c procquery.c settings.c \
X  	ftp.c alert.c confirm.c
X  
X  AOBJS = aquery.o atalloc.o dirsend.o get_pauth.o get_vdir.o \
X! 	p_err_text.o ptalloc.o regex.o stcopy.o support.o \
X! 	vl_comp.o vlalloc.o
X  XOBJS = xarchie.o db.o actions.o types.o classnames.o procquery.o settings.o \
X  	ftp.o alert.o confirm.o
X  
X! SRCS = $(ASRCS) $(XSRCS)
X! OBJS = $(AOBJS) $(XOBJS)
X  
X  DEFINES =		-DARCHIE -DXARCHIE
X  INCLUDES =		-I. -I$(EZMENUDIR)
X--- 55,71 ----
X  MakeSubdirs($(SUBDIRS))
X  
X  ASRCS = aquery.c atalloc.c dirsend.c get_pauth.c get_vdir.c \
X! 	p_err_text.c ptalloc.c stcopy.c support.c vl_comp.c vlalloc.c
X  XSRCS = xarchie.c db.c actions.c types.c classnames.c procquery.c settings.c \
X  	ftp.c alert.c confirm.c
X  
X  AOBJS = aquery.o atalloc.o dirsend.o get_pauth.o get_vdir.o \
X! 	p_err_text.o ptalloc.o stcopy.o support.o vl_comp.o vlalloc.o
X  XOBJS = xarchie.o db.o actions.o types.o classnames.o procquery.o settings.o \
X  	ftp.o alert.o confirm.o
X  
X! SRCS = $(ASRCS) $(XSRCS) $(REGEXC)
X! OBJS = $(AOBJS) $(XOBJS) $(REGEXO)
X  
X  DEFINES =		-DARCHIE -DXARCHIE
X  INCLUDES =		-I. -I$(EZMENUDIR)
X*** /tmp/release3745/MANIFEST	Thu Sep 12 17:31:32 1991
X--- MANIFEST	Thu Sep 12 15:08:54 1991
X***************
X*** 10,16 ****
X   EzMenu/EzME.c              3	
X   EzMenu/EzME.h              1	
X   EzMenu/EzMEP.h             2	
X!  EzMenu/EzMenu.c            4	
X   EzMenu/EzMenu.h            2	
X   EzMenu/EzMenuP.h           1	
X   EzMenu/Imakefile           1	
X--- 10,16 ----
X   EzMenu/EzME.c              3	
X   EzMenu/EzME.h              1	
X   EzMenu/EzMEP.h             2	
X!  EzMenu/EzMenu.c            3	
X   EzMenu/EzMenu.h            2	
X   EzMenu/EzMenuP.h           1	
X   EzMenu/Imakefile           1	
X***************
X*** 19,25 ****
X   EzMenu/ezMenu.man          2	
X   Imakefile                  2	Main Imakefile
X   MANIFEST                   1	This shipping list
X!  Makefile                   8	Generated from Imakefile
X   README                     1	The thing to read
X   README.FILES               1	Description of files shared with archie
X   README.PROSP               1	Description of the Prospero system
X--- 19,25 ----
X   EzMenu/ezMenu.man          2	
X   Imakefile                  2	Main Imakefile
X   MANIFEST                   1	This shipping list
X!  Makefile                   6	Generated from Imakefile
X   README                     1	The thing to read
X   README.FILES               1	Description of files shared with archie
X   README.PROSP               1	Description of the Prospero system
X***************
X*** 57,64 ****
X   procquery.c                2	+From Archie client distribution (#ifdef'd)
X   procquery.h                1	+From Archie client distribution
X   ptalloc.c                  1	+From Archie client distribution
X!  regex.c                    6	+From Archie client distribution
X!  settings.c                 3	Settings panel
X   settings.h                 1	
X   stcopy.c                   1	+From Archie client distribution
X   support.c                  6	+From Archie client distribution
X--- 57,65 ----
X   procquery.c                2	+From Archie client distribution (#ifdef'd)
X   procquery.h                1	+From Archie client distribution
X   ptalloc.c                  1	+From Archie client distribution
X!  regex.c                    7	+From Archie client distribution (non-static)
X!  regex.h		    7   New to allow regex.c to be linked with
X!  settings.c                 4	Settings panel
X   settings.h                 1	
X   stcopy.c                   1	+From Archie client distribution
X   support.c                  6	+From Archie client distribution
X***************
X*** 68,71 ****
X   vlalloc.c                  2	+From Archie client distribution
X   xarchie.c                  5	Main program file for xarchie
X   xarchie.h                  1	
X!  xarchie.man                7	Man page
X--- 69,72 ----
X   vlalloc.c                  2	+From Archie client distribution
X   xarchie.c                  5	Main program file for xarchie
X   xarchie.h                  1	
X!  xarchie.man                8	Man page
X*** /tmp/release3745/README	Thu Sep 12 17:31:46 1991
X--- README	Thu Sep 12 15:09:04 1991
X***************
X*** 2,12 ****
X  
X  		George Ferguson, ferguson@cs.rochester.edu
X  
X! 			 Last Change: 28 Aug 1991
X  
X  DISCLAIMER:
X  
X!      This is release 1.1.
X  
X       This software is provided as is with no warranty expressed or
X       implied. I hope you find it useful, but I won't be held responsible
X--- 2,12 ----
X  
X  		George Ferguson, ferguson@cs.rochester.edu
X  
X! 			 Last Change: 12 Sep 1991
X  
X  DISCLAIMER:
X  
X!      This is release 1.2.
X  
X       This software is provided as is with no warranty expressed or
X       implied. I hope you find it useful, but I won't be held responsible
X***************
X*** 41,46 ****
X--- 41,50 ----
X  	There is a suitable target that you can uncomment if you are
X  	using gcc.
X  
X+ 	If your system doesn't have re_comp() and re_exec(), then you
X+ 	need to uncomment the appropriate section in the Imakefile to
X+ 	include those routines.
X+ 
X  	Compiling this program requires the "ad2c" program. You should
X  	have received a copy of ad2c with this distribution, in the
X  	subdirectory "Ad2c". You should	set the AD2C variable as
X***************
X*** 79,83 ****
X  	to install xarchie, its resource file, and its man page only.
X  
X  HISTORY:
X!      Version 1.1 - 28 Aug 1991
X  	Released to comp.sources.x.
X--- 83,106 ----
X  	to install xarchie, its resource file, and its man page only.
X  
X  HISTORY:
X!      Version 1.1 - 4 Sep 1991
X  	Released to comp.sources.x.
X+ 
X+      Version 1.2 - 12 Sep 1991
X+ 	- Changed LowerCase() in types.c (from Xt manual example) to
X+ 	  XmuCopyISOLatin1Lowered() since the former was not always
X+ 	  compiled into X.
X+ 	- Added resources "ftpDir" and "ftpType" and corresponding items
X+ 	  on the Settings panel so the ftp service is a bit better.
X+ 	- From: beser@aplcomm.jhuapl.edu (Nick Beser)
X+ 	  - Fixed regex support in Imakefile. Added regex.h which is included
X+ 	    by support.c and actions.c.
X+ 	- From: Greg Lindahl <gl8f@fermi.clas.Virginia.EDU>)
X+ 	  - Changed strcasecmp() in types.c to XmuCompareISOLatin1() since
X+ 	    some systems don't have the former.
X+ 	  - Changed two leftover instances of isspace() to ISSPACE() in
X+ 	    xarchie.c.
X+ 	- From: "(Simon Leinen)" <simon@liasun1.epfl.ch>
X+ 	   and: Alan B Clegg <abc@concert.net>
X+ 	  - Changed some widget names in resource file since the Settings
X+ 	    form wasn't being laid out correctly.
X*** /tmp/release3745/README.FILES	Thu Sep 12 17:31:51 1991
X--- README.FILES	Wed Sep  4 11:10:38 1991
X***************
X*** 74,77 ****
X  	xarchie.c
X  	xarchie.h
X  
X! George Ferguson, ferguson@cs.rochester.edu, 29 Aug 1991.
X--- 74,77 ----
X  	xarchie.c
X  	xarchie.h
X  
X! George Ferguson, ferguson@cs.rochester.edu, 4 Sep 1991.
X*** /tmp/release3745/Xarchie.ad	Thu Sep 12 17:31:56 1991
X--- Xarchie.ad	Thu Sep 12 15:09:12 1991
X***************
X*** 1,7 ****
X  !
X  ! Xarchie.ad : Application defaults for the X11 browser interface to Archie
X  !
X! ! George Ferguson, ferguson@cs.rochester.edu, 21 Aug 1991.
X  !
X  
X  !	-	-	-	-	-	-	-	-	-
X--- 1,7 ----
X  !
X  ! Xarchie.ad : Application defaults for the X11 browser interface to Archie
X  !
X! ! George Ferguson, ferguson@cs.rochester.edu, 12 Sep 1991.
X  !
X  
X  !	-	-	-	-	-	-	-	-	-
X***************
X*** 30,35 ****
X--- 30,41 ----
X  ! Nice level (bigger numbers == nicer)
X  Xarchie.niceLevel:	0
X  
X+ ! Destination directory for ftp() action
X+ Xarchie.ftpDir:		.
X+ 
X+ ! Transfer mode for ftp() action
X+ Xarchie.ftpMode:	binary
X+ 
X  ! Bigger numbers == more verbose, if -DDEBUG was given at compile-time
X  Xarchie.debugLevel:	0
X  
X***************
X*** 83,92 ****
X  	settingsShell.settingsForm	Command		applyButton \
X  	settingsShell.settingsForm	Command		defaultButton \
X  \
X! 	settingsShell.settingsForm	MenuButton	searchButton \
X  	settingsShell.settingsForm	EzMenu		searchMenu \
X  	settingsShell.settingsForm	Label		searchLabel \
X! 	settingsShell.settingsForm	MenuButton	sortButton \
X  	settingsShell.settingsForm	EzMenu		sortMenu \
X  	settingsShell.settingsForm	Label		sortLabel \
X  	settingsShell.settingsForm	MenuButton	hostButton \
X--- 89,98 ----
X  	settingsShell.settingsForm	Command		applyButton \
X  	settingsShell.settingsForm	Command		defaultButton \
X  \
X! 	settingsShell.settingsForm	MenuButton	setSearchButton \
X  	settingsShell.settingsForm	EzMenu		searchMenu \
X  	settingsShell.settingsForm	Label		searchLabel \
X! 	settingsShell.settingsForm	MenuButton	setSortButton \
X  	settingsShell.settingsForm	EzMenu		sortMenu \
X  	settingsShell.settingsForm	Label		sortLabel \
X  	settingsShell.settingsForm	MenuButton	hostButton \
X***************
X*** 98,106 ****
X  	settingsShell.settingsForm	AsciiText	timeoutText \
X  	settingsShell.settingsForm	Label		retriesLabel \
X  	settingsShell.settingsForm	AsciiText	retriesText \
X! 	settingsShell.settingsForm	MenuButton	niceButton \
X  	settingsShell.settingsForm	EzMenu		niceMenu \
X! 	settingsShell.settingsForm	AsciiText	niceText
X  
X  !
X  !	-	-	-	-	-	-	-	-	-
X--- 104,116 ----
X  	settingsShell.settingsForm	AsciiText	timeoutText \
X  	settingsShell.settingsForm	Label		retriesLabel \
X  	settingsShell.settingsForm	AsciiText	retriesText \
X! 	settingsShell.settingsForm	MenuButton	setNiceButton \
X  	settingsShell.settingsForm	EzMenu		niceMenu \
X! 	settingsShell.settingsForm	AsciiText	niceText \
X! 	settingsShell.settingsForm	Label		ftpDirLabel \
X! 	settingsShell.settingsForm	AsciiText	ftpDirText \
X! 	settingsShell.settingsForm	Label		ftpTypeLabel \
X! 	settingsShell.settingsForm	AsciiText	ftpTypeText
X  
X  !
X  !	-	-	-	-	-	-	-	-	-
X***************
X*** 288,313 ****
X  Xarchie*settingsForm*defaultButton.translations:#override\n\
X  	<Btn1Down>,<Btn1Up>:	default-settings() \n
X  
X! Xarchie*settingsForm*searchButton.label:	Search Mode:
X! Xarchie*settingsForm*searchButton.menuName:	searchMenu
X! Xarchie*settingsForm*searchButton.fromVert:	applyButton
X! Xarchie*settingsForm*searchButton.vertDistance:	10
X  Xarchie*settingsForm*searchLabel.fromVert:	applyButton
X  Xarchie*settingsForm*searchLabel.vertDistance:	10
X! Xarchie*settingsForm*searchLabel.fromHoriz:	searchButton
X  Xarchie*settingsForm*searchLabel.font:		fixed
X  
X! Xarchie*settingsForm*sortButton.label:		Sort Mode:
X! Xarchie*settingsForm*sortButton.menuName:	sortMenu
X! Xarchie*settingsForm*sortButton.fromVert:	searchButton
X! Xarchie*settingsForm*sortLabel.fromVert:	searchButton
X! Xarchie*settingsForm*sortLabel.fromHoriz:	sortButton
X  Xarchie*settingsForm*sortLabel.font:		fixed
X  
X  Xarchie*settingsForm*hostButton.label:		Host:
X  Xarchie*settingsForm*hostButton.menuName:	hostMenu
X! Xarchie*settingsForm*hostButton.fromVert:	sortButton
X! Xarchie*settingsForm*hostText.fromVert:		sortButton
X  Xarchie*settingsForm*hostText.fromHoriz:	hostButton
X  Xarchie*settingsForm*hostText*width:		200
X  
X--- 298,323 ----
X  Xarchie*settingsForm*defaultButton.translations:#override\n\
X  	<Btn1Down>,<Btn1Up>:	default-settings() \n
X  
X! Xarchie*settingsForm*setSearchButton.label:	Search Mode:
X! Xarchie*settingsForm*setSearchButton.menuName:	searchMenu
X! Xarchie*settingsForm*setSearchButton.fromVert:	applyButton
X! Xarchie*settingsForm*setSearchButton.vertDistance:	10
X  Xarchie*settingsForm*searchLabel.fromVert:	applyButton
X  Xarchie*settingsForm*searchLabel.vertDistance:	10
X! Xarchie*settingsForm*searchLabel.fromHoriz:	setSearchButton
X  Xarchie*settingsForm*searchLabel.font:		fixed
X  
X! Xarchie*settingsForm*setSortButton.label:	Sort Mode:
X! Xarchie*settingsForm*setSortButton.menuName:	sortMenu
X! Xarchie*settingsForm*setSortButton.fromVert:	setSearchButton
X! Xarchie*settingsForm*sortLabel.fromVert:	setSearchButton
X! Xarchie*settingsForm*sortLabel.fromHoriz:	setSortButton
X  Xarchie*settingsForm*sortLabel.font:		fixed
X  
X  Xarchie*settingsForm*hostButton.label:		Host:
X  Xarchie*settingsForm*hostButton.menuName:	hostMenu
X! Xarchie*settingsForm*hostButton.fromVert:	setSortButton
X! Xarchie*settingsForm*hostText.fromVert:		setSortButton
X  Xarchie*settingsForm*hostText.fromHoriz:	hostButton
X  Xarchie*settingsForm*hostText*width:		200
X  
X***************
X*** 326,336 ****
X  Xarchie*settingsForm*retriesText.fromVert:	timeoutLabel
X  Xarchie*settingsForm*retriesText.fromHoriz:	retriesLabel
X  
X! Xarchie*settingsForm*niceButton.label:		Nice Level:
X! Xarchie*settingsForm*niceButton.menuName:	niceMenu
X! Xarchie*settingsForm*niceButton.fromVert:	retriesLabel
X  Xarchie*settingsForm*niceText.fromVert:		retriesLabel
X! Xarchie*settingsForm*niceText.fromHoriz:	niceButton
X  
X  !	-	-	-	-	-	-	-	-	-
X  ! Menus
X--- 336,356 ----
X  Xarchie*settingsForm*retriesText.fromVert:	timeoutLabel
X  Xarchie*settingsForm*retriesText.fromHoriz:	retriesLabel
X  
X! Xarchie*settingsForm*setNiceButton.label:	Nice Level:
X! Xarchie*settingsForm*setNiceButton.menuName:	niceMenu
X! Xarchie*settingsForm*setNiceButton.fromVert:	retriesLabel
X  Xarchie*settingsForm*niceText.fromVert:		retriesLabel
X! Xarchie*settingsForm*niceText.fromHoriz:	setNiceButton
X! 
X! Xarchie*settingsForm*ftpDirLabel.label:		Local Ftp Directory:
X! Xarchie*settingsForm*ftpDirLabel.fromVert:	setNiceButton
X! Xarchie*settingsForm*ftpDirText.fromVert:	setNiceButton
X! Xarchie*settingsForm*ftpDirText.fromHoriz:	ftpDirLabel
X! 
X! Xarchie*settingsForm*ftpTypeLabel.label:	Ftp Transfer Type:
X! Xarchie*settingsForm*ftpTypeLabel.fromVert:	ftpDirLabel
X! Xarchie*settingsForm*ftpTypeText.fromVert:	ftpDirLabel
X! Xarchie*settingsForm*ftpTypeText.fromHoriz:	ftpTypeLabel
X  
X  !	-	-	-	-	-	-	-	-	-
X  ! Menus
X*** /tmp/release3745/Xarchie.ad.h	Thu Sep 12 17:32:00 1991
X--- Xarchie.ad.h	Thu Sep 12 15:09:16 1991
X***************
X*** 6,11 ****
X--- 6,13 ----
X  "Xarchie.timeout:	4",
X  "Xarchie.retries:	3",
X  "Xarchie.niceLevel:	0",
X+ "Xarchie.ftpDir:		.",
X+ "Xarchie.ftpMode:	binary",
X  "Xarchie.debugLevel:	0",
X  "Xarchie.widgets: \
X  	toplevel			Paned		outerPaned \
X***************
X*** 54,63 ****
X  	settingsShell.settingsForm	Command		applyButton \
X  	settingsShell.settingsForm	Command		defaultButton \
X  \
X! 	settingsShell.settingsForm	MenuButton	searchButton \
X  	settingsShell.settingsForm	EzMenu		searchMenu \
X  	settingsShell.settingsForm	Label		searchLabel \
X! 	settingsShell.settingsForm	MenuButton	sortButton \
X  	settingsShell.settingsForm	EzMenu		sortMenu \
X  	settingsShell.settingsForm	Label		sortLabel \
X  	settingsShell.settingsForm	MenuButton	hostButton \
X--- 56,65 ----
X  	settingsShell.settingsForm	Command		applyButton \
X  	settingsShell.settingsForm	Command		defaultButton \
X  \
X! 	settingsShell.settingsForm	MenuButton	setSearchButton \
X  	settingsShell.settingsForm	EzMenu		searchMenu \
X  	settingsShell.settingsForm	Label		searchLabel \
X! 	settingsShell.settingsForm	MenuButton	setSortButton \
X  	settingsShell.settingsForm	EzMenu		sortMenu \
X  	settingsShell.settingsForm	Label		sortLabel \
X  	settingsShell.settingsForm	MenuButton	hostButton \
X***************
X*** 69,77 ****
X  	settingsShell.settingsForm	AsciiText	timeoutText \
X  	settingsShell.settingsForm	Label		retriesLabel \
X  	settingsShell.settingsForm	AsciiText	retriesText \
X! 	settingsShell.settingsForm	MenuButton	niceButton \
X  	settingsShell.settingsForm	EzMenu		niceMenu \
X! 	settingsShell.settingsForm	AsciiText	niceText",
X  "Xarchie*input:			True",
X  "Xarchie*Viewport*allowVert:		True",
X  "Xarchie*Viewport*allowHoriz:		False",
X--- 71,83 ----
X  	settingsShell.settingsForm	AsciiText	timeoutText \
X  	settingsShell.settingsForm	Label		retriesLabel \
X  	settingsShell.settingsForm	AsciiText	retriesText \
X! 	settingsShell.settingsForm	MenuButton	setNiceButton \
X  	settingsShell.settingsForm	EzMenu		niceMenu \
X! 	settingsShell.settingsForm	AsciiText	niceText \
X! 	settingsShell.settingsForm	Label		ftpDirLabel \
X! 	settingsShell.settingsForm	AsciiText	ftpDirText \
X! 	settingsShell.settingsForm	Label		ftpTypeLabel \
X! 	settingsShell.settingsForm	AsciiText	ftpTypeText",
X  "Xarchie*input:			True",
X  "Xarchie*Viewport*allowVert:		True",
X  "Xarchie*Viewport*allowHoriz:		False",
X***************
X*** 187,210 ****
X  "Xarchie*settingsForm*defaultButton.fromHoriz:	applyButton",
X  "Xarchie*settingsForm*defaultButton.translations:#override\\n\
X  	<Btn1Down>,<Btn1Up>:	default-settings() \\n",
X! "Xarchie*settingsForm*searchButton.label:	Search Mode:",
X! "Xarchie*settingsForm*searchButton.menuName:	searchMenu",
X! "Xarchie*settingsForm*searchButton.fromVert:	applyButton",
X! "Xarchie*settingsForm*searchButton.vertDistance:	10",
X  "Xarchie*settingsForm*searchLabel.fromVert:	applyButton",
X  "Xarchie*settingsForm*searchLabel.vertDistance:	10",
X! "Xarchie*settingsForm*searchLabel.fromHoriz:	searchButton",
X  "Xarchie*settingsForm*searchLabel.font:		fixed",
X! "Xarchie*settingsForm*sortButton.label:		Sort Mode:",
X! "Xarchie*settingsForm*sortButton.menuName:	sortMenu",
X! "Xarchie*settingsForm*sortButton.fromVert:	searchButton",
X! "Xarchie*settingsForm*sortLabel.fromVert:	searchButton",
X! "Xarchie*settingsForm*sortLabel.fromHoriz:	sortButton",
X  "Xarchie*settingsForm*sortLabel.font:		fixed",
X  "Xarchie*settingsForm*hostButton.label:		Host:",
X  "Xarchie*settingsForm*hostButton.menuName:	hostMenu",
X! "Xarchie*settingsForm*hostButton.fromVert:	sortButton",
X! "Xarchie*settingsForm*hostText.fromVert:		sortButton",
X  "Xarchie*settingsForm*hostText.fromHoriz:	hostButton",
X  "Xarchie*settingsForm*hostText*width:		200",
X  "Xarchie*settingsForm*maxHitsLabel.label:	Max Hits:",
X--- 193,216 ----
X  "Xarchie*settingsForm*defaultButton.fromHoriz:	applyButton",
X  "Xarchie*settingsForm*defaultButton.translations:#override\\n\
X  	<Btn1Down>,<Btn1Up>:	default-settings() \\n",
X! "Xarchie*settingsForm*setSearchButton.label:	Search Mode:",
X! "Xarchie*settingsForm*setSearchButton.menuName:	searchMenu",
X! "Xarchie*settingsForm*setSearchButton.fromVert:	applyButton",
X! "Xarchie*settingsForm*setSearchButton.vertDistance:	10",
X  "Xarchie*settingsForm*searchLabel.fromVert:	applyButton",
X  "Xarchie*settingsForm*searchLabel.vertDistance:	10",
X! "Xarchie*settingsForm*searchLabel.fromHoriz:	setSearchButton",
X  "Xarchie*settingsForm*searchLabel.font:		fixed",
X! "Xarchie*settingsForm*setSortButton.label:	Sort Mode:",
X! "Xarchie*settingsForm*setSortButton.menuName:	sortMenu",
X! "Xarchie*settingsForm*setSortButton.fromVert:	setSearchButton",
X! "Xarchie*settingsForm*sortLabel.fromVert:	setSearchButton",
X! "Xarchie*settingsForm*sortLabel.fromHoriz:	setSortButton",
X  "Xarchie*settingsForm*sortLabel.font:		fixed",
X  "Xarchie*settingsForm*hostButton.label:		Host:",
X  "Xarchie*settingsForm*hostButton.menuName:	hostMenu",
X! "Xarchie*settingsForm*hostButton.fromVert:	setSortButton",
X! "Xarchie*settingsForm*hostText.fromVert:		setSortButton",
X  "Xarchie*settingsForm*hostText.fromHoriz:	hostButton",
X  "Xarchie*settingsForm*hostText*width:		200",
X  "Xarchie*settingsForm*maxHitsLabel.label:	Max Hits:",
X***************
X*** 219,229 ****
X  "Xarchie*settingsForm*retriesLabel.fromVert:	timeoutLabel",
X  "Xarchie*settingsForm*retriesText.fromVert:	timeoutLabel",
X  "Xarchie*settingsForm*retriesText.fromHoriz:	retriesLabel",
X! "Xarchie*settingsForm*niceButton.label:		Nice Level:",
X! "Xarchie*settingsForm*niceButton.menuName:	niceMenu",
X! "Xarchie*settingsForm*niceButton.fromVert:	retriesLabel",
X  "Xarchie*settingsForm*niceText.fromVert:		retriesLabel",
X! "Xarchie*settingsForm*niceText.fromHoriz:	niceButton",
X  "Xarchie*searchMenu.label:			Search Mode",
X  "Xarchie*searchMenu.menu:\
X  	(line) \
X--- 225,243 ----
X  "Xarchie*settingsForm*retriesLabel.fromVert:	timeoutLabel",
X  "Xarchie*settingsForm*retriesText.fromVert:	timeoutLabel",
X  "Xarchie*settingsForm*retriesText.fromHoriz:	retriesLabel",
X! "Xarchie*settingsForm*setNiceButton.label:	Nice Level:",
X! "Xarchie*settingsForm*setNiceButton.menuName:	niceMenu",
X! "Xarchie*settingsForm*setNiceButton.fromVert:	retriesLabel",
X  "Xarchie*settingsForm*niceText.fromVert:		retriesLabel",
X! "Xarchie*settingsForm*niceText.fromHoriz:	setNiceButton",
X! "Xarchie*settingsForm*ftpDirLabel.label:		Local Ftp Directory:",
X! "Xarchie*settingsForm*ftpDirLabel.fromVert:	setNiceButton",
X! "Xarchie*settingsForm*ftpDirText.fromVert:	setNiceButton",
X! "Xarchie*settingsForm*ftpDirText.fromHoriz:	ftpDirLabel",
X! "Xarchie*settingsForm*ftpTypeLabel.label:	Ftp Transfer Type:",
X! "Xarchie*settingsForm*ftpTypeLabel.fromVert:	ftpDirLabel",
X! "Xarchie*settingsForm*ftpTypeText.fromVert:	ftpDirLabel",
X! "Xarchie*settingsForm*ftpTypeText.fromHoriz:	ftpTypeLabel",
X  "Xarchie*searchMenu.label:			Search Mode",
X  "Xarchie*searchMenu.menu:\
X  	(line) \
X*** /tmp/release3745/actions.c	Thu Sep 12 17:32:04 1991
X--- actions.c	Thu Sep 12 15:09:20 1991
X***************
X*** 6,12 ****
X   * which are imported. Eventually there may be more actions, and they'll
X   * be put here.
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 21 Aug 1991.
X   *
X   */
X  
X--- 6,12 ----
X   * which are imported. Eventually there may be more actions, and they'll
X   * be put here.
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 12 Sep 1991.
X   *
X   */
X  
X***************
X*** 22,27 ****
X--- 22,28 ----
X  #include "settings.h"		/* for settings actions */
X  #include "ftp.h"
X  #include "alert.h"
X+ #include "regex.h"
X  
X  /*
X   * Functions defined here
X*** /tmp/release3745/actions.h	Thu Sep 12 17:32:08 1991
X--- actions.h	Wed Sep  4 11:10:47 1991
X***************
X*** 1,7 ****
X  /*
X   * actions.h : Definition of the action table so its size is known
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 21 Aug 1991.
X   *
X   */
X  
X--- 1,7 ----
X  /*
X   * actions.h : Definition of the action table so its size is known
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 4 Sep 1991.
X   *
X   */
X  
X*** /tmp/release3745/alert.c	Thu Sep 12 17:32:11 1991
X--- alert.c	Wed Sep  4 11:10:48 1991
X***************
X*** 1,7 ****
X  /*
X   * alert.c : A popup click-to-remove message box.
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 21 Aug 1991.
X   *
X   */
X  
X--- 1,7 ----
X  /*
X   * alert.c : A popup click-to-remove message box.
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 4 Sep 1991.
X   *
X   */
X  
X*** /tmp/release3745/alert.h	Thu Sep 12 17:32:15 1991
X--- alert.h	Wed Sep  4 11:10:50 1991
X***************
X*** 1,7 ****
X  /*
X   * alert.h : External defs for the popup click-to-remove message box.
X   *
X!  * George ferguson, ferguson@cs.rochester.edu, 21 Aug 1991.
X   *
X   */
X  
X--- 1,7 ----
X  /*
X   * alert.h : External defs for the popup click-to-remove message box.
X   *
X!  * George ferguson, ferguson@cs.rochester.edu, 4 Sep 1991.
X   *
X   */
X  
X*** /tmp/release3745/appres.h	Thu Sep 12 17:32:19 1991
X--- appres.h	Thu Sep 12 15:09:26 1991
X***************
X*** 2,8 ****
X   * appres.h : External defs for files needing the application
X   *	resources.
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 21 Aug 1991.
X   *
X   */
X  
X--- 2,8 ----
X   * appres.h : External defs for files needing the application
X   *	resources.
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 12 Sep 1991.
X   *
X   */
X  
X***************
X*** 21,26 ****
X--- 21,28 ----
X      int		timeout;
X      int		retries;
X      int		niceLevel;
X+     String	ftpDir;
X+     String	ftpType;
X      int		debugLevel;
X      String	settingsWidgets;
X  } AppResources;
X*** /tmp/release3745/archie.h	Thu Sep 12 17:32:26 1991
X--- archie.h	Wed Sep  4 11:10:54 1991
X***************
X*** 19,25 ****
X   * for different client implementations.  Doing so makes it easier to
X   * collect statistics on the use of the various clients.
X   */
X! #define	MAX_HITS	100
X  
X  /*
X   * CLIENT_VERSION may be used to identify the version of the client if 
X--- 19,25 ----
X   * for different client implementations.  Doing so makes it easier to
X   * collect statistics on the use of the various clients.
X   */
X! #define	MAX_HITS	99
X  
X  /*
X   * CLIENT_VERSION may be used to identify the version of the client if 
X*** /tmp/release3745/classnames.c	Thu Sep 12 17:32:31 1991
X--- classnames.c	Wed Sep  4 11:10:56 1991
X***************
X*** 4,10 ****
X   *	executable might result from only including the classes an
X   *	application needs.
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 21 Aug 1991.
X   *
X   */
X  #include <X11/Intrinsic.h>
X--- 4,10 ----
X   *	executable might result from only including the classes an
X   *	application needs.
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 4 Sep 1991.
X   *
X   */
X  #include <X11/Intrinsic.h>
X*** /tmp/release3745/classnames.h	Thu Sep 12 17:32:34 1991
X--- classnames.h	Wed Sep  4 11:10:57 1991
X***************
X*** 1,7 ****
X  /*
X   * classnames.h : External defs for the classname converter
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 21 Aug 1991.
X   *
X   */
X  
X--- 1,7 ----
X  /*
X   * classnames.h : External defs for the classname converter
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 4 Sep 1991.
X   *
X   */
X  
X*** /tmp/release3745/confirm.c	Thu Sep 12 17:32:38 1991
X--- confirm.c	Wed Sep  4 11:10:58 1991
X***************
X*** 1,7 ****
X  /*
X   * confirm.c : A popup yes/no confirmer
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 21 Aug 1991.
X   *
X   */
X  
X--- 1,7 ----
X  /*
X   * confirm.c : A popup yes/no confirmer
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 4 Sep 1991.
X   *
X   */
X  
X*** /tmp/release3745/confirm.h	Thu Sep 12 17:32:41 1991
X--- confirm.h	Wed Sep  4 11:11:00 1991
X***************
X*** 1,7 ****
X  /*
X   * confirm.h : A popup yes/no confirmer.
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 21 Aug 1991.
X   *
X   */
X  
X--- 1,7 ----
X  /*
X   * confirm.h : A popup yes/no confirmer.
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 4 Sep 1991.
X   *
X   */
X  
X*** /tmp/release3745/db.c	Thu Sep 12 17:32:45 1991
X--- db.c	Wed Sep  4 11:11:03 1991
X***************
X*** 12,18 ****
X   * record, display its contents and the appropriate sub-records' contents
X   * in the browser panes.
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 21 Aug 1991.
X   *
X   */
X  #include <X11/Intrinsic.h>
X--- 12,18 ----
X   * record, display its contents and the appropriate sub-records' contents
X   * in the browser panes.
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 4 Sep 1991.
X   *
X   */
X  #include <X11/Intrinsic.h>
X*** /tmp/release3745/db.h	Thu Sep 12 17:32:48 1991
X--- db.h	Wed Sep  4 11:11:04 1991
X***************
X*** 3,9 ****
X   *	the database functions and of the functions for displaying database
X   *	entries in the browser.
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 21 Aug 1991.
X   *
X   */
X  
X--- 3,9 ----
X   *	the database functions and of the functions for displaying database
X   *	entries in the browser.
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 4 Sep 1991.
X   *
X   */
X  
X*** /tmp/release3745/dirsend.c	Thu Sep 12 17:32:51 1991
X--- dirsend.c	Wed Sep  4 11:11:06 1991
X***************
X*** 5,11 ****
X   * <copyright.h>.
X   *
X   * Modified for xarchie by George Ferguson, ferguson@cs.rochester.edu,
X!  * 21 Aug 1991.
X   */
X  
X  #include <copyright.h>
X--- 5,11 ----
X   * <copyright.h>.
X   *
X   * Modified for xarchie by George Ferguson, ferguson@cs.rochester.edu,
X!  * 4 Sep 1991.
X   */
X  
X  #include <copyright.h>
X*** /tmp/release3745/ftp.c	Thu Sep 12 17:32:55 1991
X--- ftp.c	Thu Sep 12 15:09:39 1991
X***************
X*** 1,16 ****
X  /*
X   * ftp.c : Fetches a file by anonymous ftp.
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 21 Aug 1991.
X   *
X   * This is just an initial cut at providing the real kind of ftp
X   * services that we want. In particular, we will eventually be using
X   * Prospero for the transfers, rather than feeding commands to ftp.
X   * Also, it would be nice to be able to log in from xarchie as well
X!  * as fetching files immediately. Also, we currently only fetch in
X!  * binary (image) mode. Eventually there will be a panel for setting
X!  * ftp options.
X   *
X   * Note that error messages form ftp go to stderr, and the return status
X   * signalled by pclose() is really inadequate. It is almost always 0,
X   * and so "file not found" errors go unnoticed but for the stderr message.
X--- 1,17 ----
X  /*
X   * ftp.c : Fetches a file by anonymous ftp.
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 12 Sep 1991.
X   *
X   * This is just an initial cut at providing the real kind of ftp
X   * services that we want. In particular, we will eventually be using
X   * Prospero for the transfers, rather than feeding commands to ftp.
X   * Also, it would be nice to be able to log in from xarchie as well
X!  * as fetching files immediately.
X   *
X+  * The Settings panel now allows the transfer type and local directory
X+  * to be set for ftp transfers. We're getting there...
X+  *
X   * Note that error messages form ftp go to stderr, and the return status
X   * signalled by pclose() is really inadequate. It is almost always 0,
X   * and so "file not found" errors go unnoticed but for the stderr message.
X***************
X*** 22,27 ****
X--- 23,30 ----
X   */
X  #include <stdio.h>
X  #include <pwd.h>
X+ #include <X11/Intrinsic.h>
X+ #include "appres.h"
X  extern char *getenv();
X  
X  #define FTP_CMD "/usr/ucb/ftp -n"
X***************
X*** 48,54 ****
X      status2("Retrieving \"%.100s\" from %.100s",file,host);
X      fprintf(fp,"open %s\n",host);
X      fprintf(fp,"user anonymous %s@%s\n",username,hostname);
X!     fprintf(fp,"binary\n");
X      fprintf(fp,"cd %s\n",loc);
X      fprintf(fp,"get %s\n",file);
X      status = pclose(fp) >> 8;
X--- 51,60 ----
X      status2("Retrieving \"%.100s\" from %.100s",file,host);
X      fprintf(fp,"open %s\n",host);
X      fprintf(fp,"user anonymous %s@%s\n",username,hostname);
X!     if (*(appResources.ftpType))
X! 	fprintf(fp,"type %s\n",appResources.ftpType);
X!     if (*(appResources.ftpDir))
X! 	fprintf(fp,"lcd %s\n",appResources.ftpDir);
X      fprintf(fp,"cd %s\n",loc);
X      fprintf(fp,"get %s\n",file);
X      status = pclose(fp) >> 8;
X*** /tmp/release3745/ftp.h	Thu Sep 12 17:32:58 1991
X--- ftp.h	Wed Sep  4 11:11:08 1991
X***************
X*** 1,7 ****
X  /*
X   * ftp.h : Defs for the file fetcher
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 21 Aug 1991.
X   *
X   */
X  
X--- 1,7 ----
X  /*
X   * ftp.h : Defs for the file fetcher
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 4 Sep 1991.
X   *
X   */
X  
X*** /tmp/release3745/patchlevel.h	Thu Sep 12 17:33:05 1991
X--- patchlevel.h	Thu Sep 12 17:30:54 1991
X***************
X*** 1,10 ****
X  /*
X   * patchlevel.h : xarchie version control
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 28 Aug 1991.
X   *
X   */
X  
X  int xarchieMajorVersion = 1;
X! int xarchieMinorVersion = 1;
X  
X--- 1,10 ----
X  /*
X   * patchlevel.h : xarchie version control
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 12 Sep 1991.
X   *
X   */
X  
X  int xarchieMajorVersion = 1;
X! int xarchieMinorVersion = 2;
X  
X*** /tmp/release3745/procquery.c	Thu Sep 12 17:33:14 1991
X--- procquery.c	Wed Sep  4 11:11:22 1991
X***************
X*** 104,109 ****
X--- 104,111 ----
X      /* Is this a new linkpath (location)? */
X      if(strcmp(linkpath,lastpath) != 0) {
X  #ifdef XARCHIE
X+ 	if (currentHostEntry == NULL)
X+ 	    currentHostEntry = addHostEntry("*UNKNOWN*",db,NULL);
X          currentLocEntry = addLocEntry((*linkpath ? linkpath : "/"),
X  				      currentHostEntry,NULL);
X  #else
X***************
X*** 138,143 ****
X--- 140,150 ----
X      strcpy(linkpath,l->name);
X      if (dirflag)
X  	strcat(linkpath,"/");
X+     if (currentLocEntry == NULL) {
X+ 	if (currentHostEntry == NULL)
X+ 	    currentHostEntry = addHostEntry("*UNKNOWN*",db,NULL);
X+ 	currentLocEntry = addLocEntry("*UNKNOWN*",currentHostEntry,NULL);
X+     }
X      (void)addFileEntry(linkpath,size,modes,archie_date,currentLocEntry,NULL);
X      doPendingEvents();
X  #else
X*** /tmp/release3745/procquery.h	Thu Sep 12 17:33:19 1991
X--- procquery.h	Wed Sep  4 11:11:23 1991
X***************
X*** 1,7 ****
X  /*
X   * procquery.h : Defs for processing a query and displaying the results
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 21 Aug 1991.
X   */
X  
X  extern void procquery(/* host,str,max_hits,offset,
X--- 1,7 ----
X  /*
X   * procquery.h : Defs for processing a query and displaying the results
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 4 Sep 1991.
X   */
X  
X  extern void procquery(/* host,str,max_hits,offset,
X*** /tmp/release3745/regex.c	Thu Sep 12 17:33:24 1991
X--- regex.c	Thu Sep 12 15:09:59 1991
X***************
X*** 6,11 ****
X--- 6,14 ----
X   * the accompanying information has been left intact.  This file is to be
X   * included on those operating systems that do not support re_comp and
X   * re_exec.
X+  *
X+  * gf: 12 Sep 1991: Modified so routines aren't static, so we can link with
X+  *                  them instead of including the C code.
X   */
X  
X  /*
X***************
X*** 237,243 ****
X  #define badpat(x)	return(*dfa = END, x)
X  #define store(x)	*mp++ = x
X   
X! static char *     
X  re_comp(pat)
X  char *pat;
X  {
X--- 240,246 ----
X  #define badpat(x)	return(*dfa = END, x)
X  #define store(x)	*mp++ = x
X   
X! char *     
X  re_comp(pat)
X  char *pat;
X  {
X***************
X*** 478,484 ****
X   *
X   */
X  
X! static int
X  re_exec(lp)
X  register char *lp;
X  {
X--- 481,487 ----
X   *
X   */
X  
X! int
X  re_exec(lp)
X  register char *lp;
X  {
X*** /dev/null	Thu Sep 12 17:13:43 1991
X--- regex.h	Thu Sep 12 15:10:21 1991
X***************
X*** 0 ****
X--- 1,13 ----
X+ /*
X+  * regex.h : External defs for Ozan Yigit's regex functions, for systems
X+  *	that don't have them builtin. See regex.c for copyright and other
X+  *	details.
X+  *
X+  * Note that this file can be included even if we're linking against the
X+  * system routines, since the interface is (deliberately) identical.
X+  *
X+  * George Ferguson, ferguson@cs.rochester.edu, 11 Sep 1991.
X+  */
X+ 
X+ extern char *re_comp();
X+ extern int re_exec();
X*** /tmp/release3745/settings.c	Thu Sep 12 17:34:05 1991
X--- settings.c	Thu Sep 12 15:10:26 1991
X***************
X*** 1,7 ****
X  /*
X   * settings.c : Set program parameters on a popup panel
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 21 Aug 1991.
X   *
X   */
X  #include <stdio.h>
X--- 1,7 ----
X  /*
X   * settings.c : Set program parameters on a popup panel
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 12 Sep 1991.
X   *
X   */
X  #include <stdio.h>
X***************
X*** 31,37 ****
X  void setHostNowAction(),setNiceLevelNowAction();
X  
X  static void initSettingsShell(),initSettingsItems();
X! static void textEventProc();
X  static void setCurrentSearchType(),setCurrentSortType();
X  static void setChangedFlag();
X  
X--- 31,37 ----
X  void setHostNowAction(),setNiceLevelNowAction();
X  
X  static void initSettingsShell(),initSettingsItems();
X! static void addTextEventHandler(),textEventProc();
X  static void setCurrentSearchType(),setCurrentSortType();
X  static void setChangedFlag();
X  
X***************
X*** 47,52 ****
X--- 47,53 ----
X  static Widget timeoutText;
X  static Widget retriesText;
X  static Widget niceText;
X+ static Widget ftpDirText,ftpTypeText;
X  
X  static SearchType currentSearchType;
X  static SortType currentSortType;
X***************
X*** 101,122 ****
X      timeoutText = XtNameToWidget(toplevel,"settingsShell*timeoutText");
X      retriesText = XtNameToWidget(toplevel,"settingsShell*retriesText");
X      niceText = XtNameToWidget(toplevel,"settingsShell*niceText");
X      /* add event handler for detecting changes */
X!     if (hostText != NULL)
X! 	XtAddEventHandler(hostText,KeyPressMask|ButtonPressMask,False,
X  			  textEventProc,(XtPointer)NULL);
X-     if (maxHitsText != NULL)
X- 	XtAddEventHandler(maxHitsText,KeyPressMask|ButtonPressMask,False,
X- 			  textEventProc,(XtPointer)NULL); 
X-     if (timeoutText != NULL)
X- 	XtAddEventHandler(timeoutText,KeyPressMask|ButtonPressMask,False,
X- 			  textEventProc,(XtPointer)NULL);
X-     if (retriesText != NULL)
X- 	XtAddEventHandler(retriesText,KeyPressMask|ButtonPressMask,False,
X- 			  textEventProc,(XtPointer)NULL);
X-     if (niceText != NULL)
X- 	XtAddEventHandler(niceText,KeyPressMask|ButtonPressMask,False,
X- 			  textEventProc,(XtPointer)NULL);
X  }
X  
X  /*	-	-	-	-	-	-	-	-	*/
X--- 102,126 ----
X      timeoutText = XtNameToWidget(toplevel,"settingsShell*timeoutText");
X      retriesText = XtNameToWidget(toplevel,"settingsShell*retriesText");
X      niceText = XtNameToWidget(toplevel,"settingsShell*niceText");
X+     ftpDirText = XtNameToWidget(toplevel,"settingsShell*ftpDirText");
X+     ftpTypeText = XtNameToWidget(toplevel,"settingsShell*ftpTypeText");
X      /* add event handler for detecting changes */
X!     addTextEventHandler(hostText);
X!     addTextEventHandler(maxHitsText);
X!     addTextEventHandler(timeoutText);
X!     addTextEventHandler(retriesText);
X!     addTextEventHandler(niceText);
X!     addTextEventHandler(ftpDirText);
X!     addTextEventHandler(ftpTypeText);
X! }
X! 
X! static void
X! addTextEventHandler(w)
X! Widget w;
X! {
X!     if (w != NULL)
X! 	XtAddEventHandler(w,KeyPressMask|ButtonPressMask,False,
X  			  textEventProc,(XtPointer)NULL);
X  }
X  
X  /*	-	-	-	-	-	-	-	-	*/
X***************
X*** 141,146 ****
X--- 145,152 ----
X      setText(retriesText,buf);
X      sprintf(buf,"%d",appResources.niceLevel);
X      setText(niceText,buf);
X+     setText(ftpDirText,appResources.ftpDir);
X+     setText(ftpTypeText,appResources.ftpType);
X      setChangedFlag(False);
X  }
X  
X***************
X*** 163,170 ****
X      if (hostText != NULL) {
X  	XtSetArg(args[0],XtNstring,&s);
X  	XtGetValues(hostText,args,ONE);
X! 	/* memory leak: we can't free the original, so we can't free any! */
X! 	appResources.archieHost = XtNewString(s);
X      }
X      if (maxHitsText != NULL) {
X  	XtSetArg(args[0],XtNstring,&s);
X--- 169,176 ----
X      if (hostText != NULL) {
X  	XtSetArg(args[0],XtNstring,&s);
X  	XtGetValues(hostText,args,ONE);
X! 	if (strcmp(appResources.archieHost,s) != 0)
X! 	    appResources.archieHost = XtNewString(s); /* memory leak */
X      }
X      if (maxHitsText != NULL) {
X  	XtSetArg(args[0],XtNstring,&s);
X***************
X*** 191,196 ****
X--- 197,214 ----
X  	    n = 32767;
X  	appResources.niceLevel = n;
X      }
X+     if (ftpDirText != NULL) {
X+ 	XtSetArg(args[0],XtNstring,&s);
X+ 	XtGetValues(ftpDirText,args,ONE);
X+ 	if (strcmp(appResources.ftpDir,s) != 0)
X+ 	    appResources.ftpDir = XtNewString(s); /* memory leak */
X+     }
X+     if (ftpTypeText != NULL) {
X+ 	XtSetArg(args[0],XtNstring,&s);
X+ 	XtGetValues(ftpTypeText,args,ONE);
X+ 	if (strcmp(appResources.ftpType,s) != 0)
X+ 	    appResources.ftpType = XtNewString(s); /* memory leak */
X+     }
X      setChangedFlag(False);
X  }
X  
X***************
X*** 208,213 ****
X--- 226,233 ----
X      setText(timeoutText,"4");
X      setText(retriesText,"3");
X      setText(niceText,"0");
X+     setText(ftpDirText,".");
X+     setText(ftpTypeText,"binary");
X      setChangedFlag(True);
X  }
X  
X***************
X*** 339,344 ****
X--- 359,365 ----
X      if (to.addr != NULL) {
X  	type = (SearchType)(*(to.addr));
X  	appResources.searchType = type;
X+ 	status1("Set search type to %s",*params);
X  	setCurrentSearchType(type);
X      }
X  }
X***************
X*** 360,365 ****
X--- 381,387 ----
X      if (to.addr != NULL) {
X  	type = (SortType)(*(to.addr));
X  	appResources.sortType = type;
X+ 	status1("Set sort type to %s",*params);
X  	setCurrentSortType(type);
X      }
X  }
X***************
X*** 373,378 ****
X--- 395,401 ----
X      }
X      /* Memory leak */
X      appResources.archieHost = XtNewString(*params);
X+     status1("Set host to %s",*params);
X      setText(hostText,*params);
X  }
X  
X***************
X*** 392,397 ****
X--- 415,421 ----
X  	alert1("Nice level too positive: %d -- not set",n);
X      } else {
X  	appResources.niceLevel = n;
X+ 	status1("Set niceLevel to %d",n);
X  	setText(niceText,*params);
X      }
X  }
X*** /tmp/release3745/settings.h	Thu Sep 12 17:34:10 1991
X--- settings.h	Wed Sep  4 11:11:29 1991
X***************
X*** 1,7 ****
X  /*
X   * settings.h : External defs for the settings panel
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 21 Aug 1991.
X   *
X   */
X  
X--- 1,7 ----
X  /*
X   * settings.h : External defs for the settings panel
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 4 Sep 1991.
X   *
X   */
X  
X*** /tmp/release3745/support.c	Thu Sep 12 17:34:15 1991
X--- support.c	Thu Sep 12 15:10:31 1991
X***************
X*** 3,8 ****
X--- 3,10 ----
X   *
X   * For copying and distribution information, please see the file
X   * <copyright.h>.
X+  *
X+  * gf: 12 Sep 1991: Changed in include regex.h rather than regex.c
X   */
X  
X  /*
X***************
X*** 36,44 ****
X  #define FALSE   0
X  #endif
X  
X! #ifdef NOREGEX
X! #include REGEX_FILE
X! #endif
X  
X  /* 
X   * wcmatch - Match string s against template containing widlcards
X--- 38,44 ----
X  #define FALSE   0
X  #endif
X  
X! #include "regex.h"
X  
X  /* 
X   * wcmatch - Match string s against template containing widlcards
X*** /tmp/release3745/types.c	Thu Sep 12 17:34:21 1991
X--- types.c	Thu Sep 12 15:10:35 1991
X***************
X*** 2,8 ****
X   * types.c : Converters for SearchType and SortType, and an improved
X   *	converter for Widget that allows "NULL" to be specified.
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 21 Aug 1991.
X   *
X   */
X  
X--- 2,8 ----
X   * types.c : Converters for SearchType and SortType, and an improved
X   *	converter for Widget that allows "NULL" to be specified.
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 12 Sep 1991.
X   *
X   */
X  
X***************
X*** 72,78 ****
X  {
X      char message[1000];
X  
X!     LowerCase((char*)(fromVal->addr),message);
X      if (strcmp(message,"exact") == 0)
X  	done(GfExact,SearchType);
X      if (strcmp(message,"substr") == 0)
X--- 72,78 ----
X  {
X      char message[1000];
X  
X!     XmuCopyISOLatin1Lowered(message,(char*)(fromVal->addr));
X      if (strcmp(message,"exact") == 0)
X  	done(GfExact,SearchType);
X      if (strcmp(message,"substr") == 0)
X***************
X*** 104,110 ****
X  {
X      char message[1000];
X  
X!     LowerCase((char*)(fromVal->addr),message);
X      if (strcmp(message,"default") == 0)
X  	done(GfDefault,SortType);
X      if (strcmp(message,"invdate") == 0)
X--- 104,110 ----
X  {
X      char message[1000];
X  
X!     XmuCopyISOLatin1Lowered(message,(char*)(fromVal->addr));
X      if (strcmp(message,"default") == 0)
X  	done(GfDefault,SortType);
X      if (strcmp(message,"invdate") == 0)
X***************
X*** 129,135 ****
X  XrmValuePtr fromVal;
X  XrmValuePtr toVal;
X  {
X!     if (strcasecmp(fromVal->addr,"NULL") == 0) {
X  	toVal->addr = NULL;
X  	toVal->size = 0;
X      } else {
X--- 129,135 ----
X  XrmValuePtr fromVal;
X  XrmValuePtr toVal;
X  {
X!     if (XmuCompareISOLatin1(fromVal->addr,"NULL") == 0) {
X  	toVal->addr = NULL;
X  	toVal->size = 0;
X      } else {
X*** /tmp/release3745/types.h	Thu Sep 12 17:34:26 1991
X--- types.h	Wed Sep  4 11:11:35 1991
X***************
X*** 2,8 ****
X   * types.h : Definitions of SearchType and SortType and external defs
X   *	of their resource converters and the improved Widget converter.
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 21 Aug 1991.
X   *
X   */
X  
X--- 2,8 ----
X   * types.h : Definitions of SearchType and SortType and external defs
X   *	of their resource converters and the improved Widget converter.
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 4 Sep 1991.
X   *
X   */
X  
X*** /tmp/release3745/xarchie.c	Thu Sep 12 17:34:30 1991
X--- xarchie.c	Thu Sep 12 15:10:41 1991
X***************
X*** 10,16 ****
X   * Finally, it provides the generic setText(), setLabel(), and status*()
X   * routines which could go just about anywhere.
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 21 Aug 1991.
X   *
X   */
X  #include <stdio.h>
X--- 10,16 ----
X   * Finally, it provides the generic setText(), setLabel(), and status*()
X   * routines which could go just about anywhere.
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 12 Sep 1991.
X   *
X   */
X  #include <stdio.h>
X***************
X*** 104,109 ****
X--- 104,113 ----
X        XtOffset(AppResources *,retries), XtRImmediate, (XtPointer)0 },
X      { "niceLevel", "NiceLevel", XtRInt, sizeof(int),
X        XtOffset(AppResources *,niceLevel), XtRImmediate, (XtPointer)0 },
X+     { "ftpDir", "FtpDir", XtRString, sizeof(String),
X+       XtOffset(AppResources *,ftpDir), XtRImmediate, "." },
X+     { "ftpType", "FtpType", XtRString, sizeof(String),
X+       XtOffset(AppResources *,ftpType), XtRImmediate, "binary" },
X      { "debugLevel", "DebugLevel", XtRInt, sizeof(int),
X        XtOffset(AppResources *,debugLevel), XtRImmediate, (XtPointer)0 },
X      { "settingsWidgets", "SettingsWidgets", XtRString, sizeof(String),
X***************
X*** 268,274 ****
X              *t++ = *s++;
X          *t = NUL;
X  	/* skip whitespace */
X!         while (isspace(*s))
X              s += 1;
X  	if (!*s)
X  	    fail1("missing widget class and name in %s resource",resourceName);
X--- 272,278 ----
X              *t++ = *s++;
X          *t = NUL;
X  	/* skip whitespace */
X!         while (ISSPACE(*s))
X              s += 1;
X  	if (!*s)
X  	    fail1("missing widget class and name in %s resource",resourceName);
X***************
X*** 278,284 ****
X              *t++ = *s++;
X          *t = NUL;
X  	/* skip whitespace */
X!         while (isspace(*s))
X              s += 1;
X  	if (!*s)
X  	    fail1("missing widget name in %s resource",resourceName);
X--- 282,288 ----
X              *t++ = *s++;
X          *t = NUL;
X  	/* skip whitespace */
X!         while (ISSPACE(*s))
X              s += 1;
X  	if (!*s)
X  	    fail1("missing widget name in %s resource",resourceName);
X*** /tmp/release3745/xarchie.h	Thu Sep 12 17:34:35 1991
X--- xarchie.h	Wed Sep  4 11:11:40 1991
X***************
X*** 1,7 ****
X  /*
X   * xarchie.h : Definitions of the X globals and misc. functions
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 21 Aug 1991.
X   *
X   */
X  
X--- 1,7 ----
X  /*
X   * xarchie.h : Definitions of the X globals and misc. functions
X   *
X!  * George Ferguson, ferguson@cs.rochester.edu, 4 Sep 1991.
X   *
X   */
X  
X*** /tmp/release3745/xarchie.man	Thu Sep 12 17:34:39 1991
X--- xarchie.man	Thu Sep 12 15:10:47 1991
X***************
X*** 1,9 ****
X  .\"
X  .\" xarchie : X11 browser interface to archie
X  .\"
X! .\" George Ferguson, ferguson@cs.rochester.edu, 21 Aug 1991.
X  .\"
X! .TH XARCHIE 1 "21 Aug 1991"
X  .ds ]W U of Rochester
X  .SH NAME
X  xarchie \- X11 browser interface to archie
X--- 1,9 ----
X  .\"
X  .\" xarchie : X11 browser interface to archie
X  .\"
X! .\" George Ferguson, ferguson@cs.rochester.edu, 12 Sep 1991.
X  .\"
X! .TH XARCHIE 1 "12 Sep 1991"
X  .ds ]W U of Rochester
X  .SH NAME
X  xarchie \- X11 browser interface to archie
X***************
X*** 185,191 ****
X  Settings panel. However, they do not require that the "Apply" button
X  be clicked on to take effect, and do not affect the behaviour of the
X  "Done" button confirmer.
X! 
X  .SH OPTIONS
X  .PP
X  The following non-widget resources can be set from the command-line 
X--- 185,201 ----
X  Settings panel. However, they do not require that the "Apply" button
X  be clicked on to take effect, and do not affect the behaviour of the
X  "Done" button confirmer.
X! .PP
X! The functions of the items labelled "Local Ftp Directory" and "Ftp
X! Transfer Type" affect how files are retrieved, as described in the
X! previous section. The "Local Ftp Directory" item specifies the
X! directory on the local machine that you wish the retrieved file to end
X! up in. The "Ftp Transfer Type" item allows you to specify whether the
X! file should be retrieved in "ascii" or "binary" mode. (Actually, you
X! can enter whatever you want there, but I doubt that many other values
X! are meaningful). Note that since ftp support is so rudimentary, errors
X! resulting from incorrect values in these items will probably go
X! unreported, except that you won't get the file.
X  .SH OPTIONS
X  .PP
X  The following non-widget resources can be set from the command-line 
X***************
X*** 385,390 ****
X--- 395,412 ----
X  .IP "\fBretries\fP"
X  Sets the number of retries, where the timeout doubles every retry.
X  This resource can be set on the Settings panel.
X+ .IP "\fBftpDir\fP"
X+ Sets the local destination directory for ftp transfers. The
X+ .B ftp()
X+ action will use the "lcd" command to switch this directory before
X+ retrieving the file.
X+ This resource can be set on the Settings panel.
X+ .IP "\fBftpType\fP"
X+ Sets the transfer type for ftp transfers. The
X+ .B ftp()
X+ action will use the "type" command to set the transfer type before
X+ retrieving the file.
X+ This resource can be set on the Settings panel.
X  .IP "\fBwidgets\fP"
X  Specifies the widget hierarchy, as described below. This should be a
X  whitespace-separated list of
X***************
X*** 500,505 ****
X--- 522,529 ----
X  			Label,AsciiText timeout{Label,Text}
X  			Label,AsciiText retries{Label,Text}
X  			MenuButton,AsciiText niceLevel{Button,Text}
X+ 			Label,AsciiText ftpDir{Label,Text}
X+ 			Label,AsciiText ftpType{Label,Text}
X  .fi
X  .ad
X  
END_OF_FILE
if test 49534 -ne `wc -c <'Patch1.2'`; then
    echo shar: \"'Patch1.2'\" unpacked with wrong size!
fi
# end of 'Patch1.2'
fi
echo shar: End of archive 1 \(of 1\).
cp /dev/null ark1isdone
MISSING=""
for I in 1 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have the archive.
    echo "You need to run 'patch <Patch1.2' to apply the patch"
    rm -f ark[1-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0


