# HG changeset patch # User Tero Marttila # Date 1264446835 -7200 # Node ID f195b8195b5a1f1de2c27276a7161b59644c2968 # Parent 84952fa708d41eab883ddd7348238f8fa094618d fclose out_file diff -r 84952fa708d4 -r f195b8195b5a src/pngtile/main.c --- a/src/pngtile/main.c Mon Jan 25 21:05:39 2010 +0200 +++ b/src/pngtile/main.c Mon Jan 25 21:13:55 2010 +0200 @@ -5,6 +5,7 @@ #include #include #include +#include #include /** @@ -263,7 +264,10 @@ if (strcmp(out_path, "-") == 0) { // use stdout - out_file = stdout; + if ((out_file = fdopen(STDOUT_FILENO, "wb")) == NULL) { + log_errno("fdopen: STDOUT_FILENO"); + goto error; + } } else if (false /* tmp */) { int fd; @@ -271,17 +275,15 @@ // temporary file for output if ((fd = mkstemp(tmp_name)) < 0) { log_errno("mkstemp"); - - continue; + goto error; } out_path = tmp_name; // open out - if ((out_file = fdopen(fd, "w")) == NULL) { + if ((out_file = fdopen(fd, "wb")) == NULL) { log_errno("fdopen"); - - continue; + goto error; } } else { @@ -307,7 +309,10 @@ if ((err = pt_image_tile_file(image, &ti, out_file))) log_errno("pt_image_tile_file: %s: %s", img_path, pt_strerror(err)); - + + // cleanup + if (fclose(out_file)) + log_warn_errno("fclose: out_file"); } }