diff --git a/tests/utils.c b/tests/utils.c index 2a85bd8e06..5310a114f5 100644 --- a/tests/utils.c +++ b/tests/utils.c @@ -16,13 +16,22 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include #include #include +#include #define SCALEBITS 8 #define ONE_HALF (1 << (SCALEBITS - 1)) #define FIX(x) ((int) ((x) * (1L << SCALEBITS) + 0.5)) +#define err_if(expr) do { \ + if (expr) { \ + fprintf(stderr, "%s\n", strerror(errno)); \ + exit(1); \ + } \ +} while (0) + static void rgb24_to_yuv420p(unsigned char *lum, unsigned char *cb, unsigned char *cr, unsigned char *src, int width, int height) @@ -108,14 +117,14 @@ static void pgmyuv_save(const char *filename, int w, int h, f = fopen(filename, "wb"); fprintf(f, "P5\n%d %d\n%d\n", w, h * 3 / 2, 255); - fwrite(lum_tab, 1, w * h, f); + err_if(fwrite(lum_tab, 1, w * h, f) != w * h); h2 = h / 2; w2 = w / 2; cb = cb_tab; cr = cr_tab; for (i = 0; i < h2; i++) { - fwrite(cb, 1, w2, f); - fwrite(cr, 1, w2, f); + err_if(fwrite(cb, 1, w2, f) != w2); + err_if(fwrite(cr, 1, w2, f) != w2); cb += w2; cr += w2; }