Linux
Application Development |
Michael K. Johnson Erik W. Troan |
/* sockutil.c - simple utility functions */ #include <stdio.h> #include <unistd.h> #include "sockutil.h" /* issue an error message via perror() and terminate the program */ void die(char * message) { perror(message); exit(1); } /* Copies data from file descriptor 'from' to file descriptor 'to' until nothing is left to be copied. Exits if an error occurs. */ void copyData(int from, int to) { char buf[1024]; int amount; while ((amount = read(from, buf, sizeof(buf))) > 0) { if (write(to, buf, amount) != amount) { die("write"); return; } } if (amount < 0) die("read"); }