diff options
| author | Brad Linden <46733234+brad-linden@users.noreply.github.com> | 2024-05-06 15:44:19 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-06 15:44:19 -0700 |
| commit | 84827a7cb8d4b7a58309f98c7d4df4cfeb173935 (patch) | |
| tree | b91494298eab93bbd8dd9b00722b7a30714a1b9c /indra/llcommon/llbase64.cpp | |
| parent | 76101843c0d390c25a783f212eb1ea75e508ada4 (diff) | |
| parent | 8b747cee182cd8e95063fa152d9b5d7383cb1c74 (diff) | |
Merge pull request #1413 from secondlife/gltf-dev-maint-a-merge
Merge Maint A to development
Diffstat (limited to 'indra/llcommon/llbase64.cpp')
| -rw-r--r-- | indra/llcommon/llbase64.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/indra/llcommon/llbase64.cpp b/indra/llcommon/llbase64.cpp index 433b54f6f8..c5960f1c7e 100644 --- a/indra/llcommon/llbase64.cpp +++ b/indra/llcommon/llbase64.cpp @@ -59,3 +59,19 @@ std::string LLBase64::encode(const U8* input, size_t input_size) return output; } +std::string LLBase64::decodeAsString(const std::string &input) +{ + int b64_buffer_length = apr_base64_decode_len(input.c_str()); + char* b64_buffer = new char[b64_buffer_length]; + + // This is faster than apr_base64_encode() if you know + // you're not on an EBCDIC machine. Also, the output is + // null terminated, even though the documentation doesn't + // specify. See apr_base64.c for details. JC + b64_buffer_length = apr_base64_decode(b64_buffer, input.c_str()); + std::string res; + res.assign(b64_buffer); + delete[] b64_buffer; + return res; +} + |
