| 407 | } |
| 408 | |
| 409 | void write_all(int fd, char *buffer, size_t bytes) |
| 410 | { |
| 411 | size_t n = 0; |
| 412 | while(n < bytes){ |
| 413 | size_t next = write(fd, buffer + n, bytes-n); |
| 414 | if(next <= 0) error("write failed"); |
| 415 | n += next; |
| 416 | } |
| 417 | } |
| 418 | |
| 419 | |
| 420 | char *copy_string(char *s) |