*** ../xarchie-2.0.9/README Tue Aug 24 11:49:51 1993 --- README Tue Jul 5 17:41:05 1994 *************** *** 2,9 **** George Ferguson, ferguson@cs.rochester.edu ! Last Change: 24 Aug 1993 DISCLAIMER: This is release 2.0 of xarchie -- an X browser interface to --- 2,17 ---- George Ferguson, ferguson@cs.rochester.edu ! Last Change: 5 Jul 1994 + NOTE: Version 2.0.10 is an interim release to fix a few nagging bugs, + update a few things and generally get the house in order (and + slow the flood of email). The next release of xarchie should be + 3.0, and will support the Prospero V5 servers now online. Please + don't email me about 3.0---when it's ready for testing and/or + general use, you'll be the first to know. Also, xarchie has not + yet been tested against X11R6 or updated for it. + DISCLAIMER: This is release 2.0 of xarchie -- an X browser interface to *************** *** 72,77 **** --- 80,104 ---- in the manpage. HISTORY: + + Version 2.0.10 - 5 Jul 1994 + - Interim release. + - Updated documentation to reflect status of v3.0 and X11R6. + - Fixed bug in stripping CR's during FTP (ftp.c). + + - Updated server list from archie.funet.fi (Xarchie.ad). + - Added default for MAXHOSTNAMELEN (hostname.c). + + - Changed tildeExpand() to not modify the string its passed (tilde.c). + Based on suggestion by + - Added non-blocking I/O defs for ultrix (ftp.c) + + - Added non-blocking I/O defs for Intergraph (__clipper__ in ftp.c). + + - Added non-blocking I/O defs for Alliant (ftp.c). + + - Missing close-comment in ftp.h when not found. + , Version 2.0.9 - 24 Aug 1993 - Allow 200 reply for ftp CWD as well as 250 (ftp.c). *** ../xarchie-2.0.9/Xarchie.ad Tue Aug 24 11:43:57 1993 --- Xarchie.ad Tue Jul 5 17:49:22 1994 *************** *** 17,22 **** --- 17,23 ---- ! 27 Jul 1993: Added archie.unipi.it to hostMenu. ! Added archie.ac.il to hostMenu. ! 24 Aug 1993: Added archie.kr and archie.luth.se to hostMenu. + ! 5 Jul 1994: Updated server list (hostMenu) from archie.funet.fi. ! ! - - - - - - - - - *************** *** 812,835 **** Xarchie*setHostMenu.label: Archie Host Xarchie*hostMenu.label: Archie Host ! Xarchie*hostMenuItem0.label: archie.sura.net(1526) (USA-MD) ! Xarchie*hostMenuItem1.label: archie.sura.net (USA-MD) ! Xarchie*hostMenuItem2.label: archie.ans.net (USA-NY) ! Xarchie*hostMenuItem3.label: archie.rutgers.edu (USA-NJ) ! Xarchie*hostMenuItem4.label: archie.unl.edu (USA-NE) ! Xarchie*hostMenuItem5.label: archie.funet.fi (Finland/Europe) ! Xarchie*hostMenuItem6.label: archie.au (Australia) ! Xarchie*hostMenuItem7.label: archie.doc.ic.ac.uk (GB/Ireland) ! Xarchie*hostMenuItem8.label: archie.wide.ad.jp (Japan) ! Xarchie*hostMenuItem9.label: archie.ncu.edu.tw (Taiwan) ! Xarchie*hostMenuItem10.label: archie.nz (New Zealand) ! Xarchie*hostMenuItem11.label: archie.th-darmstadt.de (Germany) ! Xarchie*hostMenuItem12.label: archie.switch.ch (Switzerland) ! Xarchie*hostMenuItem13.label: archie.unipi.it (Italy) ! Xarchie*hostMenuItem14.label: archie.ac.el (Israel) ! Xarchie*hostMenuItem15.label: archie.kr (Korea) ! Xarchie*hostMenuItem16.label: archie.luth.se (Sweden) ! Xarchie*numHosts: 17 Xarchie*hostMenu*leftMargin: 15 ! These translations are for popups only Xarchie*hostMenu.translations:#override\n\ --- 813,847 ---- Xarchie*setHostMenu.label: Archie Host Xarchie*hostMenu.label: Archie Host ! ! Server list from archie.funet.fi as of 21 Jun 1994: ! Xarchie*hostMenuItem0.label: archie.sura.net(1526) USA (MD) ! Xarchie*hostMenuItem1.label: archie.sura.net USA (MD) ! Xarchie*hostMenuItem2.label: archie.ans.net USA (NY) ! Xarchie*hostMenuItem3.label: archie.rutgers.edu USA (NJ) ! Xarchie*hostMenuItem4.label: archie.unl.edu USA (NE) ! Xarchie*hostMenuItem5.label: archie.internic.net USA (NJ) ! Xarchie*hostMenuItem6.label: archie.au Australia ! Xarchie*hostMenuItem7.label: archie.uni-linz.ac.at Austria ! Xarchie*hostMenuItem8.label: archie.univie.ac.at Austria ! Xarchie*hostMenuItem9.label: archie.cs.mcgill.ca Canada ! Xarchie*hostMenuItem10.label: archie.uqam.ca Canada ! Xarchie*hostMenuItem11.label: archie.funet.fi Finland ! Xarchie*hostMenuItem12.label: archie.univ-rennes1.fr France ! Xarchie*hostMenuItem13.label: archie.th-darmstadt.de Germany ! Xarchie*hostMenuItem14.label: archie.ac.il Israel ! Xarchie*hostMenuItem15.label: archie.unipi.it Italy ! Xarchie*hostMenuItem16.label: archie.wide.ad.jp Japan ! Xarchie*hostMenuItem17.label: archie.hana.nm.kr Korea ! Xarchie*hostMenuItem18.label: archie.sogang.ac.kr Korea ! Xarchie*hostMenuItem19.label: archie.uninett.no Norway ! Xarchie*hostMenuItem20.label: archie.rediris.es Spain ! Xarchie*hostMenuItem21.label: archie.luth.se Sweden ! Xarchie*hostMenuItem22.label: archie.switch.ch Switzerland ! Xarchie*hostMenuItem23.label: archie.twnic.net Taiwan ! Xarchie*hostMenuItem24.label: archie.ncu.edu.tw Taiwan ! Xarchie*hostMenuItem25.label: archie.doc.ic.ac.uk United Kingdom ! Xarchie*hostMenuItem26.label: archie.hensa.ac.uk United Kingdom ! Xarchie*numHosts: 27 Xarchie*hostMenu*leftMargin: 15 ! These translations are for popups only Xarchie*hostMenu.translations:#override\n\ *** ../xarchie-2.0.9/Xarchie.ad.h Tue Aug 24 11:57:16 1993 --- Xarchie.ad.h Tue Jul 5 17:49:30 1994 *************** *** 523,546 **** : notify() unhighlight() MenuPopdown()", "Xarchie*setHostMenu.label: Archie Host", "Xarchie*hostMenu.label: Archie Host", ! "Xarchie*hostMenuItem0.label: archie.sura.net(1526) (USA-MD)", ! "Xarchie*hostMenuItem1.label: archie.sura.net (USA-MD)", ! "Xarchie*hostMenuItem2.label: archie.ans.net (USA-NY)", ! "Xarchie*hostMenuItem3.label: archie.rutgers.edu (USA-NJ)", ! "Xarchie*hostMenuItem4.label: archie.unl.edu (USA-NE)", ! "Xarchie*hostMenuItem5.label: archie.funet.fi (Finland/Europe)", ! "Xarchie*hostMenuItem6.label: archie.au (Australia)", ! "Xarchie*hostMenuItem7.label: archie.doc.ic.ac.uk (GB/Ireland)", ! "Xarchie*hostMenuItem8.label: archie.wide.ad.jp (Japan)", ! "Xarchie*hostMenuItem9.label: archie.ncu.edu.tw (Taiwan)", ! "Xarchie*hostMenuItem10.label: archie.nz (New Zealand)", ! "Xarchie*hostMenuItem11.label: archie.th-darmstadt.de (Germany)", ! "Xarchie*hostMenuItem12.label: archie.switch.ch (Switzerland)", ! "Xarchie*hostMenuItem13.label: archie.unipi.it (Italy)", ! "Xarchie*hostMenuItem14.label: archie.ac.el (Israel)", ! "Xarchie*hostMenuItem15.label: archie.kr (Korea)", ! "Xarchie*hostMenuItem16.label: archie.luth.se (Sweden)", ! "Xarchie*numHosts: 17", "Xarchie*hostMenu*leftMargin: 15", "Xarchie*hostMenu.translations:#override\\n\ : highlight() \\n\ --- 523,556 ---- : notify() unhighlight() MenuPopdown()", "Xarchie*setHostMenu.label: Archie Host", "Xarchie*hostMenu.label: Archie Host", ! "Xarchie*hostMenuItem0.label: archie.sura.net(1526) USA (MD)", ! "Xarchie*hostMenuItem1.label: archie.sura.net USA (MD)", ! "Xarchie*hostMenuItem2.label: archie.ans.net USA (NY)", ! "Xarchie*hostMenuItem3.label: archie.rutgers.edu USA (NJ)", ! "Xarchie*hostMenuItem4.label: archie.unl.edu USA (NE)", ! "Xarchie*hostMenuItem5.label: archie.internic.net USA (NJ)", ! "Xarchie*hostMenuItem6.label: archie.au Australia", ! "Xarchie*hostMenuItem7.label: archie.uni-linz.ac.at Austria", ! "Xarchie*hostMenuItem8.label: archie.univie.ac.at Austria", ! "Xarchie*hostMenuItem9.label: archie.cs.mcgill.ca Canada", ! "Xarchie*hostMenuItem10.label: archie.uqam.ca Canada", ! "Xarchie*hostMenuItem11.label: archie.funet.fi Finland", ! "Xarchie*hostMenuItem12.label: archie.univ-rennes1.fr France", ! "Xarchie*hostMenuItem13.label: archie.th-darmstadt.de Germany", ! "Xarchie*hostMenuItem14.label: archie.ac.il Israel", ! "Xarchie*hostMenuItem15.label: archie.unipi.it Italy", ! "Xarchie*hostMenuItem16.label: archie.wide.ad.jp Japan", ! "Xarchie*hostMenuItem17.label: archie.hana.nm.kr Korea", ! "Xarchie*hostMenuItem18.label: archie.sogang.ac.kr Korea", ! "Xarchie*hostMenuItem19.label: archie.uninett.no Norway", ! "Xarchie*hostMenuItem20.label: archie.rediris.es Spain", ! "Xarchie*hostMenuItem21.label: archie.luth.se Sweden", ! "Xarchie*hostMenuItem22.label: archie.switch.ch Switzerland", ! "Xarchie*hostMenuItem23.label: archie.twnic.net Taiwan", ! "Xarchie*hostMenuItem24.label: archie.ncu.edu.tw Taiwan", ! "Xarchie*hostMenuItem25.label: archie.doc.ic.ac.uk United Kingdom", ! "Xarchie*hostMenuItem26.label: archie.hensa.ac.uk United Kingdom", ! "Xarchie*numHosts: 27", "Xarchie*hostMenu*leftMargin: 15", "Xarchie*hostMenu.translations:#override\\n\ : highlight() \\n\ *** ../xarchie-2.0.9/ftp.c Tue Aug 24 11:51:25 1993 --- ftp.c Tue Jul 5 17:44:43 1994 *************** *** 41,46 **** --- 41,49 ---- * 30 Jun 1993: Fixes for Encore Umax (used cpp symbol "umax" as a guess). * 24 Aug 1993: Allow 200 reply for CWD as well as 250. * Non-blocking IO defs for NeXT. + * 5 Jul 1994: Fixed bug in CR stripping. + * Hopefully improved size-of-file detection. + * Non-blocking IO defs for Ultrix, Intergraph, Alliant. */ #include #include *************** *** 70,83 **** * sgi : From amoss@cs.huji.ac.il * umax : From Gerry.Tomlinson@newcastle.ac.uk * NeXT : From jk@zarniwoop.pc-labor.uni-bremen.de */ ! #if defined(hp300) || defined(NeXT) /* Here's for BSD, maybe, but Sys5 can't tell this from EOF. */ # include # define MAKE_NONBLOCKING(fd) fcntl(fd,F_SETFL,O_NDELAY) # define ITWOULDBLOCK EWOULDBLOCK #else ! #if defined(sgi) # include # define MAKE_NONBLOCKING(fd) fcntl(fd,F_SETFL,O_NONBLOCK) # define ITWOULDBLOCK EWOULDBLOCK --- 73,89 ---- * sgi : From amoss@cs.huji.ac.il * umax : From Gerry.Tomlinson@newcastle.ac.uk * NeXT : From jk@zarniwoop.pc-labor.uni-bremen.de + * ultrix: From hurmejw@pb.com from cmr@world.std.com + * __clipper__: From mlcampb1@mikec.b30.ingr.com (Intergraph, apparently) + * alliant : From rdr@gscs.com */ ! #if defined(hp300) || defined(NeXT) || defined(alliant) /* Here's for BSD, maybe, but Sys5 can't tell this from EOF. */ # include # define MAKE_NONBLOCKING(fd) fcntl(fd,F_SETFL,O_NDELAY) # define ITWOULDBLOCK EWOULDBLOCK #else ! #if defined(sgi) || defined(ultrix) || defined(__clipper__) # include # define MAKE_NONBLOCKING(fd) fcntl(fd,F_SETFL,O_NONBLOCK) # define ITWOULDBLOCK EWOULDBLOCK *************** *** 91,98 **** # define MAKE_NONBLOCKING(fd) fcntl(fd,F_SETFL,O_NONBLOCK) # define ITWOULDBLOCK EAGAIN #endif /* umax */ ! #endif /* sgi */ ! #endif /* hp300 */ /* * Networking includes from Brendan Kehoe (dirsend.c) */ --- 97,104 ---- # define MAKE_NONBLOCKING(fd) fcntl(fd,F_SETFL,O_NONBLOCK) # define ITWOULDBLOCK EAGAIN #endif /* umax */ ! #endif /* sgi || ultrix || __clipper__ */ ! #endif /* hp300 || NeXT || alliant */ /* * Networking includes from Brendan Kehoe (dirsend.c) */ *************** *** 832,840 **** break; case FTPS_GETPUT: if (FTP_REPLY_PRELIM(ftpc->retcode)) { /* dataconn ready */ status0(ftpc->reply+4); ! if (sscanf(ftpc->reply,"%*[^(](%d bytes)",&(ftpc->this_size)) != 1) ! ftpc->this_size = 0; if (ftpAcceptDataConn(ftpc) < 0) { /* local failure */ if (ftpc->port != -1) { /* give up */ DEBUG1("ftpProcessReply: closing port %d\n",ftpc->port); --- 838,849 ---- break; case FTPS_GETPUT: if (FTP_REPLY_PRELIM(ftpc->retcode)) { /* dataconn ready */ + char *s; status0(ftpc->reply+4); ! if ((s=rindex(ftpc->reply,'('))) { ! if (sscanf(s,"(%d",&(ftpc->this_size)) != 1) ! ftpc->this_size = 0; ! } if (ftpAcceptDataConn(ftpc) < 0) { /* local failure */ if (ftpc->port != -1) { /* give up */ DEBUG1("ftpProcessReply: closing port %d\n",ftpc->port); *************** *** 1225,1232 **** if (ftpc->type == TYPE_A && ftpc->stripcr) { DEBUG0("ftpReadData: stripping \n"); for (s=t=buf,i=nread; i--; ++s) { ! if (*s != '\r') *t++ = *s; } } /* Write locally */ --- 1234,1244 ---- if (ftpc->type == TYPE_A && ftpc->stripcr) { DEBUG0("ftpReadData: stripping \n"); for (s=t=buf,i=nread; i--; ++s) { ! if (*s != '\r') { *t++ = *s; + } else { + nread -= 1; + } } } /* Write locally */ *** ../xarchie-2.0.9/ftp.h Wed Apr 28 12:07:47 1993 --- ftp.h Tue Jul 5 16:42:58 1994 *************** *** 139,145 **** # include # include #else ! /* # define TYPE_A 1 /* ASCII */ # define TYPE_E 2 /* EBCDIC */ # define TYPE_I 3 /* image */ --- 139,145 ---- # include # include #else ! /* */ # define TYPE_A 1 /* ASCII */ # define TYPE_E 2 /* EBCDIC */ # define TYPE_I 3 /* image */ *** ../xarchie-2.0.9/hostname.c Thu Apr 22 15:40:28 1993 --- hostname.c Tue Jul 5 16:16:15 1994 *************** *** 9,19 **** * (c) if it succeeded, call gethostbyname() to "canonicalize" * the name (many systems don't return a fully-qualified name, * and getdomainname() is a loss. */ #include #include #ifndef MAXHOSTNAMELEN ! #include #endif #include "sysdefs.h" #include "stringdefs.h" --- 9,23 ---- * (c) if it succeeded, call gethostbyname() to "canonicalize" * the name (many systems don't return a fully-qualified name, * and getdomainname() is a loss. + * 5 Jul 1994: Give default for MAXHOSTNAMELEN. */ #include #include + #ifdef HAVE_SYS_PARAM_H + # include + #endif #ifndef MAXHOSTNAMELEN ! # define MAXHOSTNAMELEN 64 #endif #include "sysdefs.h" #include "stringdefs.h" *** ../xarchie-2.0.9/patchlevel.h Tue Aug 24 11:36:09 1993 --- patchlevel.h Tue Jul 5 17:42:09 1994 *************** *** 12,19 **** * Version 2.0.7: 30 Jun 1993 * Version 2.0.8: 27 Jul 1993 * Version 2.0.9: 24 Aug 1993 */ #undef BETA #define VERSION 2.0 ! #define PATCHLEVEL 9 --- 12,20 ---- * Version 2.0.7: 30 Jun 1993 * Version 2.0.8: 27 Jul 1993 * Version 2.0.9: 24 Aug 1993 + * Version 2.0.10: 5 Jul 1994 */ #undef BETA #define VERSION 2.0 ! #define PATCHLEVEL 10 *** ../xarchie-2.0.9/tilde.c Thu May 13 16:16:26 1993 --- tilde.c Tue Jul 5 16:38:48 1994 *************** *** 3,8 **** --- 3,9 ---- * * George Ferguson, ferguson@cs.rochester.edu, 23 Apr 1993. * 13 May 1993: Cleanups. + * 5 Jul 1994: Do it without modifying the stupid original. * */ *************** *** 23,30 **** char *file; { static char filename[MAXPATHLEN]; struct passwd *pwe; ! char *name,*home; /* Must start with tilde */ if (*file != '~') --- 24,33 ---- char *file; { static char filename[MAXPATHLEN]; + char name[64]; struct passwd *pwe; ! char *home; ! int i; /* Must start with tilde */ if (*file != '~') *************** *** 32,43 **** /* Set default return value in case tilde expansion fails */ strcpy(filename,file); /* Skip tilde */ ! name = ++file; /* Gather name following tilde (if any) */ ! while (*file != '\0' && *file != '/') file += 1; ! if (*file != '\0') ! *file++ = '\0'; if (*name == '\0') { /* ~/... */ if ((pwe=getpwuid(getuid())) != NULL) { home = pwe->pw_dir; --- 35,51 ---- /* Set default return value in case tilde expansion fails */ strcpy(filename,file); /* Skip tilde */ ! file += 1; /* Gather name following tilde (if any) */ ! i = 0; ! while (*file != '\0' && *file != '/') { ! name[i++] = *file++; ! } ! name[i] = '\0'; ! /* Skip slash (if any) */ ! if (*file == '/') { file += 1; ! } if (*name == '\0') { /* ~/... */ if ((pwe=getpwuid(getuid())) != NULL) { home = pwe->pw_dir; *************** *** 53,58 **** return(filename); } } ! sprintf(filename,"%s/%s",home,file); return(filename); } --- 61,70 ---- return(filename); } } ! if (*file != '\0') { ! sprintf(filename,"%s/%s",home,file); ! } else { ! strcpy(filename,home); ! } return(filename); }