X-Git-Url: https://git.cworth.org/git?p=ttt;a=blobdiff_plain;f=src%2Fx.c;h=8da355e3e015b0c390cb0869e53a96d1e2bb01e1;hp=54566423e03f29c45c0d65f190e448a2ae18c79b;hb=15672ac8305a1c5ba0d9bf6edabb0a194c30628e;hpb=c23865689e087ec70e36e13075f997ba39fcda75 diff --git a/src/x.c b/src/x.c index 5456642..8da355e 100644 --- a/src/x.c +++ b/src/x.c @@ -133,7 +133,7 @@ xfdopen (int filedes, const char *mode) return ret; } -FILE * +void xfreopen (const char *path, const char *mode, FILE *stream) { FILE *ret; @@ -144,8 +144,6 @@ xfreopen (const char *path, const char *mode, FILE *stream) path, strerror (errno)); exit (1); } - - return ret; } char * @@ -250,3 +248,33 @@ xselect (int n, return ret; } + +ssize_t +xread (int fd, void *buf, size_t count) +{ + int ret; + + ret = read (fd, buf, count); + if (ret == -1) { + fprintf (stderr, "Error: read failed: %s. Aborting.\n", + strerror (errno)); + exit (1); + } + + return ret; +} + +ssize_t +xwrite (int fd, const void *buf, size_t count) +{ + int ret; + + ret = write (fd, buf, count); + if (ret == -1) { + fprintf (stderr, "Error: write failed: %s. Aborting.\n", + strerror (errno)); + exit (1); + } + + return ret; +}