From cc6f8f523585f82a3889c6ac504c7e0b07bd1ced Mon Sep 17 00:00:00 2001 From: Bill Joy Date: Sun, 30 Dec 1979 09:49:38 -0800 Subject: [PATCH] BSD 3 development Work on file usr/src/cmd/learn/start.c Synthesized-from: 3bsd --- usr/src/cmd/learn/start.c | 52 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 usr/src/cmd/learn/start.c diff --git a/usr/src/cmd/learn/start.c b/usr/src/cmd/learn/start.c new file mode 100644 index 0000000000..2bb2f0a8d1 --- /dev/null +++ b/usr/src/cmd/learn/start.c @@ -0,0 +1,52 @@ +#include "stdio.h" +#include +#include +#include "lrnref" +#define ND 64 + +start(lesson) +char *lesson; +{ + struct direct dv[ND], *dm, *dp; + int f, c, n; + char where [100]; + + f = open(".", 0); + n = read(f, dv, ND*sizeof(*dp)); + n /= sizeof(*dp); + if (n==ND) + fprintf(stderr, "lesson too long\n"); + dm = dv+n; + for(dp=dv; dpd_ino) { + n = strlen(dp->d_name); + if (dp->d_name[n-2] == '.' && dp->d_name[n-1] == 'c') + continue; + c = dp->d_name[0]; + if (c>='a' && c<= 'z') + unlink(dp->d_name); + } + close(f); + if (ask) + return; + sprintf(where, "../../%s/L%s", sname, lesson); + if (access(where, 04)==0) /* there is a file */ + return; + fprintf(stderr, "No lesson %s\n",lesson); + wrapup(1); +} + +fcopy(new,old) +char *new, *old; +{ + char b[BUFSIZ]; + int n, fn, fo; + fn = creat(new, 0666); + fo = open(old,0); + if (fo<0) return; + if (fn<0) return; + while ( (n=read(fo, b, BUFSIZ)) > 0) + write(fn, b, n); + close(fn); + close(fo); +} -- 2.20.1