summaryrefslogtreecommitdiff
path: root/progs/samples
diff options
context:
space:
mode:
authorBrian Paul <brian.paul@tungstengraphics.com>2003-02-04 12:34:02 +0000
committerBrian Paul <brian.paul@tungstengraphics.com>2003-02-04 12:34:02 +0000
commite5ed2f07d8ee7c25c331aed3c125da7763918db4 (patch)
treea77af6f4a55f9602e810a9e2d9b343e5c8310b30 /progs/samples
parent398c6b7980ac52ba15af78f45e71f49f33ded1aa (diff)
read/write files, not stdio (Daniel Borca)
Diffstat (limited to 'progs/samples')
-rw-r--r--progs/samples/rgbtoppm.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/progs/samples/rgbtoppm.c b/progs/samples/rgbtoppm.c
index 0bc73487b0..116d9a8cfa 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;
}
-