/*! jpeg_data_save_file returns 1 on success, 0 on failure */ int jpeg_data_save_file (JPEGData *data, const char *path) { FILE *f; unsigned char *d = NULL; unsigned int size = 0, written; jpeg_data_save_data (data, &d, &size); if (!d) return 0; remove (path); f = fopen (path, "wb"); if (!f) { free (d); return 0; } written = fwrite (d, 1, size, f); fclose (f); free (d); if (written == size) { return 1; } remove(path); return 0; }
void jpeg_data_save_file (JPEGData *data, const char *path) { FILE *f; unsigned char *d = NULL; unsigned int size = 0; printf ("Saving jpeg data\n"); jpeg_data_save_data (data, &d, &size); if (!d) { printf ("error serializing jpeg data\n"); return; } unlink (path); f = fopen (path, "wb"); if (!f) { printf ("error opening file\n"); free (d); return; } fwrite (d, sizeof (char), size, f); fclose (f); free (d); }