home *** CD-ROM | disk | FTP | other *** search
- /*
- * Sends a file through named pipe "auxin" to the CP/M simulation
- *
- * Copyright (C) 1988 by Udo Munk
- *
- * History:
- * 05-OKT-88 Development on TARGON/35 with AT&T Unix System V.3
- * 11-MAR-93 comments in english and ported to COHERENT 4.0
- */
-
- #include <stdio.h>
- #if defined(COHERENT) && !defined(_I386)
- #include <sys/fcntl.h>
- #else
- #include <fcntl.h>
- #endif
-
- char buf[BUFSIZ];
- char cr = '\r';
- int fdout, fdin;
- void exit(), perror();
-
- main(argc,argv)
- int argc;
- char *argv[];
- {
- register int readed;
-
- if (argc != 2) {
- puts("usage: send filname &");
- exit(1);
- }
- if ((fdin = open(argv[1], O_RDONLY)) == -1) {
- perror(argv[1]);
- exit(1);
- }
- if ((fdout = open("auxin", O_WRONLY)) == -1) {
- perror("pipe auxin");
- exit(1);
- }
- while ((readed = read(fdin, buf, BUFSIZ)) == BUFSIZ)
- sendbuf(BUFSIZ);
- if (readed)
- sendbuf(readed);
- close(fdin);
- close(fdout);
- exit(0);
- }
-
- sendbuf(size)
- register int size;
- {
- register char *s = buf;
-
- while (s - buf < size) {
- if (*s == '\n')
- write(fdout, (char *) &cr, 1);
- write(fdout, s++, 1);
- }
- }
-