diff options
author | Brian Paul <[email protected]> | 2003-02-04 12:34:02 +0000 |
---|---|---|
committer | Brian Paul <[email protected]> | 2003-02-04 12:34:02 +0000 |
commit | e5ed2f07d8ee7c25c331aed3c125da7763918db4 (patch) | |
tree | a77af6f4a55f9602e810a9e2d9b343e5c8310b30 /progs/samples | |
parent | 398c6b7980ac52ba15af78f45e71f49f33ded1aa (diff) |
read/write files, not stdio (Daniel Borca)
Diffstat (limited to 'progs/samples')
-rw-r--r-- | progs/samples/rgbtoppm.c | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/progs/samples/rgbtoppm.c b/progs/samples/rgbtoppm.c index 0bc73487b0d..116d9a8cfa5 100644 --- a/progs/samples/rgbtoppm.c +++ b/progs/samples/rgbtoppm.c @@ -256,18 +256,30 @@ int main(int argc, char **argv) { int width, height; GLubyte *data; + char buff[32]; + int n; + FILE *fo; - if (argc != 2) + if (argc != 3) { - fprintf(stderr, "usage: %s <filename>\n", argv[0]); + fprintf(stderr, "usage: %s <infile.rgb> <outfile.p6>\n", argv[0]); return 1; } data = read_rgb_texture(argv[1], &width, &height); - printf("P6\n%d %d\n255\n", width, height); - fwrite(data, width * 3, height, stdout); + n = sprintf(buff, "P6\n%d %d\n255\n", width, height); + + /* [dBorca] avoid LF to CRLF conversion */ + if ((fo = fopen(argv[2], "wb")) == NULL) { + fprintf(stderr, "Cannot open output file!\n"); + exit(1); + } + + fwrite(buff, n, 1, fo); + fwrite(data, width * 3, height, fo); + + fclose(fo); return 0; } - |