This is fat_free.c in view mode; [Download] [Up]
#include <stdio.h> #include "msdos.h" extern int fat_error; extern unsigned int last_fat; /* * Remove a string of FAT entries (delete the file). The argument is * the beginning of the string. Does not consider the file length, so * if FAT is corrupted, watch out! */ int fat_free(fat) unsigned int fat; { unsigned int next, fat_decode(); /* a zero length file? */ if (fat == 0) return(0); /* CONSTCOND */ while (1) { /* get next cluster number */ next = fat_decode(fat); /* mark current cluster as empty */ if (fat_encode(fat, 0) || next == 1) { fprintf(stderr, "fat_free: FAT problem\n"); fat_error++; return(-1); } if (next >= last_fat) break; fat = next; } return(0); }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.