[comp.os.minix] V1.3 posting #8 - command diffs, part 1 of 2

ast@cs.vu.nl (Andy Tanenbaum) (05/30/88)

: This is a shar archive.  Extract with sh, not csh.
: This archive ends with exit, so do not worry about trailing junk.
: --------------------------- cut here --------------------------
PATH=/bin:/usr/bin:/usr/ucb
echo Extracting 'cal.c.diff'
sed 's/^X//' > 'cal.c.diff' << '+ END-OF-FILE ''cal.c.diff'
X3c3
X< #include "../include/stdio.h"
X---
X> #include <stdio.h>
+ END-OF-FILE cal.c.diff
chmod 'u=rw,g=r,o=r' 'cal.c.diff'
set `wc -c 'cal.c.diff'`
count=$1
case $count in
61)	:;;
*)	echo 'Bad character count in ''cal.c.diff' >&2
		echo 'Count should be 61' >&2
esac
echo Extracting 'cat.c.diff'
sed 's/^X//' > 'cat.c.diff' << '+ END-OF-FILE ''cat.c.diff'
X5,6c5,7
X< #include "blocksize.h"
X< #include "stat.h"
X---
X> #include <minix/blocksize.h>
X> #include <sys/types.h>
X> #include <sys/stat.h>
+ END-OF-FILE cat.c.diff
chmod 'u=rw,g=r,o=r' 'cat.c.diff'
set `wc -c 'cat.c.diff'`
count=$1
case $count in
137)	:;;
*)	echo 'Bad character count in ''cat.c.diff' >&2
		echo 'Count should be 137' >&2
esac
echo Extracting 'cc.c.diff'
sed 's/^X//' > 'cc.c.diff' << '+ END-OF-FILE ''cc.c.diff'
X31c31
X< !!!!_SEE_BELOW_!!! 
X---
X> !!! AH HA!  I HAVE YOUR ATTENTION!
X43c43
X< /* #define MEM640K  */
X---
X> /* #define MEM640K */
X137a138
X> 	exit(1);
+ END-OF-FILE cc.c.diff
chmod 'u=rw,g=r,o=r' 'cc.c.diff'
set `wc -c 'cc.c.diff'`
count=$1
case $count in
148)	:;;
*)	echo 'Bad character count in ''cc.c.diff' >&2
		echo 'Count should be 148' >&2
esac
echo Extracting 'chmem.c.diff'
sed 's/^X//' > 'chmem.c.diff' << '+ END-OF-FILE ''chmem.c.diff'
X9c9
X< #define SEPBIT   0x00200000	/* this bit is set for separate I/D */
X---
X> #define SEPBIT  0x00200000	/* this bit is set for separate I/D */
X46c46
X<   if ( (header[0] & 0xFFFF) != MAGIC)
X---
X>   if ( (header[0] & 0xFFFFL) != MAGIC)
X54a55
X> 
X55a57
X>   if (separate == 0) newtot += header[TEXT];
X59d60
X<   if (separate == 0) newtot += header[TEXT];
+ END-OF-FILE chmem.c.diff
chmod 'u=rw,g=r,o=r' 'chmem.c.diff'
set `wc -c 'chmem.c.diff'`
count=$1
case $count in
351)	:;;
*)	echo 'Bad character count in ''chmem.c.diff' >&2
		echo 'Count should be 351' >&2
esac
echo Extracting 'chown.c.diff'
sed 's/^X//' > 'chown.c.diff' << '+ END-OF-FILE ''chown.c.diff'
X8,11c8,11
X< #include "pwd.h"
X< #include "../h/type.h"
X< #include "stat.h"
X< #include "stdio.h"
X---
X> #include <pwd.h>
X> #include <sys/types.h>
X> #include <sys/stat.h>
X> #include <stdio.h>
+ END-OF-FILE chown.c.diff
chmod 'u=rw,g=r,o=r' 'chown.c.diff'
set `wc -c 'chown.c.diff'`
count=$1
case $count in
188)	:;;
*)	echo 'Bad character count in ''chown.c.diff' >&2
		echo 'Count should be 188' >&2
esac
echo Extracting 'clr.c.diff'
sed 's/^X//' > 'clr.c.diff' << '+ END-OF-FILE ''clr.c.diff'
X7c7
X<   prints("\033 8\033~0");
X---
X>   prints("\033[H\033[J");
+ END-OF-FILE clr.c.diff
chmod 'u=rw,g=r,o=r' 'clr.c.diff'
set `wc -c 'clr.c.diff'`
count=$1
case $count in
64)	:;;
*)	echo 'Bad character count in ''clr.c.diff' >&2
		echo 'Count should be 64' >&2
esac
echo Extracting 'cp.c.diff'
sed 's/^X//' > 'cp.c.diff' << '+ END-OF-FILE ''cp.c.diff'
X3c3,4
X< #include "stat.h"
X---
X> #include <sys/types.h>
X> #include <sys/stat.h>
X43c44
X< 	copyfile(fd1, fd2);
X---
X> 	copyfile(fd1, fd2, argv[2]);
X89c90
X< 	copyfile(fd1, fd2);
X---
X> 	copyfile(fd1, fd2, dirname);
X97c98
X< copyfile(fd1, fd2)
X---
X> copyfile(fd1, fd2, name)
X98a100
X> char *name;
X108a111
X> 			unlink(name);	/* don't leave truncated file around */
+ END-OF-FILE cp.c.diff
chmod 'u=rw,g=r,o=r' 'cp.c.diff'
set `wc -c 'cp.c.diff'`
count=$1
case $count in
355)	:;;
*)	echo 'Bad character count in ''cp.c.diff' >&2
		echo 'Count should be 355' >&2
esac
echo Extracting 'cpdir.c.diff'
sed 's/^X//' > 'cpdir.c.diff' << '+ END-OF-FILE ''cpdir.c.diff'
X6,8c6,9
X<    but the linking structure of the tree, and the owner and time
X<    information of files are not yet preserved. (See the work-yet-to-be-done list
X<    below.)
X---
X>    but the linking structure of the tree is not yet preserved.
X>    (See the work-yet-to-be-done list below.)
X>    The -m "merge" flag enables you to copy into an existing directory.
X>    The -s "similar" flag preserves the full mode, uid, gid and times.
X12,13c13
X<   - preserve link structure, times, etc...
X<   - 'stat' optimization (stat() is invoked twice for normal files)
X---
X>   - preserve link structure
X15d14
X< 	* has been solved by letting 'cpdir' create the target directory
X22c21,23
X< #include "stdio.h"
X---
X> #include <stdio.h>
X> #include <sys/types.h>
X> #include <sys/stat.h>
X26,31d26
X< #ifdef UNIX
X< #include <sys/types.h>
X< #include <sys/stat.h>
X< #else !UNIX
X< #include "stat.h"
X< #endif
X38a34,35
X> int mflag = 0;	/* force */
X> int sflag = 0;	/* similar */
X45a43
X> 	struct stat st;
X55a54,59
X> 			case 'm':
X> 				mflag = 1;
X> 				break;
X> 			case 's':
X> 				sflag = 1;
X> 				break;
X62,63c66,70
X< 		fatal("Usage: cpdir [-v] source destination");
X< 	if (ftype(s = *argv++) != S_IFDIR)
X---
X> 		fatal("Usage: cpdir [-msv] source destination");
X> 	s = *argv++;
X> 	if (stat(s, &st) < 0)
X> 		fatal("can't get file status of %s", s);
X> 	if ((st.st_mode & S_IFMT) != S_IFDIR)
X65c72
X< 	cpdir(s, *argv);
X---
X> 	cpdir(&st, s, *argv);
X69c76,77
X< cpdir(s, d)
X---
X> cpdir(sp, s, d)
X> 	struct stat *sp;
X75a84,87
X> 	struct stat st;
X> 	static first = 1;
X> 	static dev_t dev;
X> 	static ino_t ino;
X77,81c89,90
X< 	while (*send++ = *s++) {}
X< 	send--;
X< 	while (*dend++ = *d++) {}
X< 	if ((fd = open(spath, 0)) < 0) {
X< 		nonfatal("can't read directory %s", spath);
X---
X> 	if ((fd = open(s, 0)) < 0) {
X> 		nonfatal("can't read directory %s", s);
X84,86c93,116
X< 	*send++ = '/';
X< 	ent[DIRSIZ] = '\0';
X< 	mkdir(dpath);
X---
X> 	if (
X> 		mflag == 0
X> 		||
X> 		stat(d, &st) != 0
X> 		||
X> 		(st.st_mode & S_IFMT) != S_IFDIR
X> 	) {
X> 		mkdir(d);
X> 		if (sflag)
X> 			similar(sp, d);
X> 	}
X> 	if (first) {
X> 		stat(d, &st);
X> 		dev = st.st_dev;
X> 		ino = st.st_ino;
X> 		first = 0;
X> 	}
X> 	if (sp->st_dev == dev && sp->st_ino == ino) {
X> 		nonfatal("%s skipped to avoid an endless loop", s);
X> 		return;
X> 	}
X> 	while (*send++ = *s++) {}
X> 	while (*dend++ = *d++) {}
X> 	send[-1] = '/';
X87a118
X> 	ent[DIRSIZ] = '\0';
X95c126,128
X< 			switch (ftype(spath)) {
X---
X> 			if (stat(spath, &st) < 0)
X> 				fatal("can't get file status of %s", spath);
X> 			switch (st.st_mode & S_IFMT) {
X97c130
X< 				cpdir(spath, dpath);
X---
X> 				cpdir(&st, spath, dpath);
X100c133
X< 				cp(spath, dpath);
X---
X> 				cp(&st, spath, dpath);
X131c164,165
X< cp(s, d)
X---
X> cp(sp, s, d)
X> 	struct stat *sp;
X134d167
X< 	struct stat st;
X143,145c176
X< 		if (fstat(sfd, &st) < 0)
X< 			fatal("can't get file status of %s", s);
X< 		if ((dfd = creat(d, st.st_mode & 0777)) < 0)
X---
X> 		if ((dfd = creat(d, sp->st_mode & 0777)) < 0)
X148c179,180
X< 			write(dfd, buf, n);
X---
X> 			if (write(dfd, buf, n) != n)
X> 				fatal("error in writing file %s", d);
X152a185,186
X> 		if (sflag)
X> 			similar(sp, d);
X156,157c190,192
X< ftype(s)
X< 	char *s;
X---
X> similar(sp, d)
X> 	struct stat *sp;
X> 	char *d;
X159c194
X< 	struct stat st;
X---
X> 	time_t timep[2];
X161,163c196,200
X< 	if (stat(s, &st) < 0)
X< 		fatal("can't get file status of %s", s);
X< 	return st.st_mode & S_IFMT;
X---
X> 	chmod(d, sp->st_mode);
X> 	chown(d, sp->st_uid, sp->st_gid);
X> 	timep[0] = sp->st_atime;
X> 	timep[1] = sp->st_mtime;
X> 	utime(d, timep);
+ END-OF-FILE cpdir.c.diff
chmod 'u=rw,g=r,o=r' 'cpdir.c.diff'
set `wc -c 'cpdir.c.diff'`
count=$1
case $count in
3520)	:;;
*)	echo 'Bad character count in ''cpdir.c.diff' >&2
		echo 'Count should be 3520' >&2
esac
echo Extracting 'date.c.diff'
sed 's/^X//' > 'date.c.diff' << '+ END-OF-FILE ''date.c.diff'
X3c3
X< #include "stdio.h"
X---
X> #include <stdio.h>
X116a117,118
X> 	if (tm.year < 0)
X> 		tm.year += 100;
+ END-OF-FILE date.c.diff
chmod 'u=rw,g=r,o=r' 'date.c.diff'
set `wc -c 'date.c.diff'`
count=$1
case $count in
102)	:;;
*)	echo 'Bad character count in ''date.c.diff' >&2
		echo 'Count should be 102' >&2
esac
echo Extracting 'dd.c.diff'
sed 's/^X//' > 'dd.c.diff' << '+ END-OF-FILE ''dd.c.diff'
X1,2c1,2
X< #include "stdio.h"
X< #include "signal.h"
X---
X> #include <stdio.h>
X> #include <signal.h>
X49c49
X< 		       done(1);
X---
X> 		       exit(1);
X92c92
X< 	done(1);
X---
X> 	exit(1);
X108c108
X<   done(0);
X---
X>   exit(0);
X199c199
X< 			done(1);
X---
X> 			exit(1);
X206c206
X< 	done(1);
X---
X> 	exit(1);
X213c213
X< 	done(1);
X---
X> 	exit(1);
X218c218
X< 	done(1);
X---
X> 	exit(1);
X227c227
X< 	done(1);
X---
X> 	exit(1);
X231c231
X< 	done(1);
X---
X> 	exit(1);
X235c235
X< 	done(1);
X---
X> 	exit(1);
X239c239
X< 	done(1);
X---
X> 	exit(1);
X339,345d338
X< }
X< 
X< done(n)
X< int n;
X< {
X<   _cleanup();			/* flush stdio's internal buffers */
X<   exit(n);
+ END-OF-FILE dd.c.diff
chmod 'u=rw,g=r,o=r' 'dd.c.diff'
set `wc -c 'dd.c.diff'`
count=$1
case $count in
622)	:;;
*)	echo 'Bad character count in ''dd.c.diff' >&2
		echo 'Count should be 622' >&2
esac
echo Extracting 'df.c.diff'
sed 's/^X//' > 'df.c.diff' << '+ END-OF-FILE ''df.c.diff'
X3,8c3,10
X< #include "../h/const.h"
X< #include "../h/type.h"
X< #include "../fs/const.h"
X< #include "../fs/type.h"
X< #include "../fs/super.h"
X< #include "stat.h"
X---
X> #include <minix/const.h>
X> #include <minix/type.h>
X> #include <fs/const.h>
X> #include <fs/type.h>
X> #include <fs/super.h>
X> #include <sys/types.h>
X> #include <sys/stat.h>
X> #include <stdio.h>
X9a12,13
X> char *mtab = "/etc/mtab";
X> 
X15d18
X< 
X18,22d20
X<   if (argc <= 1) {
X< 	std_err("Usage: df special ...\n");
X< 	exit(1);
X<   }
X< 
X23a22,23
X>   if (argc == 1) defaults();
X> 
X86c86
X<   prints("%s ",name);
X---
X>   prints("%s",name);
X93c93
X<   prints(" used  ");
X---
X>   prints(" used ");
X97c97
X<   prints(" used  ");
X---
X>   prints(" used ");
X148,150c148,151
X<   if (n < 10) prints("   %s", itoa(n));
X<   else if (n < 100) prints("  %s", itoa(n));
X<   else if (n < 1000) prints(" %s", itoa(n));
X---
X>   if (n < 10)      prints("    %s", itoa(n));
X>   else if (n < 100) prints("   %s", itoa(n));
X>   else if (n < 1000) prints("  %s", itoa(n));
X>   else if (n < 10000) prints(" %s", itoa(n));
X151a153,188
X> }
X> 
X> defaults()
X> {
X> /* Use the root file system and all mounted file systems. */
X> 
X>   char buf[256];
X> 
X>   close(0);
X>   if (open(mtab, 0) < 0) {
X> 	std_err("df: cannot open ");
X> 	std_err(mtab);
X> 	std_err("\n");
X> 	exit(1);
X>   }
X> 
X>   /* Read /etc/mtab and iterate on the lines. */
X>   while (1) {
X> 	getname(buf);		/* getname exits upon hitting EOF */
X> 	df(buf);
X>   }
X> 
X> }
X> 
X> getname(p)
X> char *p;
X> {
X>   char c;
X> 
X>   while (1) {
X> 	c = getchar();
X> 	if (c < 0) exit(0);
X> 	if (c == ' ') c = 0;
X> 	*p++ = c;
X> 	if (c == '\n') return;
X>   }
+ END-OF-FILE df.c.diff
chmod 'u=rw,g=r,o=r' 'df.c.diff'
set `wc -c 'df.c.diff'`
count=$1
case $count in
1629)	:;;
*)	echo 'Bad character count in ''df.c.diff' >&2
		echo 'Count should be 1629' >&2
esac
echo Extracting 'diff.c.diff'
sed 's/^X//' > 'diff.c.diff' << '+ END-OF-FILE ''diff.c.diff'
X12c12
X< #include "stdio.h"
X---
X> #include <stdio.h>
X108c108
X< 	if ((p[1] & 0377) != '\377' && *p != '\n') {
X---
X> 	if ((p[1] & 0377) != 0377 && *p != '\n') {
+ END-OF-FILE diff.c.diff
chmod 'u=rw,g=r,o=r' 'diff.c.diff'
set `wc -c 'diff.c.diff'`
count=$1
case $count in
158)	:;;
*)	echo 'Bad character count in ''diff.c.diff' >&2
		echo 'Count should be 158' >&2
esac
echo Extracting 'dosread.c.diff'
sed 's/^X//' > 'dosread.c.diff' << '+ END-OF-FILE ''dosread.c.diff'
X4a5
X>  * This program uses the DOS 2.0 format and those compatible with it
X14c15
X< #include "stat.h"
X---
X> #include <sys/stat.h>
+ END-OF-FILE dosread.c.diff
chmod 'u=rw,g=r,o=r' 'dosread.c.diff'
set `wc -c 'dosread.c.diff'`
count=$1
case $count in
129)	:;;
*)	echo 'Bad character count in ''dosread.c.diff' >&2
		echo 'Count should be 129' >&2
esac
echo Extracting 'du.c.diff'
sed 's/^X//' > 'du.c.diff' << '+ END-OF-FILE ''du.c.diff'
X15,18c15,18
X< #include "stdio.h"
X< 
X< #include "stat.h"
X< #include "blocksize.h"
X---
X> #include <stdio.h>
X> #include <sys/types.h>
X> #include <sys/stat.h>
X> #include <minix/blocksize.h>
+ END-OF-FILE du.c.diff
chmod 'u=rw,g=r,o=r' 'du.c.diff'
set `wc -c 'du.c.diff'`
count=$1
case $count in
186)	:;;
*)	echo 'Bad character count in ''du.c.diff' >&2
		echo 'Count should be 186' >&2
esac
echo Extracting 'fdisk.c.diff'
sed 's/^X//' > 'fdisk.c.diff' << '+ END-OF-FILE ''fdisk.c.diff'
X17c17
X< #include "stdio.h"
X---
X> #include <stdio.h>
+ END-OF-FILE fdisk.c.diff
chmod 'u=rw,g=r,o=r' 'fdisk.c.diff'
set `wc -c 'fdisk.c.diff'`
count=$1
case $count in
52)	:;;
*)	echo 'Bad character count in ''fdisk.c.diff' >&2
		echo 'Count should be 52' >&2
esac
echo Extracting 'find.c.diff'
sed 's/^X//' > 'find.c.diff' << '+ END-OF-FILE ''find.c.diff'
X14c14
X< #include "stdio.h"
X---
X> #include <stdio.h>
X17c17,19
X< #include "stat.h"
X---
X> #include <sys/types.h>
X> #include <sys/stat.h>
X> 
+ END-OF-FILE find.c.diff
chmod 'u=rw,g=r,o=r' 'find.c.diff'
set `wc -c 'find.c.diff'`
count=$1
case $count in
137)	:;;
*)	echo 'Bad character count in ''find.c.diff' >&2
		echo 'Count should be 137' >&2
esac
echo Extracting 'fix.c.diff'
sed 's/^X//' > 'fix.c.diff' << '+ END-OF-FILE ''fix.c.diff'
X4c4
X<    * files old and old.fix are equal after the following commands
X---
X>    * files new and old.fix are equal after the following commands
X43c43
X< #define copy(str) printf("%s", str)
X---
X> #define copy(str) fputs(str,stdout);
X54c54
X< 		fatal("use: %s original-file diff-list-file", prog);
X---
X> 		fatal("Usage: %s original-file diff-list-file", prog);
X60a61
X> 
X69c70
X< 				fatal("delete count conflict");
X---
X> 				fatal("delete count conflict n1 != n2");
X75c76
X< 					fatal("illegal delete line");
X---
X> 					fatal("no < in delete line");
X77c78
X< 					fatal("delete line conflict");
X---
X> 					fatal("delete line mismatch");
X83c84
X< 				fatal("illegal separator in chunk");
X---
X> 				fatal("no --- at end of change chunk");
X88,90c89,93
X< 					fatal("append count conflict");
X< 				copy(getline(fpf, obuf));
X< 				here++;
X---
X> 					fatal("append count conflict o1 != o2");
X> 				if (o1) {
X> 					copy(getline(fpf, obuf));
X> 					here++;
X> 				}
X94c97
X< 					fatal("illegal append line");
X---
X> 					fatal("no > in append line");
X128c131
X< 	if (v1 == 0 || v2 == 0 || v1 > v2)
X---
X> 	if (v1 > v2)
X159d161
X< 	fprintf(stderr, "%s: fatal: ", prog);
+ END-OF-FILE fix.c.diff
chmod 'u=rw,g=r,o=r' 'fix.c.diff'
set `wc -c 'fix.c.diff'`
count=$1
case $count in
1150)	:;;
*)	echo 'Bad character count in ''fix.c.diff' >&2
		echo 'Count should be 1150' >&2
esac
echo Extracting 'grep.c.diff'
sed 's/^X//' > 'grep.c.diff' << '+ END-OF-FILE ''grep.c.diff'
X22,23c22,23
X< #include "regexp.h"
X< #include "stdio.h"
X---
X> #include <regexp.h>
X> #include <stdio.h>
X70c70
X< 	done(2);
X---
X> 	exit(2);
X94c94
X<   done(status);
X---
X>   exit(status);
X130c130
X<   done(2);
X---
X>   exit(2);
X148c148
X<   done(2);
X---
X>   exit(2);
X155c155,156
X<   char *initbuf = buf, c;
X---
X>   char *initbuf = buf;
X>   int c;
X164,170d164
X< }
X< 
X< done(n)
X< int n;
X< {
X<   fflush(stdout);
X<   exit(n);
+ END-OF-FILE grep.c.diff
chmod 'u=rw,g=r,o=r' 'grep.c.diff'
set `wc -c 'grep.c.diff'`
count=$1
case $count in
413)	:;;
*)	echo 'Bad character count in ''grep.c.diff' >&2
		echo 'Count should be 413' >&2
esac
echo Extracting 'gres.c.diff'
sed 's/^X//' > 'gres.c.diff' << '+ END-OF-FILE ''gres.c.diff'
X20,21c20,21
X< #include "stdio.h"
X< #include "regexp.h"
X---
X> #include <stdio.h>
X> #include <regexp.h>
X47c47
X< 		done(2);
X---
X> 		exit(2);
X51c51
X< 		done(2);
X---
X> 		exit(2);
X55c55
X< 		done(2);
X---
X> 		exit(2);
X79c79
X< 	done(status);
X---
X> 	exit(status);
X114c114
X< 	done(2);
X---
X> 	exit(2);
X188,194d187
X< }
X< 
X< done(n)
X< int n;
X< {
X<   _cleanup();			/* flush stdio's internal buffers */
X<   exit(n);
+ END-OF-FILE gres.c.diff
chmod 'u=rw,g=r,o=r' 'gres.c.diff'
set `wc -c 'gres.c.diff'`
count=$1
case $count in
400)	:;;
*)	echo 'Bad character count in ''gres.c.diff' >&2
		echo 'Count should be 400' >&2
esac
echo Extracting 'head.c.diff'
sed 's/^X//' > 'head.c.diff' << '+ END-OF-FILE ''head.c.diff'
X2d1
X< /* change to use putc() instead of prints()    --  Dean Long 3/7/87    */
X3a3
X> #include <stdio.h>
X5,6d4
X< #include "stdio.h"
X< 
X9,10d6
X< char buff[BUFSIZ];
X< 
X15c11
X< 
X---
X>   FILE *f;
X20d15
X<   setbuf(stdout, buff);
X24c19
X<   if (*ptr++ == '-') {
X---
X>   if (argc > 1 && *ptr++ == '-') {
X33,34c28
X<   	do_file(n);
X< 	fflush(stdout);
X---
X>   	do_file(n, stdin);
X40,43c34,36
X<   	fclose(stdin);
X<   	if (nfiles > 1) prints("==> %s <==\n", argv[k]);
X<   	if (fopen(argv[k], "r") == NULL) 
X< 		prints("head: cannot open %s\n", argv[k]);
X---
X>   	if (nfiles > 1) printf("==> %s <==\n", argv[k]);
X>   	if ((f = fopen(argv[k], "r")) == NULL) 
X> 		printf("head: cannot open %s\n", argv[k]);
X45,46c38,39
X< 		do_file(n);
X< 	 	fflush(stdout);
X---
X> 		do_file(n, f);
X> 	 	fclose(f);
X49c42
X<   	if (k < argc) prints("\n");
X---
X>   	if (k < argc) printf("\n");
X56c49
X< do_file(n)
X---
X> do_file(n, f)
X57a51
X> FILE *f;
X63c57
X<     switch (c = getc(stdin)) {
X---
X>     switch (c = getc(f)) {
X76c70
X<   std_err("Usage: head [-n] [file ...]\n");
X---
X>   fprintf(stderr, "Usage: head [-n] [file ...]\n");
X79d72
X< 
+ END-OF-FILE head.c.diff
chmod 'u=rw,g=r,o=r' 'head.c.diff'
set `wc -c 'head.c.diff'`
count=$1
case $count in
1102)	:;;
*)	echo 'Bad character count in ''head.c.diff' >&2
		echo 'Count should be 1102' >&2
esac
echo Extracting 'kill.c.diff'
sed 's/^X//' > 'kill.c.diff' << '+ END-OF-FILE ''kill.c.diff'
X3c3
X< #include "../h/signal.h"
X---
X> #include <signal.h>
X12c12
X<   if (*argv[1] == '-') {
X---
X>   if (argc > 1 && *argv[1] == '-') {
X14c14,16
X< 	*argv++;
X---
X> 	if (!signal)
X> 		usage();
X> 	argv++;
X17d18
X<   if (!signal) signal = SIGTERM;
X19c20
X< 	*argv++;
X---
X> 	argv++;
X33c34
X<   prints("Usage: kill pid\n");
X---
X>   prints("Usage: kill [-sig] pid\n");
+ END-OF-FILE kill.c.diff
chmod 'u=rw,g=r,o=r' 'kill.c.diff'
set `wc -c 'kill.c.diff'`
count=$1
case $count in
355)	:;;
*)	echo 'Bad character count in ''kill.c.diff' >&2
		echo 'Count should be 355' >&2
esac
echo Extracting 'ln.c.diff'
sed 's/^X//' > 'ln.c.diff' << '+ END-OF-FILE ''ln.c.diff'
X3,4c3,6
X< #include "stat.h"
X< char name[17];
X---
X> #include <sys/types.h>
X> #include <sys/stat.h>
X> 
X> char name[256];
+ END-OF-FILE ln.c.diff
chmod 'u=rw,g=r,o=r' 'ln.c.diff'
set `wc -c 'ln.c.diff'`
count=$1
case $count in
119)	:;;
*)	echo 'Bad character count in ''ln.c.diff' >&2
		echo 'Count should be 119' >&2
esac
echo Extracting 'login.c.diff'
sed 's/^X//' > 'login.c.diff' << '+ END-OF-FILE ''login.c.diff'
X3,5c3,5
X< #include "signal.h"
X< #include "sgtty.h"
X< #include "pwd.h"
X---
X> #include <signal.h>
X> #include <sgtty.h>
X> #include <pwd.h>
X6a7,9
X> char	home[100] = "HOME=";
X> char	*env[] = { home, 0 };
X> 
X43a47
X> 			if (bad) crypt(buf1, "*"); /* be as slow */
X53a58
X> 		strcpy(pwd->pw_dir, home+5);
X55c60
X< 			execl(pwd->pw_shell, "-", (char *) 0);
X---
X> 			execle(pwd->pw_shell, "-", (char *) 0, env);
X57c62
X< 		execl("/bin/sh", "-", (char *) 0);
X---
X> 		execle("/bin/sh", "-", (char *) 0, env);
+ END-OF-FILE login.c.diff
chmod 'u=rw,g=r,o=r' 'login.c.diff'
set `wc -c 'login.c.diff'`
count=$1
case $count in
494)	:;;
*)	echo 'Bad character count in ''login.c.diff' >&2
		echo 'Count should be 494' >&2
esac
echo Extracting 'lpr.c.diff'
sed 's/^X//' > 'lpr.c.diff' << '+ END-OF-FILE ''lpr.c.diff'
X3c3
X< #include "errno.h"
X---
X> #include <errno.h>
+ END-OF-FILE lpr.c.diff
chmod 'u=rw,g=r,o=r' 'lpr.c.diff'
set `wc -c 'lpr.c.diff'`
count=$1
case $count in
50)	:;;
*)	echo 'Bad character count in ''lpr.c.diff' >&2
		echo 'Count should be 50' >&2
esac
echo Extracting 'ls.c.diff'
sed 's/^X//' > 'ls.c.diff' << '+ END-OF-FILE ''ls.c.diff'
X3,8c3,9
X< #include "../h/const.h"
X< #include "../h/type.h"
X< #include "stat.h"
X< #include "../fs/const.h"
X< #include "../fs/type.h"
X< #include "stdio.h"
X---
X> #include <stdio.h>
X> #include <sys/types.h>
X> #include <sys/stat.h>
X> #include <minix/const.h>
X> #include <minix/type.h>
X> #include <fs/const.h>
X> #include <fs/type.h>
X14c15
X< #define LEGAL      0x1E096DL	/* legal flags to ls */
X---
X> #define LEGAL      0x0E0969L	/* legal flags to ls */
X351c352
X< 		fprintf(stdout, "%2d, %2d ", (s>>8)&0377, s&0377);
X---
X> 		fprintf(stdout, "%3d, %3d ", (s>>8)&0377, s&0377);
+ END-OF-FILE ls.c.diff
chmod 'u=rw,g=r,o=r' 'ls.c.diff'
set `wc -c 'ls.c.diff'`
count=$1
case $count in
569)	:;;
*)	echo 'Bad character count in ''ls.c.diff' >&2
		echo 'Count should be 569' >&2
esac
echo Extracting 'make.c.diff'
sed 's/^X//' > 'make.c.diff' << '+ END-OF-FILE ''make.c.diff'
X146,153c146
X< #ifdef BSD4.2
X< #include <sys/types.h>
X< #include <sys/stat.h>
X< #include <sys/wait.h>
X< #define WAIT union wait
X< 
X< #else
X< /* sysV and MINIX  and LATTICE */
X---
X> #ifdef LC
X167c160
X< /*
X---
X> #else
X170c163,168
X< */
X---
X> #endif
X> 
X> #ifdef BSD4.2
X> #include <sys/wait.h>
X> #define WAIT union wait
X> #else
X228c226
X< 	done(0);
X---
X> 	exit(0);
X253c251
X<     done( 0 );
X---
X>     exit( 0 );
X983c981
X<     done( -1 );
X---
X>     exit( -1 );
X1861c1859
X< 	done( -1 );
X---
X> 	exit( -1 );
X1900c1898
X< 	done( -1 );
X---
X> 	exit( -1 );
X2239,2245d2236
X< 
X< done(n)
X< int n;
X< {
X<   _cleanup();
X<   exit(n);
X< }
+ END-OF-FILE make.c.diff
chmod 'u=rw,g=r,o=r' 'make.c.diff'
set `wc -c 'make.c.diff'`
count=$1
case $count in
614)	:;;
*)	echo 'Bad character count in ''make.c.diff' >&2
		echo 'Count should be 614' >&2
esac
echo Extracting 'mkdir.c.diff'
sed 's/^X//' > 'mkdir.c.diff' << '+ END-OF-FILE ''mkdir.c.diff'
X3c3
X< #include "signal.h"
X---
X> #include <signal.h>
+ END-OF-FILE mkdir.c.diff
chmod 'u=rw,g=r,o=r' 'mkdir.c.diff'
set `wc -c 'mkdir.c.diff'`
count=$1
case $count in
52)	:;;
*)	echo 'Bad character count in ''mkdir.c.diff' >&2
		echo 'Count should be 52' >&2
esac
echo Extracting 'mkfs.c.diff'
sed 's/^X//' > 'mkfs.c.diff' << '+ END-OF-FILE ''mkfs.c.diff'
X16,18c16,18
X< #include "../h/const.h"
X< #include "../h/type.h"
X< #include "../fs/const.h"
X---
X> #include <minix/const.h>
X> #include <minix/type.h>
X> #include <fs/const.h>
X21,22c21,22
X< #include "../fs/type.h"
X< #include "../fs/super.h"
X---
X> #include <fs/type.h>
X> #include <fs/super.h>
X26,29c26
X< #define COMPILERFLAG
X< #endif
X< 
X< #ifdef UNIX
X---
X> #else
X33,35d29
X< #undef major
X< #undef minor
X< #define COMPILERFLAG
X38,41d31
X< #ifndef COMPILERFLAG
X< #include "stdio.h"
X< #include "stat.h"
X< #endif
X43d32
X< 
X45a35
X> #undef printf		/* printf is a macro for printk */
X50,52d39
X< #ifdef UNIX
X< #undef printf		/* printf is a macro for printk */
X< #endif
X55d41
X< 
X74a61
X> int donttest;			/* skip test if it fits on medium */
X83,86d69
X< char *size_fmt = "%6D";
X< char *ldfmt = "%6ld";
X< char *mode_fmt = "%6o";
X< char *ldmode = "%06o";
X88d70
X< /* MS-DOS and PC-IX use %ld for longs, MINIX uses %D */
X101,102c83
X<   char *token[MAX_TOKENS], buf[BLOCK_SIZE];
X<   int testb[2];
X---
X>   char *token[MAX_TOKENS], line[LINE_LEN];
X124c105
X< 	write(2, "Usage: mkfs [-L] special proto\n", 31);
X---
X> 	write(2, "Usage: mkfs [-ldt] special proto\n", 33);
X131,140c112,121
X< 		    case 'L' : print=1; break;
X< 		    case 'l' : print=1;
X< 			       size_fmt = ldfmt;
X< 			       mode_fmt = ldmode;
X< 			       break;
X< 		    case 'o' :
X< 		    case 'O' : override=1; break;
X< 		    case 'd' : current_time = bin_time; dflag=1; break;
X< 		    default  :
X< 		    printf ("Bad switch %c, ignored.\n",*argv[argc]);
X---
X> 		    case 'l': case 'L':
X> 			print=1; break;
X> 		    case 'o': case 'O':
X> 			override=1; break;
X> 		    case 'd': case 'D':
X> 			current_time = bin_time; dflag=1; break;
X> 		    case 't': case 'T':
X> 			donttest=1; break;
X> 		    default:
X> 			printf ("Bad switch %c, ignored.\n",*argv[argc]);
X150c131
X< 	   getline(buf, token);	/* skip boot block info. */
X---
X> 	   getline(line, token);	/* skip boot block info. */
X153c134
X< 	   getline(buf, token);
X---
X> 	   getline(line, token);
X159c140
X< 	   getline(buf, token);
X---
X> 	   getline(line, token);
X189a171,173
X>   if (!donttest) {
X>   static short testb[BLOCK_SIZE/sizeof(short)];
X> 
X201a186,190
X>   lseek(fd,  ((long)blocks - 1L) * BLOCK_SIZE, 0);
X>   testb[0] = 0;
X>   testb[1] = 0;
X>   if (write(fd, testb, BLOCK_SIZE) != BLOCK_SIZE)
X> 	pexit("File system is too big for minor device");
X202a192
X>   }
X351c341
X<   int mode, n, usrid, grpid, z, major, minor, f;
X---
X>   int mode, n, usrid, grpid, z, maj, min, f;
X382,384c372,376
X< 		major = atoi(token[4]);
X< 		minor = atoi(token[5]);
X< 		size = atoi(token[6]);
X---
X> 		maj = atoi(token[4]);
X> 		min = atoi(token[5]);
X> 		size = 0;
X> 		if (token[6])
X> 			size = atoi(token[6]);
X386c378
X< 		add_zone(n, (major<<8)|minor, size, current_time);
X---
X> 		add_zone(n, (maj<<8)|min, size, current_time);
X620c612
X<   int buf[BLOCK_SIZE/sizeof(int)];
X---
X>   short buf[BLOCK_SIZE/sizeof(short)];
X624,625c616,617
X< 	w = i / (8*sizeof(int));
X< 	s = i % (8*sizeof(int));
X---
X> 	w = i / (8*sizeof(short));
X> 	s = i % (8*sizeof(short));
X772c764
X< 	   printf(mode_fmt, inode[i].i_mode);
X---
X> 	   printf("%06o", inode[i].i_mode);
X775c767
X< 	   printf(size_fmt, inode[i].i_size);
X---
X> 	   printf("%6ld", inode[i].i_size);
+ END-OF-FILE mkfs.c.diff
chmod 'u=rw,g=r,o=r' 'mkfs.c.diff'
set `wc -c 'mkfs.c.diff'`
count=$1
case $count in
3212)	:;;
*)	echo 'Bad character count in ''mkfs.c.diff' >&2
		echo 'Count should be 3212' >&2
esac
echo Extracting 'more.c.diff'
sed 's/^X//' > 'more.c.diff' << '+ END-OF-FILE ''more.c.diff'
X9,11c9,11
X< #define reverse()	write(1, "\033z\160", 3)	/* reverse video */
X< #define normal()	write(1, "\033z\7", 3)		/* undo reverse() */
X< #define clearln()	write(1, "\r\033~0", 4)		/* clear line */
X---
X> #define reverse()	write(1, "\033[7m", 4)		/* reverse video */
X> #define normal()	write(1, "\033[m", 3)		/* undo reverse() */
X> #define clearln()	write(1, "\r\033[J", 4)		/* clear line */
+ END-OF-FILE more.c.diff
chmod 'u=rw,g=r,o=r' 'more.c.diff'
set `wc -c 'more.c.diff'`
count=$1
case $count in
394)	:;;
*)	echo 'Bad character count in ''more.c.diff' >&2
		echo 'Count should be 394' >&2
esac
echo Extracting 'mount.c.diff'
sed 's/^X//' > 'mount.c.diff' << '+ END-OF-FILE ''mount.c.diff'
X3c3,6
X< #include "errno.h"
X---
X> #include <errno.h>
X> 
X> #define BUFSIZE 1024
X> 
X4a8,9
X> char *mounttable = "/etc/mtab";
X> char buffer[BUFSIZE];
X9a15
X>   int ro, fd;
X11,12c17
X<   int ro;
X< 
X---
X>   if (argc == 1) list();
X27a33,55
X>   if ((fd = open("/etc/mtab", 2)) < 0) exit(1);
X>   lseek(fd, 0L, 2);		/* seek to EOF */
X>   write(fd, argv[1], strlen(argv[1]));
X>   write(fd, " is mounted on ", 15);
X>   write(fd, argv[2], strlen(argv[2]));
X>   write(fd, "\n", 1);
X>   exit(0);
X> }
X> 
X> 
X> list()
X> {
X>   int fd, n;
X> 
X>   fd = open(mounttable, 0);
X>   if (fd < 0) {
X> 	std_err("mount: cannot open ");
X> 	std_err(mounttable);
X> 	std_err("\n");
X> 	exit(1);
X>   }
X>   n = read(fd, buffer, BUFSIZE);
X>   write(1, buffer, n);
+ END-OF-FILE mount.c.diff
chmod 'u=rw,g=r,o=r' 'mount.c.diff'
set `wc -c 'mount.c.diff'`
count=$1
case $count in
722)	:;;
*)	echo 'Bad character count in ''mount.c.diff' >&2
		echo 'Count should be 722' >&2
esac
echo Extracting 'mv.c.diff'
sed 's/^X//' > 'mv.c.diff' << '+ END-OF-FILE ''mv.c.diff'
X6,7c6,8
X< #include "signal.h"
X< #include "stat.h"
X---
X> #include <signal.h>
X> #include <sys/types.h>
X> #include <sys/stat.h>
+ END-OF-FILE mv.c.diff
chmod 'u=rw,g=r,o=r' 'mv.c.diff'
set `wc -c 'mv.c.diff'`
count=$1
case $count in
125)	:;;
*)	echo 'Bad character count in ''mv.c.diff' >&2
		echo 'Count should be 125' >&2
esac
exit 0