~ubuntu-branches/debian/jessie/armory/jessie

« back to all changes in this revision

Viewing changes to cppForSwig/cryptopp/base32.cpp

  • Committer: Package Import Robot
  • Author(s): Joseph Bisch
  • Date: 2014-10-07 10:22:45 UTC
  • Revision ID: package-import@ubuntu.com-20141007102245-2s3x3rhjxg689hek
Tags: upstream-0.92.3
ImportĀ upstreamĀ versionĀ 0.92.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// base32.cpp - written and placed in the public domain by Frank Palazzolo, based on hex.cpp by Wei Dai
 
2
 
 
3
#include "pch.h"
 
4
#include "base32.h"
 
5
 
 
6
NAMESPACE_BEGIN(CryptoPP)
 
7
 
 
8
static const byte s_vecUpper[] = "ABCDEFGHIJKMNPQRSTUVWXYZ23456789";
 
9
static const byte s_vecLower[] = "abcdefghijkmnpqrstuvwxyz23456789";
 
10
 
 
11
void Base32Encoder::IsolatedInitialize(const NameValuePairs &parameters)
 
12
{
 
13
        bool uppercase = parameters.GetValueWithDefault(Name::Uppercase(), true);
 
14
        m_filter->Initialize(CombinedNameValuePairs(
 
15
                parameters,
 
16
                MakeParameters(Name::EncodingLookupArray(), uppercase ? &s_vecUpper[0] : &s_vecLower[0], false)(Name::Log2Base(), 5, true)));
 
17
}
 
18
 
 
19
void Base32Decoder::IsolatedInitialize(const NameValuePairs &parameters)
 
20
{
 
21
        BaseN_Decoder::Initialize(CombinedNameValuePairs(
 
22
                parameters,
 
23
                MakeParameters(Name::DecodingLookupArray(), GetDefaultDecodingLookupArray(), false)(Name::Log2Base(), 5, true)));
 
24
}
 
25
 
 
26
const int *Base32Decoder::GetDefaultDecodingLookupArray()
 
27
{
 
28
        static volatile bool s_initialized = false;
 
29
        static int s_array[256];
 
30
 
 
31
        if (!s_initialized)
 
32
        {
 
33
                InitializeDecodingLookupArray(s_array, s_vecUpper, 32, true);
 
34
                s_initialized = true;
 
35
        }
 
36
        return s_array;
 
37
}
 
38
 
 
39
NAMESPACE_END