# ifndef lint static char Sccs_id[] = "%W% (NTUA hackers) (%G%)"; # endif /* * empty n file: Create an empty file of size n bytes named `file' * The value of n can have the suffix M or K specifying * size in megabytes or kilobytes respectively. */ #include #include main (argc, argv) register int argc; register char **argv; { long k; register FILE *fp; int fd; if (argc != 3) { fprintf (stderr, "%s: Too many or too few arguments\n", argv[0]); exit (1); } k = atoi (argv[1]); while (isdigit (*(argv[1]))) argv[1]++; if (*(argv[1]) == 'K' || *(argv[1]) == 'k') k *= 1024; if (*(argv[1]) == 'M' || *(argv[1]) == 'm') k *= 1048576; if (!(fp = fopen (argv[2], "w"))) { fprintf (stderr, "%s: can't open/create %s", argv[0], argv[2]); exit (2); } fd = fileno(fp); putc(0, fp); lseek (fd, k - 2, 1); putc(0, fp); fclose (fp); exit (0); }