/* @! # TESTCASE DESCRIPTION: @! # Purpose: to create an input file of any size @! # Command: none @! # Subcommand: none @! # Design: Write an array the size of BUFSIZ to created file until @! # the file size matches the file size required @! # SPEC. EXEC. REQS: This program is used by ctatcdt3.c and ctatcet3.c */ #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main(int argc, char *argv[]) { int fd; int fsize; int count = 0; int n, remain; static char buf[BUFSIZ]; for (fsize = 0; fsize < BUFSIZ; fsize++) { if ((fsize % 2) == 0) buf[fsize++] = 'U'; else buf[fsize++] = '\n'; } fsize = strtol(argv[1], NULL, 10); if ((fd = creat(argv[2], 0644)) == -1) perror("createfile"); if (fsize >= BUFSIZ) { count = fsize / BUFSIZ; remain = fsize % BUFSIZ; } else remain = fsize; while (count-- != 0) { if ((n = write(fd, buf, BUFSIZ)) != BUFSIZ) perror("createfile"); } if ((n = write(fd, buf, remain)) != remain) perror("createfile"); close(fd); return 0; }