diff -r -u rdist-6.1.3/Makefile.local rdist-6.1.3-gw/Makefile.local --- rdist-6.1.3/Makefile.local Mon Feb 5 13:50:27 1996 +++ rdist-6.1.3-gw/Makefile.local Mon Apr 6 17:21:57 1998 @@ -21,7 +21,7 @@ # # HPUX systems that use GNU bison need "-lPW". # -LIBS_LOCAL = +LIBS_LOCAL = socketpair.o -lsocket -L/usr/local/lib -lregex # # You may want to set C Compiler optimization to -O or to nothing at all. diff -r -u rdist-6.1.3/config/config-def.h rdist-6.1.3-gw/config/config-def.h --- rdist-6.1.3/config/config-def.h Wed Mar 30 23:30:43 1994 +++ rdist-6.1.3-gw/config/config-def.h Tue Apr 7 09:07:25 1998 @@ -63,6 +63,7 @@ #define FSI_GETMNT 2 #define FSI_MNTCTL 3 #define FSI_GETMNTENT 4 +#define FSI_SCO_MNTTAB 5 /* * Types of non-blocking I/O. diff -r -u rdist-6.1.3/include/filesys.h rdist-6.1.3-gw/include/filesys.h --- rdist-6.1.3/include/filesys.h Mon Dec 11 19:46:47 1995 +++ rdist-6.1.3-gw/include/filesys.h Tue Apr 7 08:50:38 1998 @@ -79,6 +79,11 @@ # define MOUNTED_FILE MNTTAB #endif /* FSI_GETMNTENT2 */ +#if FSI_TYPE == FSI_SCO_MNTTAB +# include +# define MOUNTED_FILE MNTTAB +#endif /* FSI_SCO_MNTTAB */ + #if !defined(MOUNTED_FILE) && defined(MNT_MNTTAB) /* HPUX */ # define MOUNTED_FILE MNT_MNTTAB #endif /* MNT_MNTTAB */ diff -r -u rdist-6.1.3/src/filesys-os.c rdist-6.1.3-gw/src/filesys-os.c --- rdist-6.1.3/src/filesys-os.c Thu Feb 15 14:01:04 1996 +++ rdist-6.1.3-gw/src/filesys-os.c Tue Apr 7 09:18:48 1998 @@ -397,3 +397,51 @@ return(new); } + +#if FSI_TYPE == FSI_SCO_MNTTAB +/* + * This code is by Greg Wooledge for SCO Unix 3.2v4.2. + */ + +/* + * Prepare to iterate over mounted filesystem list + */ +FILE *setmountent(file, mode) + /*ARGSUSED*/ + char *file; + char *mode; +{ + return(fopen(file, mode)); +} + +/* + * Done with iteration + */ +void endmountent(fptr) + /*ARGSUSED*/ + FILE *fptr; +{ + fclose(fptr); +} + +/* + * Iterate over mount entries + */ +mntent_t *getmountent(fptr) + FILE *fptr; +{ + static mntent_t me; + static struct mnttab mntent; + + bzero((char *)&me, sizeof(mntent_t)); + + if (fread (&mntent, sizeof (mntent), 1, fptr) == 1) { + me.me_path = mntent.mt_filsys; + me.me_type = METYPE_OTHER; + if (mntent.mt_ro_flg) + me.me_flags |= MEFLAG_READONLY; + return(&me); + } else + return((mntent_t *) NULL); +} +#endif /* FSI_SCO_MNTTAB */