Merge pull request #92 from walf443/respect_stb_image_write_error

handling stbi_write_xxx_to_func return code
This commit is contained in:
Syoyo Fujita 2018-08-28 21:33:07 +09:00 committed by GitHub
commit 098dfee982
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1385,18 +1385,24 @@ bool WriteImageData(const std::string *basepath, const std::string *filename,
std::vector<unsigned char> data;
if (ext == "png") {
stbi_write_png_to_func(WriteToMemory_stbi, &data, image->width,
if (!stbi_write_png_to_func(WriteToMemory_stbi, &data, image->width,
image->height, image->component, &image->image[0],
0);
0)) {
return false;
}
header = "data:image/png;base64,";
} else if (ext == "jpg") {
stbi_write_jpg_to_func(WriteToMemory_stbi, &data, image->width,
if (!stbi_write_jpg_to_func(WriteToMemory_stbi, &data, image->width,
image->height, image->component, &image->image[0],
100);
100)) {
return false;
}
header = "data:image/jpeg;base64,";
} else if (ext == "bmp") {
stbi_write_bmp_to_func(WriteToMemory_stbi, &data, image->width,
image->height, image->component, &image->image[0]);
if (!stbi_write_bmp_to_func(WriteToMemory_stbi, &data, image->width,
image->height, image->component, &image->image[0])) {
return false;
}
header = "data:image/bmp;base64,";
} else if (!embedImages) {
// Error: can't output requested format to file
@ -1421,6 +1427,7 @@ bool WriteImageData(const std::string *basepath, const std::string *filename,
if (!fs->WriteWholeFile(&writeError, imagefilepath, data,
fs->user_data)) {
// Could not write image file to disc; Throw error ?
return false;
}
} else {
// Throw error?