diff --git a/ChangeLog b/ChangeLog index f4c33559721474e0de50de53eff236c4375bdef4..281554645ce1f2c92673f3c5c910e8fca38812de 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2012-04-14 Niels Möller <nisse@lysator.liu.se> + * examples/io.c (write_file): Use write_string. + * examples/Makefile.in (base64enc): New target. Also added missing io.o dependency to several other targets. diff --git a/examples/io.c b/examples/io.c index a18dac1f554660c6cf166b66c5ff260bf6fa9e24..d58c247359bc7523e44c67c5221113b47f12826b 100644 --- a/examples/io.c +++ b/examples/io.c @@ -132,28 +132,24 @@ read_file(const char *name, unsigned max_size, char **contents) } int -write_file(const char *name, unsigned size, const char *buffer) +write_string(FILE *f, unsigned size, const char *buffer) { - FILE *f = fopen(name, "wb"); - unsigned res; - - if (!f) - return 0; - - res = fwrite(buffer, 1, size, f); - - if (res < size) - res = 0; + size_t res = fwrite(buffer, 1, size, f); - return fclose(f) == 0 && res > 0; + return res == size; } int -write_string(FILE *f, unsigned size, const char *buffer) +write_file(const char *name, unsigned size, const char *buffer) { - size_t res = fwrite(buffer, 1, size, f); + FILE *f = fopen(name, "wb"); + int res; + + if (!f) + return 0; - return res == size; + res = write_string(f, size, buffer); + return fclose(f) == 0 && res; } int