P8000/WEGA/contrib/cpm/cpm3/delete.c

41 lines
740 B
C

/* delete.c 1.6 83/05/13 */
#include <stdio.h>
#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);
}