summaryrefslogtreecommitdiff
path: root/ace/Codecs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ace/Codecs.cpp')
-rw-r--r--ace/Codecs.cpp76
1 files changed, 30 insertions, 46 deletions
diff --git a/ace/Codecs.cpp b/ace/Codecs.cpp
index d28cda908d1..8e717cb4533 100644
--- a/ace/Codecs.cpp
+++ b/ace/Codecs.cpp
@@ -7,28 +7,14 @@ ACE_RCSID (ace,
Codecs,
"$Id$")
-namespace
-{
- // Just in case ...
-#undef alphabet
-#undef pad
-#undef max_columns
-
- // Symbols which form the Base64 alphabet (Defined as per RFC 2045)
- ACE_Byte const alphabet[] =
- "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+const ACE_Byte ACE_Base64::alphabet_[] =
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
- // The padding character used in the encoding
- ACE_Byte const pad = '=';
+const ACE_Byte ACE_Base64::pad_ = '=';
- // Number of columns per line of encoded output (Can have a maximum
- // value of 76).
- int const max_columns = 72;
-}
+int ACE_Base64::init_ = 0;
-ACE_BEGIN_VERSIONED_NAMESPACE_DECL
-
-bool ACE_Base64::init_ = false;
+int ACE_Base64::max_columns_ = 72;
ACE_Byte ACE_Base64::decoder_[256];
@@ -48,7 +34,7 @@ ACE_Base64::encode (const ACE_Byte* input,
ACE_Byte* result = 0;
size_t length = ((input_len + 2) / 3) * 4;
- size_t num_lines = length / max_columns + 1;
+ size_t num_lines = length / ACE_Base64::max_columns_ + 1;
length += num_lines + 1;
ACE_NEW_RETURN (result, ACE_Byte[length], 0);
@@ -64,12 +50,12 @@ ACE_Base64::encode (const ACE_Byte* input,
if (char_count == 3)
{
- result[pos++] = alphabet[bits >> 18];
- result[pos++] = alphabet[(bits >> 12) & 0x3f];
- result[pos++] = alphabet[(bits >> 6) & 0x3f];
- result[pos++] = alphabet[bits & 0x3f];
+ result[pos++] = ACE_Base64::alphabet_[bits >> 18];
+ result[pos++] = ACE_Base64::alphabet_[(bits >> 12) & 0x3f];
+ result[pos++] = ACE_Base64::alphabet_[(bits >> 6) & 0x3f];
+ result[pos++] = ACE_Base64::alphabet_[bits & 0x3f];
cols += 4;
- if (cols == max_columns) {
+ if (cols == ACE_Base64::max_columns_) {
result[pos++] = '\n';
cols = 0;
}
@@ -85,17 +71,17 @@ ACE_Base64::encode (const ACE_Byte* input,
if (char_count != 0)
{
bits <<= (16 - (8 * char_count));
- result[pos++] = alphabet[bits >> 18];
- result[pos++] = alphabet[(bits >> 12) & 0x3f];
+ result[pos++] = ACE_Base64::alphabet_[bits >> 18];
+ result[pos++] = ACE_Base64::alphabet_[(bits >> 12) & 0x3f];
if (char_count == 1)
{
- result[pos++] = pad;
- result[pos++] = pad;
+ result[pos++] = pad_;
+ result[pos++] = pad_;
}
else
{
- result[pos++] = alphabet[(bits >> 6) & 0x3f];
- result[pos++] = pad;
+ result[pos++] = ACE_Base64::alphabet_[(bits >> 6) & 0x3f];
+ result[pos++] = pad_;
}
if (cols > 0)
result[pos++] = '\n';
@@ -113,7 +99,7 @@ ACE_Base64::length (const ACE_Byte* input)
ACE_Byte* ptr = const_cast<ACE_Byte*> (input);
while (*ptr != 0 &&
- (member_[*(ptr)] == 1 || *ptr == pad
+ (member_[*(ptr)] == 1 || *ptr == pad_
|| ACE_OS::ace_isspace (*ptr)))
ptr++;
size_t len = ptr - input;
@@ -136,7 +122,7 @@ ACE_Base64::decode (const ACE_Byte* input, size_t* output_len)
ACE_Byte* ptr = const_cast<ACE_Byte*> (input);
while (*ptr != 0 &&
- (member_[*(ptr)] == 1 || *ptr == pad
+ (member_[*(ptr)] == 1 || *ptr == pad_
|| ACE_OS::ace_isspace (*ptr)))
ptr++;
size_t input_len = ptr - input;
@@ -148,7 +134,7 @@ ACE_Base64::decode (const ACE_Byte* input, size_t* output_len)
size_t i = 0;
for (; i < input_len; ++i)
{
- if (input[i] == pad)
+ if (input[i] == pad_)
break;
if (!ACE_Base64::member_[input[i]])
continue;
@@ -157,9 +143,9 @@ ACE_Base64::decode (const ACE_Byte* input, size_t* output_len)
if (char_count == 4)
{
- result[pos++] = static_cast<ACE_Byte> (bits >> 16);
- result[pos++] = static_cast<ACE_Byte> ((bits >> 8) & 0xff);
- result[pos++] = static_cast<ACE_Byte> (bits & 0xff);
+ result[pos++] = bits >> 16;
+ result[pos++] = (bits >> 8) & 0xff;
+ result[pos++] = bits & 0xff;
bits = 0;
char_count = 0;
}
@@ -190,11 +176,11 @@ ACE_Base64::decode (const ACE_Byte* input, size_t* output_len)
errors++;
break;
case 2:
- result[pos++] = static_cast<ACE_Byte> (bits >> 10);
+ result[pos++] = bits >> 10;
break;
case 3:
- result[pos++] = static_cast<ACE_Byte> (bits >> 16);
- result[pos++] = static_cast<ACE_Byte> ((bits >> 8) & 0xff);
+ result[pos++] = bits >> 16;
+ result[pos++] = (bits >> 8) & 0xff;
break;
}
}
@@ -214,14 +200,12 @@ ACE_Base64::init ()
{
if (!ACE_Base64::init_)
{
- for (ACE_Byte i = 0; i < sizeof (alphabet); ++i)
+ for (ACE_Byte i = 0; i < sizeof (ACE_Base64::alphabet_); ++i)
{
- ACE_Base64::decoder_[alphabet[i]] = i;
- ACE_Base64::member_ [alphabet[i]] = 1;
+ ACE_Base64::decoder_[ACE_Base64::alphabet_[i]] = i;
+ ACE_Base64::member_[ACE_Base64::alphabet_[i]] = 1;
}
- ACE_Base64::init_ = true;
+ ACE_Base64::init_ = 1;
}
return;
}
-
-ACE_END_VERSIONED_NAMESPACE_DECL