Add a safe wrapper for write and fix some warnings

1. Add a function writeall and make swrite wrap that function. Use either writeall or swrite, depending on whether we want to exit on errors or not.
2. Fix warnings when compiling with a higher optimisation level.
(CFLAGS ?= -pipe -O3 -march=native -mtune=native -freorder-blocks-and-partition)

Signed-off-by: hwangcc <hwangcc@csie.nctu.edu.tw>
This commit is contained in:
hwangcc
2015-03-24 20:57:06 +08:00
parent 822cd3bf1b
commit 42515308e7
12 changed files with 90 additions and 80 deletions

View File

@ -134,6 +134,20 @@ char *sstrdup(const char *str);
*/
int sasprintf(char **strp, const char *fmt, ...);
/**
* Wrapper around correct write which returns -1 (meaning that
* write failed) or count (meaning that all bytes were written)
*
*/
ssize_t writeall(int fd, const void *buf, size_t count);
/**
* Safe-wrapper around writeall which exits if it returns -1 (meaning that
* write failed)
*
*/
ssize_t swrite(int fd, const void *buf, size_t count);
/**
* Build an i3String from an UTF-8 encoded string.
* Returns the newly-allocated i3String.