コード例 #1
0
/*! 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;
}
コード例 #2
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);
}