#include main(argc,argv) char *argv[]; { char buffer[2049]; int fd; FILE *fp; int len; fd = open(argv[1], 0); if (fd == -1) { perror(argv[1]); exit(1); } len = read(fd, buffer, 10); lseek(fd, 0L, 0); if (len > 0 && buffer[0] != 0 && (buffer[0]&0x80) == 0) { printf("Converting file: "); puts(argv[1]); } else { printf("Already in PASCII mode: "); puts(argv[1]); exit(0); } sprintf(buffer, "%s.OUT", argv[1]); fp = fopen(buffer, "w"); if (fp == NULL) { perror(buffer); exit(1); } while ((len = read(fd, buffer, sizeof(buffer)-1)) > 0) { int i; for (i = 0; i < len; i++) buffer[i] |= 0x80; buffer[len] = 0; fputs(buffer, fp); } fclose(fp); close(fd); delete(argv[1]); sprintf(buffer, "%s.OUT", argv[1]); move(buffer, argv[1]); }