00001
00033 #include "linden_common.h"
00034
00035 #include "llbase64.h"
00036
00037 #include <string>
00038
00039 #include "apr-1/apr_base64.h"
00040
00041
00042
00043 std::string LLBase64::encode(const U8* input, size_t input_size)
00044 {
00045 std::string output;
00046 if (input
00047 && input_size > 0)
00048 {
00049
00050 int b64_buffer_length = apr_base64_encode_len(input_size);
00051 char* b64_buffer = new char[b64_buffer_length];
00052
00053
00054
00055
00056
00057 b64_buffer_length = apr_base64_encode_binary(
00058 b64_buffer,
00059 input,
00060 input_size);
00061 output.assign(b64_buffer);
00062 delete[] b64_buffer;
00063 }
00064 return output;
00065 }
00066