# HG changeset patch # User Rob Landley # Date 1325098872 21600 # Node ID 7a5b70965e0e94474ecf89c6a102cbb46e855853 # Parent a4dcbad4f92a3a1aeacf77be0885392a959626d7 Bugfix (spotted by Nathan McSween): xread can't detect <0 if the return type is stored in an unsigned variable. diff -r a4dcbad4f92a -r 7a5b70965e0e lib/lib.c --- a/lib/lib.c Mon Dec 12 23:49:55 2011 -0600 +++ b/lib/lib.c Wed Dec 28 13:01:12 2011 -0600 @@ -246,10 +246,10 @@ // Die if there's an error other than EOF. size_t xread(int fd, void *buf, size_t len) { - len = read(fd, buf, len); - if (len < 0) perror_exit("xread"); + ssize_t ret = read(fd, buf, len); + if (ret < 0) perror_exit("xread"); - return len; + return ret; } void xreadall(int fd, void *buf, size_t len)