home *** CD-ROM | disk | FTP | other *** search
- /*
- * A simple minded, 5 minute, program to trash all free blocks on a
- * disk by just writing a file full of garbage until the disk is full.
- *
- * This insures that any proprietary data left on the disk after
- * deleting files is clobbered. Otherwise, disksalv might find
- * some interesting tidbits...
- *
- * To use, just run and wait for the requestor to come up when
- * the disk is full. Cancel the requestor and the file "junkfile"
- * will be left, and the disk will be full. Delete the file
- * to free up the scribbled blocks.
- *
- */
-
- #include <stdio.h>
-
- static char buf[512];
-
- #define FILENAME "junkfile"
- #define MSG "This block has been subjected to bit rot (better luck next time!)"
-
- int main ()
- {
- register FILE *fp;
- register int count = 0;
-
- if ((fp = fopen (FILENAME, "r")) != NULL) {
- (void) fprintf (stderr, "%s: file exists already!\n", FILENAME);
- } else {
- (void) fclose (fp);
- if ((fp = fopen (FILENAME, "w")) == NULL) {
- (void) fprintf (stderr, "%s: can't open for write!\n",
- FILENAME);
- } else {
- (void) strcpy (buf, MSG);
- while (fwrite (buf, sizeof (buf), 1, fp) == 1) {
- count++;
- if ((count % 100) == 0) {
- (void) printf ("Reached block %d ...\r",
- count);
- (void) fflush (stdout);
- }
- }
- (void) printf ("Total of %d blocks written\n", count);
- (void) fflush (stdout);
- (void) fclose (fp);
- }
- }
- return (0);
- }
-