diff options
Diffstat (limited to 'include/common.h')
| -rw-r--r-- | include/common.h | 33 | 
1 files changed, 33 insertions, 0 deletions
diff --git a/include/common.h b/include/common.h index 93ef7f3..32b5d23 100644 --- a/include/common.h +++ b/include/common.h @@ -28,6 +28,7 @@  #include <errno.h>  #include <features.h>  #include <inttypes.h> +#include <unistd.h>  #include <sys/sysmacros.h>  #include "config.h" @@ -226,6 +227,38 @@ long long util_get_bytes(const char *str);  void util_print_bytes(long long bytes, int bracket);  int util_srand(void); +/* + * The following helpers are here to avoid compiler complaints about unchecked + * return code. + * FIXME: The proper fix would be to check the return code in all those places, + * but it's usually placed in old code which have no proper exit path and + * handling  errors requires rewriting a lot of code. + * + * WARNING: Please do not use these helpers in new code. Instead, make sure + * you check the function return code and provide coherent error handling in + * case of error. + */ +static inline ssize_t read_nocheck(int fd, void *buf, size_t count) +{ +	return read(fd, buf, count); +} + +static inline ssize_t write_nocheck(int fd, void *buf, size_t count) +{ +	return write(fd, buf, count); +} + +static inline ssize_t pread_nocheck(int fd, void *buf, size_t count, +				    off_t offset) +{ +	return pread(fd, buf, count, offset); +} + +static inline ssize_t pwrite_nocheck(int fd, void *buf, size_t count, +				     off_t offset) +{ +	return pwrite(fd, buf, count, offset); +}  #ifdef __cplusplus  }  #endif  | 
