| Index: third_party/woff2/src/woff2_decompress.cc
|
| diff --git a/third_party/woff2/src/woff2_decompress.cc b/third_party/woff2/src/woff2_decompress.cc
|
| index 7668c4e824a7ce4a23088374db0447669c93ac9d..f29c797cbb59b976705ea128f4c88a4a8d80dde5 100644
|
| --- a/third_party/woff2/src/woff2_decompress.cc
|
| +++ b/third_party/woff2/src/woff2_decompress.cc
|
| @@ -17,10 +17,10 @@
|
|
|
| #include <string>
|
|
|
| -
|
| -#include "file.h"
|
| +#include "./file.h"
|
| #include "./woff2_dec.h"
|
|
|
| +
|
| int main(int argc, char **argv) {
|
| using std::string;
|
|
|
| @@ -31,24 +31,18 @@ int main(int argc, char **argv) {
|
|
|
| string filename(argv[1]);
|
| string outfilename = filename.substr(0, filename.find_last_of(".")) + ".ttf";
|
| - fprintf(stdout, "Processing %s => %s\n",
|
| - filename.c_str(), outfilename.c_str());
|
| +
|
| string input = woff2::GetFileContent(filename);
|
| + const uint8_t* raw_input = reinterpret_cast<const uint8_t*>(input.data());
|
| + string output(std::min(woff2::ComputeWOFF2FinalSize(raw_input, input.size()),
|
| + woff2::kDefaultMaxSize), 0);
|
| + woff2::WOFF2StringOut out(&output);
|
|
|
| - size_t decompressed_size = woff2::ComputeWOFF2FinalSize(
|
| - reinterpret_cast<const uint8_t*>(input.data()), input.size());
|
| - string output(decompressed_size, 0);
|
| - const bool ok = woff2::ConvertWOFF2ToTTF(
|
| - reinterpret_cast<uint8_t*>(&output[0]), decompressed_size,
|
| - reinterpret_cast<const uint8_t*>(input.data()), input.size());
|
| + const bool ok = woff2::ConvertWOFF2ToTTF(raw_input, input.size(), &out);
|
|
|
| - if (!ok) {
|
| - fprintf(stderr, "Decompression failed\n");
|
| - return 1;
|
| + if (ok) {
|
| + woff2::SetFileContents(outfilename, output.begin(),
|
| + output.begin() + out.Size());
|
| }
|
| -
|
| - woff2::SetFileContents(outfilename, output);
|
| -
|
| - return 0;
|
| + return ok ? 0 : 1;
|
| }
|
| -
|
|
|