Only in mm1: ADDLF.C
diff mm1/ARGLIST.C sun/ARGLIST.C
7a8,9
>  *
>  * NOTE: returned arglist ptr should be free'd when done using!!!
17c19
< 	char **ppcArgs;
---
> 	char **ppcArgs;		/* return arglist */
19c21
< 	int iArgs;
---
> 	int iArgs;		/* size of arglist currently allocated */
27a30
> 	/* first arg is beginning of string passed */
31a35
> 		/* hunt seperator char c */
40a45
> 			/* separate on space, pass quotes together */
63c68,69
< 				ppcTemp=malloc(iArgs+4+4*8+4);
---
> 				/* increase size of arglist array */
> 				ppcTemp=malloc(iArgs*4+8*4+4);
72a79
> 				iArgs+=8;
diff mm1/CRYPT.C sun/CRYPT.C
0a1,2
> #include "stgnet.h"
> 
Only in mm1: DBXINIT
diff mm1/GET_KEY.C sun/GET_KEY.C
23c23
< 	_ss_mode(2,-1);
---
> 	_ss_mode(2,3);
diff mm1/GET_LINE.C sun/GET_LINE.C
54c54
< 			write(2,s,1);
---
> 			writeln(2,s,1);
63c63
< 	_ss_mode(2,-1);
---
> 	_ss_mode(2,3);
70c70
< 				write(2,"\7",1);
---
> 				writeln(2,"\7",1);
79c79
< 			write(2,"\7",1);
---
> 			writeln(2,"\7",1);
86,88c86
< 			write(2,p,1);
< 			/* 94/05/21 StG hack to fix lf problem on g windows */
< 			write(2,"\l",1);
---
> 			writeln(2,p,1);
100c98
< 				write(2,"\b \b",3);
---
> 				writeln(2,"\b \b",3);
110c108
< 				write(2,"\b \b",3);
---
> 				writeln(2,"\b \b",3);
120c118
< 				write(2,"\7",1);
---
> 				writeln(2,"\7",1);
130c128
< 				write(2,"\7",1);
---
> 				writeln(2,"\7",1);
137c135
< 				write(2,"\b \b",3);
---
> 				writeln(2,"\b \b",3);
140,142c138
< 			write(2,"\n",1);
< 			/* 94/05/21 StG hack to fix lf problem on g windows */
< 			write(2,"\l",1);
---
> 			writeln(2,"\n",1);
152c148
< 			write(2,"\7",1);
---
> 			writeln(2,"\7",1);
157c153
< 			write(2,&echo,1);
---
> 			writeln(2,&echo,1);
159c155
< 			write(2,p,1);
---
> 			writeln(2,p,1);
163,165c159
< 	write(2,"\n",1);
< 	/* 94/05/21 StG hack to fix lf problem on g windows */
< 	write(2,"\l",1);
---
> 	writeln(2,"\n",1);
diff mm1/GRP.C sun/GRP.C
6a7,8
> #include "stglib.h"
> 
Only in mm1: HISTORY.OLD
diff mm1/LINE.C sun/LINE.C
100a101,103
> #define WL_SIZE 256
> /* if len is less than size, use buffer to keep \n with text */
> 
106a110,127
> 	char wlbuf[WL_SIZE];
> 
> 	if (len<WL_SIZE)
> 	{
> 		p=wlbuf;
> 		while (len--)
> 		{
> 			if (*buf=='\n')
> 			{
> 				if (isatty(path))
> 					*p++='\r';
> 				*p++='\n';
> 				break;
> 			}
> 			*p++=*buf++;
> 		}
> 		return(write(path,wlbuf,p-wlbuf));
> 	}
Only in mm1: LIST.C
Only in mm1: LIST.PC
Only in mm1: LOGIN
diff mm1/MAKEFILE sun/MAKEFILE
3,14c3,14
< # OSK (change all "-r $@ $@." to "$@.")
< CFLAGS=-g -q -s -t=/r0
< LFLAGS=-l=stg.l
< STGLIB=stg.l
< EXT=r
< ODIR=/dd/stg/cmds
< 
< # Unix (change all "$@." to "-r $@ $@.")
< #STGLIB=libstg.a
< #CFLAGS=-g -D_UNIX
< #LFLAGS=-L. -lstg
< #EXT=o
---
> # OSK (change all "-o $@ $@." to "$@.")
> #CFLAGS=-g -q -s -t=/r0
> #LFLAGS=-l=stg.l
> #STGLIB=stg.l
> #EXT=r
> #ODIR=/dd/stg/cmds
> 
> # Unix (change all "$@." to "-o $@ $@.")
> STGLIB=libstg.a
> CFLAGS=-g
> LFLAGS=-L. -lstg
> EXT=o
31a32,33
> # non-unix:
> # cvt_cia error groups su password pop
34,35c36
< 	termlist userlist servlist nodelist sroute stgxfr \
< 	cvt_cia error groups su password pop list
---
> 	termlist userlist servlist nodelist sroute stgxfr 
38,39c39,40
< 	make $(ALL)
< 	(chd $(ODIR);attr -pe -npr -npw $(ALL);copy $(ALL) -rw=/dd/stg/v4/DIST/cmds)
---
> 	@echo Done
> #	(chd $(ODIR);attr -pe -npr -npw $(ALL);copy $(ALL) -rw=$(DIST)/cmds)
41,42c42,44
< stg_net: stg_net.$(EXT) $(STGLIB)
< 	cc $(CFLAGS) $@.$(EXT) $(LFLAGS)
---
> #cvt_cia.$(EXT): cvt_cia.c $(DEPEND)
> #cvt_cia: cvt_cia.$(EXT) $(STGLIB)
> 
43a46,47
> stg_net: stg_net.$(EXT) $(STGLIB)
> 	cc $(CFLAGS) -o $@ $@.$(EXT) $(LFLAGS)
47c51,54
< 	cc $(CFLAGS) $@.$(EXT) $(LFLAGS)
---
> 	cc $(CFLAGS) -o $@ $@.$(EXT) $(LFLAGS)
> 
> #error.$(EXT): error.c $(DEPEND)
> #error: error.$(EXT) $(STGLIB)
48a56,58
> #groups.$(EXT): groups.c $(DEPEND)
> #groups: groups.$(EXT) $(STGLIB)
> 
51c61
< 	cc $(CFLAGS) $@.$(EXT) $(LFLAGS)
---
> 	cc $(CFLAGS) -o $@ $@.$(EXT) $(LFLAGS)
55c65,71
< 	cc $(CFLAGS) $@.$(EXT) $(LFLAGS)
---
> 	cc $(CFLAGS) -o $@ $@.$(EXT) $(LFLAGS)
> 
> #su.$(EXT): su.c $(DEPEND)
> #su: su.$(EXT) $(STGLIB)
> 
> #password.$(EXT): password.c $(DEPEND)
> #password: password.$(EXT) $(STGLIB)
59c75
< 	cc $(CFLAGS) $@.$(EXT) $(LFLAGS)
---
> 	cc $(CFLAGS) -o $@ $@.$(EXT) $(LFLAGS)
63c79
< 	cc $(CFLAGS) $@.$(EXT) $(LFLAGS)
---
> 	cc $(CFLAGS) -o $@ $@.$(EXT) $(LFLAGS)
67c83
< 	cc $(CFLAGS) $@.$(EXT) $(LFLAGS)
---
> 	cc $(CFLAGS) -o $@ $@.$(EXT) $(LFLAGS)
71c87
< 	cc $(CFLAGS) $@.$(EXT) $(LFLAGS)
---
> 	cc $(CFLAGS) -o $@ $@.$(EXT) $(LFLAGS)
75c91
< 	cc $(CFLAGS) $@.$(EXT) $(LFLAGS)
---
> 	cc $(CFLAGS) -o $@ $@.$(EXT) $(LFLAGS)
79c95
< 	cc $(CFLAGS) $@.$(EXT) $(LFLAGS)
---
> 	cc $(CFLAGS) -o $@ $@.$(EXT) $(LFLAGS)
83c99
< 	cc $(CFLAGS) $@.$(EXT) $(LFLAGS)
---
> 	cc $(CFLAGS) -o $@ $@.$(EXT) $(LFLAGS)
87c103
< 	cc $(CFLAGS) $@.$(EXT) $(LFLAGS)
---
> 	cc $(CFLAGS) -o $@ $@.$(EXT) $(LFLAGS)
91c107
< 	cc $(CFLAGS) $@.$(EXT) $(LFLAGS)
---
> 	cc $(CFLAGS) -o $@ $@.$(EXT) $(LFLAGS)
95c111
< 	cc $(CFLAGS) $@.$(EXT) $(LFLAGS)
---
> 	cc $(CFLAGS) -o $@ $@.$(EXT) $(LFLAGS)
99c115
< 	cc $(CFLAGS) $@.$(EXT) $(LFLAGS)
---
> 	cc $(CFLAGS) -o $@ $@.$(EXT) $(LFLAGS)
103c119
< 	cc $(CFLAGS) $@.$(EXT) $(LFLAGS)
---
> 	cc $(CFLAGS) -o $@ $@.$(EXT) $(LFLAGS)
107c123
< 	cc $(CFLAGS) $@.$(EXT) $(LFLAGS)
---
> 	cc $(CFLAGS) -o $@ $@.$(EXT) $(LFLAGS)
109,131c125,136
< # non-UNIX
< cvt_cia.$(EXT): cvt_cia.c $(DEPEND)
< cvt_cia: cvt_cia.$(EXT) $(STGLIB)
< 	cc $(CFLAGS) $@.$(EXT) $(LFLAGS)
< 
< error.$(EXT): error.c $(DEPEND)
< error: error.$(EXT) $(STGLIB)
< 	cc $(CFLAGS) $@.$(EXT) $(LFLAGS)
< 
< groups.$(EXT): groups.c $(DEPEND)
< groups: groups.$(EXT) $(STGLIB)
< 	cc $(CFLAGS) $@.$(EXT) $(LFLAGS)
< 
< su.$(EXT): su.c $(DEPEND)
< su: su.$(EXT) $(STGLIB)
< 	cc $(CFLAGS) $@.$(EXT) $(LFLAGS)
< 
< password.$(EXT): password.c $(DEPEND)
< password: password.$(EXT) $(STGLIB)
< 	cc $(CFLAGS) $@.$(EXT) $(LFLAGS)
< 
< pop: pop.c
< 	cc pop.c
---
> # sandv utils
> download.$(EXT): download.c
> download: download.$(EXT) $(STGLIB)
> 	cc $(CFLAGS) -o $@ $@.$(EXT) $(LFLAGS)
> 
> upload.$(EXT): upload.c
> upload: upload.$(EXT) $(STGLIB)
> 	cc $(CFLAGS) -o $@ $@.$(EXT) $(LFLAGS)
> 
> stgver.$(EXT): stgver.c
> stgver: stgver.$(EXT) $(STGLIB)
> 	cc $(CFLAGS) -o $@ $@.$(EXT) $(LFLAGS)
133,134c138,139
< list: list.c
< 	cc list.c
---
> #pop: pop.$(EXT)
> #pop.$(EXT): pop.c
137d141
< 
139c143,146
< 	merge $(LIBRARY) >-$(STGLIB)
---
> #	merge $(LIBRARY) >-$(STGLIB)
> # Unix
> 	ar ruv $(STGLIB) $(LIBRARY)
> 	ranlib $(STGLIB)
140a148,150
> version: stgver
> # OSK
> #	stgver >-stgver.h
142,143c152,153
< #	ar ruv $(STGLIB) $(LIBRARY)
< #	ranlib $(STGLIB)
---
> 	stgver >stgver.h
> 	make
170,176d179
< -bo
< dist: all
< 	(chd $(ODIR);copy $(ALL) -rw=/dd/stg/v4/DIST/cmds)
< 
< ar:
< 	(chd DIST;lha -ar ../stgnetv4.lzh *)
< 
180c183
< 	(chd $(ODIR);rm -f $(ALL))
---
> 	rm -f $(ALL)
187d189
< 
Only in sun: MAKEFILE.OLD
Only in mm1: MAKEFILE.UNX
Only in sun: MAK_STG
Only in mm1: NOISE.C
diff mm1/POP.C sun/POP.C
47,49d46
< /* 94/05/21 StG - disable termcap mod feature */
< int iNoTermcap=0;
< 
239c236
< #ifdef OSK_BOGUS
---
> #ifdef OSK
276d272
< 	case 'n': iNoTermcap++; break;
292d287
< 		printf("     -n = don't even check the termcap\n");
519,521d513
< /* 94/05/21 StG - disable termcap mod feature */
< if (!iNoTermcap)
< {
586,587d577
< 
< } /* 94/05/21 StG - disable termcap mod feature */
diff mm1/PWD.C sun/PWD.C
7a8,9
> #include "stglib.h"
> 
diff mm1/RENAME.C sun/RENAME.C
3c3
< #include <stdio.h>
---
> #include "stglib.h"
Only in mm1: RND.C
diff mm1/SLOGIN.C sun/SLOGIN.C
11c11
< char *VER="V4.0a";
---
> #include "stgnet.h"
28d27
< #include "stgnet.h"
80,81d78
< 	setuid(0);
< 
120,121c117
< 	pcUser=*argv;
< 	if (pcUser) argv++;
---
> 	pcUser=*argv++;
diff mm1/SMAIL.C sun/SMAIL.C
137c137
< 	wstringf(2,"FROM: %s\n",acFrom);
---
> 	writeln(2,stringf(b,"FROM: %s\n",acFrom),250);
142c142
< 		wstringf(2,"TO  : %s\n",acTo);
---
> 		writeln(2,stringf(b,"TO  : %s\n",acTo),250);
146c146
< 		write(2,"TO  : ",6);
---
> 		writeln(2,"TO  : ",6);
178c178
< 		wstringf(2,"SUBJ: %s\n",acSubj);
---
> 		writeln(2,stringf(b,"SUBJ: %s\n",acSubj),250);
182c182
< 		write(2,"SUBJ: ",6);
---
> 		writeln(2,"SUBJ: ",6);
diff mm1/SMENU.C sun/SMENU.C
434,435c434,435
< 			*pcPrompt++=CR;
< 			*pcPrompt++=LF;
---
> 			*pcPrompt++='\n';
> 			*pcPrompt++='\r';
973c973
< 	case CR:
---
> 	case '\n':
975c975
< 		*pcOut++=LF;
---
> 		*pcOut++='\r';
Only in sun: SMENU.UU
diff mm1/SS_MISC.C sun/SS_MISC.C
5,9c5,13
< /************************************************
<  **
<  ** _ss_mode codes: 0=normal, 1=no echo, -1=raw 
<  **
<  ************************************************/
---
> /*
>  * _ss_mode(path,code)
>  *
>  * code:	 0 = normal
>  *		 1 = no echo
>  *		 2 = disable line buffering [UNIX]
>  *		-1 = RAW
>  *
> */
39,40d42
< 		sTempMode.sg_bspch=0;
< 		sTempMode.sg_dlnch=0;
94d95
< 
115a117,122
> 	if (code&2)	/* turn off line buffering */
> 	{
> 		/* local flags */
> 		sTempMode.c_lflag&=~ICANON;	/* no canon processing */
> 	}
> 
119,127c126
< 		sTempMode.c_iflag&=~INPCK;	/* no parity check */
< 		sTempMode.c_iflag&=~ISTRIP;	/* no strip char */
< 		sTempMode.c_iflag&=~INLCR;	/* no map nl to cr */
< 		sTempMode.c_iflag&=~IGNCR;	/* no ignore cr */
< 		sTempMode.c_iflag&=~ICRNL;	/* no map cr to nl */
< 		sTempMode.c_iflag&=~IUCLC;	/* no map case */
< 		sTempMode.c_iflag&=~IXON;	/* no xon output */
< 		sTempMode.c_iflag&=~IXOFF;	/* no xon input */
< 		sTempMode.c_iflag&=~IMAXBEL;	/* no bell */
---
> 		sTempMode.c_iflag=0;
130c129
< 		sTempMode.c_oflag&=~OPOST;	/* no postprocess */
---
> 		sTempMode.c_oflag=0;
133,134c132,133
< /*		sTempMode.c_cflag
< 			may want to force this to 8 bits, no par? */
---
> 		sTempMode.c_cflag&=~PARENB;
> 		sTempMode.c_cflag|=CS8;
136,137c135,136
< 		/* line flags */
< 		sTempMode.c_lflag&=~ICANON;	/* no canon processing */
---
> 		/* local modes */
> 		sTempMode.c_lflag=0;
140c139
< 	ioctl(path,TCSETA,&sTempMode);
---
> 	ioctl(path,TCSETAW,&sTempMode);
Only in sun: SS_MISC.OLD
Only in sun: SS_MISC2.C
diff mm1/STGLIB.H sun/STGLIB.H
26c26,27
< #ifdef _UNIX
---
> #ifdef unix
> #define _UNIX
30a32
> #include <varargs.h>
49d50
< #define _OS9
157,158d157
< 
< #include "varargs.h"
Only in mm1: STGNET.DB9
Only in sun: STGVER
diff mm1/STGVER.H sun/STGVER.H
1c1
< #define STG_VER "V4.C.0521"
---
> #define STG_VER "V4.C.0218"
diff mm1/STGXFR.C sun/STGXFR.C
287d286
< 
350a350
> /*wstringf(2,"[%04X-%04X]",nopseq,noptmp);*/
352c352
< 				if (nopoff>=1024)
---
> 				if (nopoff>=0x8000)
357d356
< 					nopseq=noptmp;
410c409,410
< 
---
> 	
> 		
411a412
> 	if (Sec.lost+Sec.sqerr)
413c414,415
< 		if (Sec.lost+Sec.sqerr)
---
> 		/* are receiving bytes, but have lost some */
> 		if (iMaxSend>1)
415,426c417,419
< 			/* receiving bytes, but have lost some */
< 			if (iMaxSend>10)
< 				iMaxSend-=10;
< 			else
< 				if (iMaxSend>1)
< 					iMaxSend--;
< 		}
< 		else
< 		{
< 			/* no loss, increase it (but only to half of cycle) */
< 			if (iMaxSend<Sec.cycle/2)
< 				iMaxSend++;
---
> 			iMaxSend--;
> 			if (iTestMode)
> 				wstringf(2,"MaxSend now %d\n",iMaxSend);
427a421,427
> 	}
> 	else
> 	{
> 		/* no loss, increase it */
> 		iMaxSend++;
> 		if (iTestMode)
> 			wstringf(2,"MaxSend now %d\n",iMaxSend);
Only in sun: STGXFR.OLD
Only in mm1: STGXFR.OUT
Only in sun: STGXFR.SAV
Only in mm1: STGXFR.TMP
diff mm1/STG_NET.C sun/STG_NET.C
662,665d661
< 	/* because this is often run from startup, path 0 may not be terminal */
< 	close(0);
< 	dup(2);
< 
diff mm1/SYSLOG_.C sun/SYSLOG_.C
35,38c35,38
< 	int hLog;
< 	int errno_;
< 	int uid;
< 	long lTime;
---
> 	int hLog;		/* log file */
> 	int errno_;		/* errno save */
> 	int uid;		/* user id */
> 	long lTime;		/* current time */
Only in mm1: TEST
diff mm1/TEST.C sun/TEST.C
5,8c5,19
< 	wstringf(1,"Path #1 line 1\n");
< 	wstringf(1,"Path #1 line 2\n");
< 	wstringf(2,"Path #2 line 1\n");
< 	wstringf(2,"Path #2 line 2\n");
---
> 	char pkt[9];
> 
> 	while (read(0,pkt,9)==9)
> 	{
> 		printf("%02X %02X %02X %02X %02X %02X %02X %02X %02X\n",
> 			pkt[0]&0xFF,
> 			pkt[1]&0xFF,
> 			pkt[2]&0xFF,
> 			pkt[3]&0xFF,
> 			pkt[4]&0xFF,
> 			pkt[5]&0xFF,
> 			pkt[6]&0xFF,
> 			pkt[7]&0xFF,
> 			pkt[8]&0xFF);
> 	}
