diff --git a/examples/io.c b/examples/io.c index 48d7b801ea86f3780a742a23ec86d3613d29296e..fdd75e7c29c6c8f5f1bf36f3c079cc57b946b295 100644 --- a/examples/io.c +++ b/examples/io.c @@ -118,10 +118,16 @@ write_file(const char *name, unsigned size, const char *buffer) res = fwrite(buffer, 1, size, f); - if (res < size || ferror(f)) + if (res < size) res = 0; - fclose(f); + return fclose(f) == 0 && res > 0; +} + +int +write_string(FILE *f, unsigned size, const char *buffer) +{ + size_t res = fwrite(buffer, 1, size, f); return res > 0; } diff --git a/examples/io.h b/examples/io.h index b7530f38756810a161cd8837cbbe0c046db4d235..acd864f2754d31b5beecad49a6673febac6c5482 100644 --- a/examples/io.h +++ b/examples/io.h @@ -49,6 +49,9 @@ read_file(const char *name, unsigned size, char **buffer); int write_file(const char *name, unsigned size, const char *buffer); +int +write_string(FILE *f, unsigned size, const char *buffer); + int simple_random(struct yarrow256_ctx *ctx, const char *name);