+
+static int save_image(const char *fname, unsigned char *pix, int xsz, int ysz)
+{
+ int i;
+ FILE *fp;
+
+ if(!(fp = fopen(fname, "wb"))) {
+ fprintf(stderr, "failed to open %s for writing\n", fname);
+ return -1;
+ }
+ fprintf(fp, "P6\n%d %d\n255\n", xsz, ysz);
+
+ for(i=0; i<xsz * ysz; i++) {
+ fputc(*pix++, fp);
+ fputc(*pix++, fp);
+ fputc(*pix++, fp);
+ }
+ fclose(fp);
+ return 0;
+}