From 78804f58acf6db8914d2f8a9b516eb1fd34d630a Mon Sep 17 00:00:00 2001 From: Oliver Lehmann Date: Wed, 27 Jul 1988 17:09:06 +0000 Subject: [PATCH] cpm commands --- WEGA/contrib/cpm/cpm3/delete.c | 40 ++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 WEGA/contrib/cpm/cpm3/delete.c diff --git a/WEGA/contrib/cpm/cpm3/delete.c b/WEGA/contrib/cpm/cpm3/delete.c new file mode 100644 index 0000000..c89fefd --- /dev/null +++ b/WEGA/contrib/cpm/cpm3/delete.c @@ -0,0 +1,40 @@ +/* delete.c 1.6 83/05/13 */ + +#include +#include "cpmio.h" +#include "cpmfio.h" + +/* + * Delete cp/m file + */ + +delete(cmdline) +char *cmdline; + +{ + + char name[9], ext[4]; + C_FILE *cio; + + if (!(namesep(cmdline,name,ext))) return; + if (searchdir(name, ext) != -1) { + cio = c_open(name, ext, READ); + cio->c_dirp->status = (char) 0xe5; + while(cio->c_dirp->blkcnt == (char) 0x80 && getnext(cio) != 0) + cio->c_dirp->status = (char) 0xe5; + } + else { + printf("File not found: %s %s\n", name, ext); + return; + } + savedir(); + c_close(cio); + /* + * rebuild the bitmap completely instead of recovering + * each block as they are deleted + */ + build_bmap(); + if (ext[0] == ' ') + ext[0] = '\0'; + printf("%s %s deleted\n",name,ext); +}