Merge pull request 'Do not reopen stdout while image resizing' (#7) from mymedia2/libravatarserv:patch-1 into master

Reviewed-on: #7
This commit is contained in:
tastytea 2020-10-24 08:41:13 +02:00
commit 53466aadef
1 changed files with 7 additions and 3 deletions

View File

@ -73,7 +73,11 @@ void image::write(Image &image)
string magick = image.image.magick();
std::transform(magick.begin(), magick.end(), magick.begin(), ::tolower);
cout << "Content-Type: image/" << magick << endl << endl;
cout.flush(); // We need to flush before we use /dev/stdout directly.
image.image.write("/dev/stdout");
Magick::Blob res_buffer;
image.image.magick(magick); // force the same format
image.image.write(&res_buffer);
cout << "Content-Type: image/" << magick << endl;
cout << "Content-Length: " << res_buffer.length() << endl << endl;
cout.write(static_cast<const char*>(res_buffer.data()), res_buffer.length());
}