tclark@honir.cs.cornell.edu (Timothy Clark) (09/25/90)
This shar contains the patch files needed for the CONVEX port of ISIS. The files include are: p.CONVEX.MAKEFILE - the system makefile (i.e. make CONVEX) p.CONVEX.README - the system README file p.Makefile - generic Makefile p.clib.cl_setjmp.s - patch for clib/cl_setjmp.c p.clib.cl_task.c - patch for clib/cl_task.c p.clib.isis.h - patch for clib/isis.h p.clib.makefile - patch for clib/makefile p.protos.makefile - patch for protos/makefile p.protos.pr.h - patch for protos/pr.h p.protos.pr_setjmp.s - patch for protos/pr_setjmp.s p.protos.pr_task.c - patch for protos/pr_task.c p.util.long_haul.c - patch for util/long_haul.c In order to make use of these files you must first cut out the shar text and save it as a file. Type /bin/sh <filename>. Then run patch for each of the specified files. For example: cut text, save as patches >/bin/sh patches >patch isis.h < p.clib.isis.h (either in same directory or specify path as needed) repeat for each specified file **NOTE: As stated in the system README file, this port has not been extensively tested by The ISIS Project, and should be considered an experimental port. #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create the files: # p.CONVEX.MAKEFILE # p.CONVEX.README # p.Makefile # p.clib.cl_setjmp.s # p.clib.cl_task.c # p.clib.isis.h # p.clib.makefile # p.protos.makefile # p.protos.pr.h # p.protos.pr_setjmp.s # p.protos.pr_task.c # p.util.long_haul.c # This archive created: Mon Sep 24 15:51:12 1990 export PATH; PATH=/bin:$PATH if test -f 'p.CONVEX.MAKEFILE' then echo shar: will not over-write existing file "'p.CONVEX.MAKEFILE'" else cat << \SHAR_EOF > 'p.CONVEX.MAKEFILE' *************** *** 0 **** --- 1,71 ---- + # $RCSfile: makefile,v $ $Revision: 1.5 $ $Date: 90/04/25 13:15:25 $ + SHELL = /bin/sh + MCH = MCHTYPE=CONVEX + + MCHDEP = $(MCH) MCHDEPCFLAGS="-pcc -DBYPASS" OPLIBS= + # Use the following line if you want to enable bypass communication mode. + #MCHDEP = $(MCH) MCHDEPCFLAGS="-DBYPASS" OPLIBS= + + # The following lines define useful sets of options for using either the + # gcc compiler or the standard C compiler on your system. + OPTIMSTD = CC=cc OPTIM="-O" + DEBUGSTD = CC=cc OPTIM="-g" + OPTIMGCC = CC=gcc OPTIM="-g -O" + DEBUGGCC = CC=gcc OPTIM="-g" + WARNGCC = CC=gcc OPTIM="-g -O -W" + WALLGCC = CC=gcc OPTIM="-g -Wall -O" + NOWARNGCC = CC=gcc OPTIM="-g -w -O" + + all: readme mlib clib protos util demos + + readme: + @cat README + + protos: pr_action + clib: cl_action + mlib: ml_action + util: ut_action + demos: de_action + + pr_action: + cd protos; make $(MCHDEP) $(OPTIMSTD) ; cd .. + cl_action: + cd clib; make $(MCHDEP) $(OPTIMSTD) ; cd .. + ml_action: + cd mlib; make $(MCHDEP) $(OPTIMSTD) ; cd .. + ut_action: + cd util; make $(MCHDEP) $(OPTIMSTD) ; cd .. + de_action: + cd demos; make $(MCHDEP) $(OPTIMSTD) ; cd .. + + UTILPROGS = cmd isis lmgr news prstat rexec \ + rmgr rmgr_cmd spooler tabex xmgr + DEMOPROGS = bank fortran_test grid lh_sp_test lisp_test \ + qa selftest silentjoins sun_grid teller testjoins \ + testtasks twenty wanClient wanServer spread + + install: + (cd bin; /bin/rm -f protos $(UTILPROGS) $(DEMOPROGS) ) + - (cd demos/pmk; make install ) + ln protos/protos bin + (cd util; ln $(UTILPROGS) ../bin ) + - (cd demos; ln $(DEMOPROGS) ../bin ) + /bin/rm -f lib/libisis1.a lib/libisis2.a lib/libisism.a + ln clib/libisis1.a clib/libisis2.a mlib/libisism.a lib + + clean: + /bin/rm -f protos/*.[os] clib/*.[os] mlib/*.o util/*.o demos/*.o + /bin/rm -f util/cmd[ly].[ch] + - (cd demos/pmk; make clean ) + + realclean: clean + - (cd demos/pmk; make realclean ) + /bin/rm -f protos/protos + (cd util; /bin/rm -f $(UTILPROGS) ) + (cd demos; /bin/rm -f $(DEMOPROGS) ) + /bin/rm -f bin/* + /bin/rm -f clib/libisis1.a clib/libisis2.a mlib/libisism.a + /bin/rm -f lib/*.a + (cd run_demos; /bin/rm -f *.log core ) + (cd run_isis; /bin/rm -f *.log core ) + SHAR_EOF fi # end of overwriting check if test -f 'p.CONVEX.README' then echo shar: will not over-write existing file "'p.CONVEX.README'" else cat << \SHAR_EOF > 'p.CONVEX.README' *************** *** 0 **** --- 1,8 ---- + This is a recent port of ISIS to the Convex C2 series. + Port by Dave Forslund of Los Alamos Labs. Not extensively tested yet. + + Please report bugs or problems to isis-bugs@cs.cornell.edu + + Consider this an experimental port... + + Ken SHAR_EOF fi # end of overwriting check if test -f 'p.Makefile' then echo shar: will not over-write existing file "'p.Makefile'" else cat << \SHAR_EOF > 'p.Makefile' *************** *** 147,153 **** NEXT: NEXT_DIR_MADE NEXT_LAST_MAKE cd NEXT; make; make install; date > NEXT_LAST_MAKE SGI: SGI_DIR_MADE SGI_LAST_MAKE cd SGI; make; make install; date > SGI_LAST_MAKE SUN3: SUN3_DIR_MADE SUN3_LAST_MAKE cd SUN3; make; make install; date > SUN3_LAST_MAKE SUN4: SUN4_DIR_MADE SUN4_LAST_MAKE --- 147,155 ---- NEXT: NEXT_DIR_MADE NEXT_LAST_MAKE cd NEXT; make; make install; date > NEXT_LAST_MAKE SGI: SGI_DIR_MADE SGI_LAST_MAKE cd SGI; make; make install; date > SGI_LAST_MAKE ! CONVEX: CONVEX_DIR_MADE CONVEX_LAST_MAKE ! cd CONVEX; make; make install; date > CONVEX_LAST_MAKE SUN3: SUN3_DIR_MADE SUN3_LAST_MAKE cd SUN3; make; make install; date > SUN3_LAST_MAKE SUN4: SUN4_DIR_MADE SUN4_LAST_MAKE SHAR_EOF fi # end of overwriting check if test -f 'p.clib.cl_setjmp.s' then echo shar: will not over-write existing file "'p.clib.cl_setjmp.s'" else cat << \SHAR_EOF > 'p.clib.cl_setjmp.s' *************** *** 517,519 **** --- 517,603 ---- .align 2 .tbtag 0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0 #endif AIXRS + #ifdef CONVEX + + PSW_FRL = 0x06000000 + + PSW_SF = 0x06000000 + + JMPMAGIC = -33 + JMPMAGIC2 = -333 + + MAG1SAVE = 0 + PCSAVE = 4 + PSWSAVE = 8 + FPSAVE = 12 + SPSAVE = 16 + MAG2SAVE = 32 + + .text + .globl _isis_setjmp + _isis_setjmp: + ld.w 0(ap),a1 ; get jump buffer address + ld.w #JMPMAGIC2,s0 ; store magic number in buffer + st.w s0,MAG1SAVE(a1) + + ld.w 8(fp),s0 + st.w s0,FPSAVE(a1) ; save frame pointer of caller + + ld.w 4(fp),s0 + st.w s0,PSWSAVE(a1) ; save program status word + + ld.w 0(fp),s0 + st.w s0,PCSAVE(a1) ; save pc of caller + + ld.w 4(fp),s0 ; psw of caller + + and #PSW_FRL,s0 ; extract frl bits + eq.w #PSW_SF,s0 ; short frame? + brs.f L1 + + mov sp,s0 + add.w #16,s0 ; sp before calls + br L2 + + L1: mov sp,s0 + add.w #92,s0 ; sp before call + + L2: st.w s0,SPSAVE(a1) ; save sp of caller + + ld.w #JMPMAGIC,s0 ; store magic number + st.w s0,MAG2SAVE(a1) + sub.l s0,s0 + rtn + + .globl _isis_longjmp + _isis_longjmp: + ld.w 0(ap),a1 ; fetch buffer address + ld.w 4(ap), s0 ; save return value + + ld.w MAG1SAVE(a1),s2 ; make sure env buffer is from + eq.w #JMPMAGIC2,s2 ; _setjmp + jbrs.f botch + + ld.w MAG2SAVE(a1),s2 + eq.w #JMPMAGIC,s2 + jbrs.f botch + + ; Restore the stack environment and return the value passed to longjmp. + + ld.w FPSAVE(a1), fp ; restore frame pointer + ld.w SPSAVE(a1), sp ; restore stack pointer + ld.w PSWSAVE(a1), a3 ; restore psw + mov a3, psw + ld.w PCSAVE(a1), a2 ; restore pc + jmp (a2) ; return + + botch: + pshea #16 + pshea msg + pshea #2 + mov sp,ap + calls _write + halt #0,sp + + msg: ds.b "longjmp botch - \0" + #endif CONVEX SHAR_EOF fi # end of overwriting check if test -f 'p.clib.cl_task.c' then echo shar: will not over-write existing file "'p.clib.cl_task.c'" else cat << \SHAR_EOF > 'p.clib.cl_task.c' *************** *** 45,54 **** /* On some machine setjmp and longjmp work fine for ISIS */ #ifndef THREADS ! # if (AIXRS|GOULD|hp9000s800|NEXT|MIPS|RT43|SGI|CONVEX) # define isis_setjmp _setjmp # define isis_longjmp _longjmp ! # endif (AIXRS|GOULD|hp9000s800|NEXT|MIPS|RT43|SGI|CONVEX) # if (AIX) # define isis_setjmp setjmp # define isis_longjmp longjmp --- 45,54 ---- /* On some machine setjmp and longjmp work fine for ISIS */ #ifndef THREADS ! # if (AIXRS|GOULD|hp9000s800|NEXT|MIPS|RT43|SGI) # define isis_setjmp _setjmp # define isis_longjmp _longjmp ! # endif (AIXRS|GOULD|hp9000s800|NEXT|MIPS|RT43|SGI) # if (AIX) # define isis_setjmp setjmp # define isis_longjmp longjmp *************** *** 497,503 **** #endif hp9000s800 } # endif ! # if(AIX|MIPS|RT43|SGI) { jmp_buf env; int *envp; --- 497,503 ---- #endif hp9000s800 } # endif ! # if(AIX|MIPS|RT43|SGI|CONVEX) { jmp_buf env; int *envp; SHAR_EOF fi # end of overwriting check if test -f 'p.clib.isis.h' then echo shar: will not over-write existing file "'p.clib.isis.h'" else cat << \SHAR_EOF > 'p.clib.isis.h' *************** *** 136,141 **** --- 136,142 ---- #ifdef CONVEX # define UNIX_DOM 1 + # define JB_SP 4 #endif CONVEX #ifdef SGI *************** *** 170,180 **** #define bzero(a,b) memset(a,0,b) #endif HPUX ! #if (AIX|AIXRS|HPUX|SUN|VAX|SGI|MIPS|AUX) # define isis_dofork() fork() #else # define isis_dofork() vfork() ! #endif (AIX|AIXRS|HPUX|SUN|VAX|SGI|MIPS|AUX) #define MAX_PROCS 64 #define MAX_SITES 127 /* Also change in pr.h! */ --- 171,181 ---- #define bzero(a,b) memset(a,0,b) #endif HPUX ! #if (AIX|AIXRS|HPUX|SUN|VAX|SGI|MIPS|AUX|CONVEX) # define isis_dofork() fork() #else # define isis_dofork() vfork() ! #endif (AIX|AIXRS|HPUX|SUN|VAX|SGI|MIPS|AUX|CONVEX) #define MAX_PROCS 64 #define MAX_SITES 127 /* Also change in pr.h! */ SHAR_EOF fi # end of overwriting check if test -f 'p.clib.makefile' then echo shar: will not over-write existing file "'p.clib.makefile'" else cat << \SHAR_EOF > 'p.clib.makefile' *************** *** 68,76 **** ap_dummy.o: $(S)/ap_dummy.c; $(CC) -c $(CFLAGS) $(S)/ap_dummy.c cl_sundummy.o: $(S)/cl_sundummy.c; $(CC) -c $(CFLAGS) $(S)/cl_sundummy.c cl_setjmp.o: cl_setjmp.s $(S)/cl_setjmp.c ! -if test $(MCHTYPE) != GOULD -a $(MCHTYPE) != RT43 -a $(MCHTYPE) != MIPS -a $(MCHTYPE) != AIX -a $(MCHTYPE) != MACH -a $(MCHTYPE) != APOLLO -a $(MCHTYPE) != SGI -a $(MCHTYPE) != CONVEX ; then cc -c $(CPPFLAGS) cl_setjmp.s; fi ! -if test $(MCHTYPE) = GOULD -o $(MCHTYPE) = RT43 -o $(MCHTYPE) = MIPS -o $(MCHTYPE) = AIX -o $(MCHTYPE) = MACH -o $(MCHTYPE) = APOLLO -o $(MCHTYPE) = SGI -o $(MCHTYPE) = CONVEX; then $(CC) -c $(CFLAGS) $(S)/cl_setjmp.c; fi ! cl_setjmp.s: $(S)/cl_setjmp.s; /lib/cpp $(CPPFLAGS) $(S)/cl_setjmp.s > x; mv x cl_setjmp.s tk_xaction.o: $(S)/tk_xaction.c; $(CC) -c $(CFLAGS) $(S)/tk_xaction.c cl_token.o: $(S)/cl_token.c; $(CC) -c $(CFLAGS) $(S)/cl_token.c cl_sunlwp_fix.o: $(S)/cl_sunlwp_fix.c; cc -c $(CPPFLAGS) $(S)/cl_sunlwp_fix.c --- 68,78 ---- ap_dummy.o: $(S)/ap_dummy.c; $(CC) -c $(CFLAGS) $(S)/ap_dummy.c cl_sundummy.o: $(S)/cl_sundummy.c; $(CC) -c $(CFLAGS) $(S)/cl_sundummy.c cl_setjmp.o: cl_setjmp.s $(S)/cl_setjmp.c ! -if test $(MCHTYPE) != GOULD -a $(MCHTYPE) != RT43 -a $(MCHTYPE) != MIPS -a $(MCHTYPE) != AIX -a $(MCHTYPE) != MACH -a $(MCHTYPE) != APOLLO -a $(MCHTYPE) != SGI ; then cc -c $(CPPFLAGS) cl_setjmp.s; fi ! -if test $(MCHTYPE) = GOULD -o $(MCHTYPE) = RT43 -o $(MCHTYPE) = MIPS -o $(MCHTYPE) = AIX -o $(MCHTYPE) = MACH -o $(MCHTYPE) = APOLLO -o $(MCHTYPE) = SGI ; then $(CC) -c $(CFLAGS) $(S)/cl_setjmp.c; fi ! cl_setjmp.s: $(S)/cl_setjmp.s ! -if test $(MCHTYPE) != CONVEX ; then /lib/cpp $(CPPFLAGS) $(S)/cl_setjmp.s > x; mv x cl_setjmp.s; fi ! -if test $(MCHTYPE) = CONVEX; then cp $(S)/cl_setjmp.s cl_setjmp.s; fi tk_xaction.o: $(S)/tk_xaction.c; $(CC) -c $(CFLAGS) $(S)/tk_xaction.c cl_token.o: $(S)/cl_token.c; $(CC) -c $(CFLAGS) $(S)/cl_token.c cl_sunlwp_fix.o: $(S)/cl_sunlwp_fix.c; cc -c $(CPPFLAGS) $(S)/cl_sunlwp_fix.c SHAR_EOF fi # end of overwriting check if test -f 'p.protos.makefile' then echo shar: will not over-write existing file "'p.protos.makefile'" else cat << \SHAR_EOF > 'p.protos.makefile' *************** *** 58,64 **** pr_viewlocks.o: $(S)/pr_viewlocks.c; $(CC) -c $(CFLAGS) $(S)/pr_viewlocks.c pr_glocks.o: $(S)/pr_glocks.c; $(CC) -c $(CFLAGS) $(S)/pr_glocks.c pr_setjmp.o: pr_setjmp.s $(S)/pr_setjmp.c ! -if test $(MCHTYPE) != GOULD -a $(MCHTYPE) != RT43 -a $(MCHTYPE) != MIPS -a $(MCHTYPE) != AIX -a $(MCHTYPE) != MACH -a $(MCHTYPE) != APOLLO -a $(MCHTYPE) != SGI -a $(MCHTYPE) != CONVEX; then cc -c $(CFLAGS) pr_setjmp.s; fi ! -if test $(MCHTYPE) = GOULD -o $(MCHTYPE) = RT43 -o $(MCHTYPE) = MIPS -o $(MCHTYPE) = AIX -o $(MCHTYPE) = MACH -o $(MCHTYPE) = APOLLO -o $(MCHTYPE) = SGI -o $(MCHTYPE) = CONVEX; then $(CC) -c $(CFLAGS) $(S)/pr_setjmp.c; fi ! pr_setjmp.s: $(S)/pr_setjmp.s; /lib/cpp $(CPPFLAGS) $(S)/pr_setjmp.s > x; mv x pr_setjmp.s pr_msgtank.o: $(S)/pr_msgtank.c; $(CC) -c $(CFLAGS) $(S)/pr_msgtank.c --- 58,66 ---- pr_viewlocks.o: $(S)/pr_viewlocks.c; $(CC) -c $(CFLAGS) $(S)/pr_viewlocks.c pr_glocks.o: $(S)/pr_glocks.c; $(CC) -c $(CFLAGS) $(S)/pr_glocks.c pr_setjmp.o: pr_setjmp.s $(S)/pr_setjmp.c ! -if test $(MCHTYPE) != GOULD -a $(MCHTYPE) != RT43 -a $(MCHTYPE) != MIPS -a $(MCHTYPE) != AIX -a $(MCHTYPE) != MACH -a $(MCHTYPE) != APOLLO -a $(MCHTYPE) != SGI ; then cc -c $(CFLAGS) pr_setjmp.s; fi ! -if test $(MCHTYPE) = GOULD -o $(MCHTYPE) = RT43 -o $(MCHTYPE) = MIPS -o $(MCHTYPE) = AIX -o $(MCHTYPE) = MACH -o $(MCHTYPE) = APOLLO -o $(MCHTYPE) = SGI ; then $(CC) -c $(CFLAGS) $(S)/pr_setjmp.c; fi ! pr_setjmp.s: $(S)/pr_setjmp.s ! -if test $(MCHTYPE) != CONVEX; then /lib/cpp $(CPPFLAGS) $(S)/pr_setjmp.s > x; mv x pr_setjmp.s; fi ! -if test $(MCHTYPE) = CONVEX; then cp $(S)/pr_setjmp.s pr_setjmp.s; fi pr_msgtank.o: $(S)/pr_msgtank.c; $(CC) -c $(CFLAGS) $(S)/pr_msgtank.c SHAR_EOF fi # end of overwriting check if test -f 'p.protos.pr.h' then echo shar: will not over-write existing file "'p.protos.pr.h'" else cat << \SHAR_EOF > 'p.protos.pr.h' *************** *** 70,75 **** --- 70,80 ---- /* JB_SP defined in jmpbuf.h */ #endif + #ifdef CONVEX + # define UNIX_DOM 1 + #define JB_SP 4 + #endif + #ifdef SGI # define UNIX_DOM 1 /* JB_SP defined in jmpbuf.h */ SHAR_EOF fi # end of overwriting check if test -f 'p.protos.pr_setjmp.s' then echo shar: will not over-write existing file "'p.protos.pr_setjmp.s'" else cat << \SHAR_EOF > 'p.protos.pr_setjmp.s' *************** *** 510,512 **** --- 510,595 ---- .align 2 .tbtag 0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0 #endif AIXRS + #ifdef CONVEX + PSW_FRL = 0x06000000 + + PSW_SF = 0x06000000 + + JMPMAGIC = -33 + JMPMAGIC2 = -333 + + MAG1SAVE = 0 + PCSAVE = 4 + PSWSAVE = 8 + FPSAVE = 12 + SPSAVE = 16 + MAG2SAVE = 32 + + .text + .globl _isis_setjmp + _isis_setjmp: + ld.w 0(ap),a1 ; get jump buffer address + ld.w #JMPMAGIC2,s0 ; store magic number in buffer + st.w s0,MAG1SAVE(a1) + + ld.w 8(fp),s0 + st.w s0,FPSAVE(a1) ; save frame pointer of caller + + ld.w 4(fp),s0 + st.w s0,PSWSAVE(a1) ; save program status word + + ld.w 0(fp),s0 + st.w s0,PCSAVE(a1) ; save pc of caller + + ld.w 4(fp),s0 ; psw of caller + + and #PSW_FRL,s0 ; extract frl bits + eq.w #PSW_SF,s0 ; short frame? + brs.f L1 + + mov sp,s0 + add.w #16,s0 ; sp before calls + br L2 + + L1: mov sp,s0 + add.w #92,s0 ; sp before call + + L2: st.w s0,SPSAVE(a1) ; save sp of caller + + ld.w #JMPMAGIC,s0 ; store magic number + st.w s0,MAG2SAVE(a1) + sub.l s0,s0 + rtn + + .globl _isis_longjmp + _isis_longjmp: + ld.w 0(ap),a1 ; fetch buffer address + ld.w 4(ap), s0 ; save return value + + ld.w MAG1SAVE(a1),s2 ; make sure env buffer is from + eq.w #JMPMAGIC2,s2 ; _setjmp + jbrs.f botch + + ld.w MAG2SAVE(a1),s2 + eq.w #JMPMAGIC,s2 + jbrs.f botch + + ; Restore the stack environment and return the value passed to longjmp. + + ld.w FPSAVE(a1), fp ; restore frame pointer + ld.w SPSAVE(a1), sp ; restore stack pointer + ld.w PSWSAVE(a1), a3 ; restore psw + mov a3, psw + ld.w PCSAVE(a1), a2 ; restore pc + jmp (a2) ; return + + botch: + pshea #16 + pshea msg + pshea #2 + mov sp,ap + calls _write + halt #0,sp + + msg: ds.b "longjmp botch - \0" + #endif SHAR_EOF fi # end of overwriting check if test -f 'p.protos.pr_task.c' then echo shar: will not over-write existing file "'p.protos.pr_task.c'" else cat << \SHAR_EOF > 'p.protos.pr_task.c' *************** *** 28,37 **** /* On some machine setjmp and longjmp work fine for ISIS */ #ifndef THREADS ! # if (AIXRS|GOULD|hp9000s800|NEXT|MIPS|RT43|SGI|CONVEX) # define isis_setjmp _setjmp # define isis_longjmp _longjmp ! # endif (AIXRS|GOULD|hp9000s800|NEXT|MIPS|RT43|SGI|CONVEX) # if (AIX) # define isis_setjmp setjmp # define isis_longjmp longjmp --- 28,37 ---- /* On some machine setjmp and longjmp work fine for ISIS */ #ifndef THREADS ! # if (AIXRS|GOULD|hp9000s800|NEXT|MIPS|RT43|SGI) # define isis_setjmp _setjmp # define isis_longjmp _longjmp ! # endif (AIXRS|GOULD|hp9000s800|NEXT|MIPS|RT43|SGI) # if (AIX) # define isis_setjmp setjmp # define isis_longjmp longjmp *************** *** 297,303 **** #endif hp9000s800 } # endif ! # if(MIPS|AIX|RT43|SGI) { jmp_buf env; int *envp; --- 297,303 ---- #endif hp9000s800 } # endif ! # if(MIPS|AIX|RT43|SGI|CONVEX) { jmp_buf env; int *envp; SHAR_EOF fi # end of overwriting check if test -f 'p.util.long_haul.c' then echo shar: will not over-write existing file "'p.util.long_haul.c'" else cat << \SHAR_EOF > 'p.util.long_haul.c' *************** *** 2660,2666 **** struct sockaddr *addr; int *addrlen; { ! int i, j=*addrlen; again: *addrlen = j; i = accept(s, addr, addrlen); --- 2660,2666 ---- struct sockaddr *addr; int *addrlen; { ! int i, j = *addrlen; again: *addrlen = j; i = accept(s, addr, addrlen); SHAR_EOF fi # end of overwriting check # End of shell archive exit 0