From 1d7f75c490139ca7404a49726e2028b4ec142327 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Wed, 22 Jun 2016 12:03:10 +0100 Subject: [PATCH] Added initializer --- include/osgDB/ConvertBase64 | 24 ++++++++++++++++++------ src/osgDB/ConvertBase64.cpp | 7 ------- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/include/osgDB/ConvertBase64 b/include/osgDB/ConvertBase64 index 2e0adca94..2693f86fe 100644 --- a/include/osgDB/ConvertBase64 +++ b/include/osgDB/ConvertBase64 @@ -46,6 +46,14 @@ namespace osgDB int stepcount; } base64_encodestate; + inline void base64_init_encodestate(base64_encodestate* state_in) + { + state_in->step = step_A; + state_in->result = 0; + state_in->stepcount = 0; + } + + typedef struct { base64_decodestep step; @@ -61,9 +69,11 @@ namespace osgDB class OSGDB_EXPORT Base64encoder { public: - Base64encoder(int buffersize_in = BUFFERSIZE) - : _buffersize(buffersize_in) - {} + Base64encoder(int buffersize_in = BUFFERSIZE): + _buffersize(buffersize_in) + { + base64_init_encodestate(&_state); + } int encode(char value_in); @@ -83,9 +93,11 @@ namespace osgDB class OSGDB_EXPORT Base64decoder { public: - Base64decoder(int buffersize_in = BUFFERSIZE) - : _buffersize(buffersize_in) - {} + Base64decoder(int buffersize_in = BUFFERSIZE): + _buffersize(buffersize_in) + { + base64_init_decodestate(&_state); + } int decode(char value_in); diff --git a/src/osgDB/ConvertBase64.cpp b/src/osgDB/ConvertBase64.cpp index 63f52559a..8a2f59e5a 100644 --- a/src/osgDB/ConvertBase64.cpp +++ b/src/osgDB/ConvertBase64.cpp @@ -99,13 +99,6 @@ namespace osgDB return plainchar - plaintext_out; } - void base64_init_encodestate(base64_encodestate* state_in) - { - state_in->step = step_A; - state_in->result = 0; - state_in->stepcount = 0; - } - char base64_encode_value(char value_in) { static const char* encoding = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";