/* -*-c,save-*- */ /* * lukill.c - LU kill entries. * Robert Heller. Created: Sat Nov 8, 1986 23:33:34.07 * Last Mod: * * (c) Copyright 1986 by Robert Heller * All Rights Reserved * * */ #include /* STD I/O defs */ #include /* char type defs */ #include "ludef.h" /* ludefs */ #include "luvars.h" /* lu variables */ lu_kill(argcc,argvv) FAST int *argcc; FAST char ***argvv; { FAST char *p, *q; FAST int i,wildp,nw,j; char *strchr(); if (!lu_openp) { fprintf(stderr,"lu: library file not open!\n"); while (*argcc > 0 && ***argvv != '-') { *argcc -= 1; *argvv += 1; } return; } nw = 0; while (*argcc > 0 && ***argvv != '-') { p = **argvv; if (strchr(p,'?') != NULL || strchr(p,'*') != NULL) wildp = TRUE; if (!wildp) { *argcc -= 1; *argvv += 1; nw = 0; } else nw++; if ((q = strchr(p,':')) != NULL) p = q+1; for (i=1; i= lu_slots) { if (wildp) { if (nw == 0) fprintf(stderr,"lu: no files matched: %s\n",p); *argcc -= 1; *argvv += 1; nw = 0; } else fprintf(stderr,"lu: file not in library: %s\n",p); } else { lu_dire[i].lu_stat = DELETED; for (q = lu_dire[i].lu_name, j = 0; j<8; q++, j++) { if (*q != ' ') putchar(*q); } putchar('.'); for (j = 0; j<3; q++, j++) { if (*q != ' ') putchar(*q); } printf(" deleted\n"); lu_modp = TRUE; } } #ifdef CRCCHEKC if (lu_modp) { lu_dire[0].lu_crc = 0; lu_dire[0].lu_crc = calcrc(0,&lu_dire[0],lu_slots * sizeof(LUDIR)); } #endif }