aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/poco/Foundation/src/Base32Encoder.cpp
diff options
context:
space:
mode:
authororivej <orivej@yandex-team.ru>2022-02-10 16:45:01 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:45:01 +0300
commit2d37894b1b037cf24231090eda8589bbb44fb6fc (patch)
treebe835aa92c6248212e705f25388ebafcf84bc7a1 /contrib/libs/poco/Foundation/src/Base32Encoder.cpp
parent718c552901d703c502ccbefdfc3c9028d608b947 (diff)
downloadydb-2d37894b1b037cf24231090eda8589bbb44fb6fc.tar.gz
Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/libs/poco/Foundation/src/Base32Encoder.cpp')
-rw-r--r--contrib/libs/poco/Foundation/src/Base32Encoder.cpp404
1 files changed, 202 insertions, 202 deletions
diff --git a/contrib/libs/poco/Foundation/src/Base32Encoder.cpp b/contrib/libs/poco/Foundation/src/Base32Encoder.cpp
index 22a30fcafe..dbac2c977f 100644
--- a/contrib/libs/poco/Foundation/src/Base32Encoder.cpp
+++ b/contrib/libs/poco/Foundation/src/Base32Encoder.cpp
@@ -1,202 +1,202 @@
-//
-// Base32Encoder.cpp
-//
-// Library: Foundation
-// Package: Streams
-// Module: Base32
-//
-// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
-// and Contributors.
-//
-// SPDX-License-Identifier: BSL-1.0
-//
-
-
-#include "Poco/Base32Encoder.h"
-
-
-namespace Poco {
-
-
-const unsigned char Base32EncoderBuf::OUT_ENCODING[32] =
-{
- 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
- 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
- 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X',
- 'Y', 'Z', '2', '3', '4', '5', '6', '7',
-};
-
-
-Base32EncoderBuf::Base32EncoderBuf(std::ostream& ostr, bool padding):
- _groupLength(0),
- _buf(*ostr.rdbuf()),
- _doPadding(padding)
-{
-}
-
-
-Base32EncoderBuf::~Base32EncoderBuf()
-{
- try
- {
- close();
- }
- catch (...)
- {
- }
-}
-
-
-
-int Base32EncoderBuf::writeToDevice(char c)
-{
- static const int eof = std::char_traits<char>::eof();
-
- _group[_groupLength++] = (unsigned char) c;
- if (_groupLength == 5)
- {
- unsigned char idx;
- idx = _group[0] >> 3;
- if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
- idx = ((_group[0] & 0x07) << 2) | (_group[1] >> 6);
- if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
- idx = ((_group[1] & 0x3E) >> 1);
- if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
- idx = ((_group[1] & 0x01) << 4) | (_group[2] >> 4);
- if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
- idx = ((_group[2] & 0x0F) << 1) | (_group[3] >> 7);
- if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
- idx = ((_group[3] & 0x7C) >> 2);
- if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
- idx = ((_group[3] & 0x03) << 3) | (_group[4] >> 5);
- if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
- idx = (_group[4] & 0x1F);
- if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
- _groupLength = 0;
- }
- return charToInt(c);
-}
-
-
-int Base32EncoderBuf::close()
-{
- static const int eof = std::char_traits<char>::eof();
-
- if (sync() == eof) return eof;
- if (_groupLength == 1)
- {
- _group[1] = 0;
- unsigned char idx;
- idx = _group[0] >> 3;
- if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
- idx = ((_group[0] & 0x07) << 2);
- if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
- if (_doPadding) {
- if (_buf.sputc('=') == eof) return eof;
- if (_buf.sputc('=') == eof) return eof;
- if (_buf.sputc('=') == eof) return eof;
- if (_buf.sputc('=') == eof) return eof;
- if (_buf.sputc('=') == eof) return eof;
- if (_buf.sputc('=') == eof) return eof;
- }
- }
- else if (_groupLength == 2)
- {
- _group[2] = 0;
- unsigned char idx;
- idx = _group[0] >> 3;
- if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
- idx = ((_group[0] & 0x07) << 2) | (_group[1] >> 6);
- if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
- idx = ((_group[1] & 0x3E) >> 1);
- if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
- idx = ((_group[1] & 0x01) << 4);
- if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
- if (_doPadding) {
- if (_buf.sputc('=') == eof) return eof;
- if (_buf.sputc('=') == eof) return eof;
- if (_buf.sputc('=') == eof) return eof;
- if (_buf.sputc('=') == eof) return eof;
- }
- }
- else if (_groupLength == 3)
- {
- _group[3] = 0;
- unsigned char idx;
- idx = _group[0] >> 3;
- if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
- idx = ((_group[0] & 0x07) << 2) | (_group[1] >> 6);
- if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
- idx = ((_group[1] & 0x3E) >> 1);
- if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
- idx = ((_group[1] & 0x01) << 4) | (_group[2] >> 4);
- if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
- idx = ((_group[2] & 0x0F) << 1);
- if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
- if (_doPadding) {
- if (_buf.sputc('=') == eof) return eof;
- if (_buf.sputc('=') == eof) return eof;
- if (_buf.sputc('=') == eof) return eof;
- }
- }
- else if (_groupLength == 4)
- {
- _group[4] = 0;
- unsigned char idx;
- idx = _group[0] >> 3;
- if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
- idx = ((_group[0] & 0x07) << 2) | (_group[1] >> 6);
- if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
- idx = ((_group[1] & 0x3E) >> 1);
- if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
- idx = ((_group[1] & 0x01) << 4) | (_group[2] >> 4);
- if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
- idx = ((_group[2] & 0x0F) << 1) | (_group[3] >> 7);
- if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
- idx = ((_group[3] & 0x7C) >> 2);
- if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
- idx = ((_group[3] & 0x03) << 3);
- if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
- if (_doPadding && _buf.sputc('=') == eof) return eof;
- }
- _groupLength = 0;
- return _buf.pubsync();
-}
-
-
-Base32EncoderIOS::Base32EncoderIOS(std::ostream& ostr, bool padding):
- _buf(ostr, padding)
-{
- poco_ios_init(&_buf);
-}
-
-
-Base32EncoderIOS::~Base32EncoderIOS()
-{
-}
-
-
-int Base32EncoderIOS::close()
-{
- return _buf.close();
-}
-
-
-Base32EncoderBuf* Base32EncoderIOS::rdbuf()
-{
- return &_buf;
-}
-
-
-Base32Encoder::Base32Encoder(std::ostream& ostr, bool padding):
- Base32EncoderIOS(ostr, padding), std::ostream(&_buf)
-{
-}
-
-
-Base32Encoder::~Base32Encoder()
-{
-}
-
-
-} // namespace Poco
+//
+// Base32Encoder.cpp
+//
+// Library: Foundation
+// Package: Streams
+// Module: Base32
+//
+// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
+// and Contributors.
+//
+// SPDX-License-Identifier: BSL-1.0
+//
+
+
+#include "Poco/Base32Encoder.h"
+
+
+namespace Poco {
+
+
+const unsigned char Base32EncoderBuf::OUT_ENCODING[32] =
+{
+ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
+ 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
+ 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X',
+ 'Y', 'Z', '2', '3', '4', '5', '6', '7',
+};
+
+
+Base32EncoderBuf::Base32EncoderBuf(std::ostream& ostr, bool padding):
+ _groupLength(0),
+ _buf(*ostr.rdbuf()),
+ _doPadding(padding)
+{
+}
+
+
+Base32EncoderBuf::~Base32EncoderBuf()
+{
+ try
+ {
+ close();
+ }
+ catch (...)
+ {
+ }
+}
+
+
+
+int Base32EncoderBuf::writeToDevice(char c)
+{
+ static const int eof = std::char_traits<char>::eof();
+
+ _group[_groupLength++] = (unsigned char) c;
+ if (_groupLength == 5)
+ {
+ unsigned char idx;
+ idx = _group[0] >> 3;
+ if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
+ idx = ((_group[0] & 0x07) << 2) | (_group[1] >> 6);
+ if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
+ idx = ((_group[1] & 0x3E) >> 1);
+ if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
+ idx = ((_group[1] & 0x01) << 4) | (_group[2] >> 4);
+ if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
+ idx = ((_group[2] & 0x0F) << 1) | (_group[3] >> 7);
+ if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
+ idx = ((_group[3] & 0x7C) >> 2);
+ if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
+ idx = ((_group[3] & 0x03) << 3) | (_group[4] >> 5);
+ if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
+ idx = (_group[4] & 0x1F);
+ if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
+ _groupLength = 0;
+ }
+ return charToInt(c);
+}
+
+
+int Base32EncoderBuf::close()
+{
+ static const int eof = std::char_traits<char>::eof();
+
+ if (sync() == eof) return eof;
+ if (_groupLength == 1)
+ {
+ _group[1] = 0;
+ unsigned char idx;
+ idx = _group[0] >> 3;
+ if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
+ idx = ((_group[0] & 0x07) << 2);
+ if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
+ if (_doPadding) {
+ if (_buf.sputc('=') == eof) return eof;
+ if (_buf.sputc('=') == eof) return eof;
+ if (_buf.sputc('=') == eof) return eof;
+ if (_buf.sputc('=') == eof) return eof;
+ if (_buf.sputc('=') == eof) return eof;
+ if (_buf.sputc('=') == eof) return eof;
+ }
+ }
+ else if (_groupLength == 2)
+ {
+ _group[2] = 0;
+ unsigned char idx;
+ idx = _group[0] >> 3;
+ if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
+ idx = ((_group[0] & 0x07) << 2) | (_group[1] >> 6);
+ if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
+ idx = ((_group[1] & 0x3E) >> 1);
+ if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
+ idx = ((_group[1] & 0x01) << 4);
+ if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
+ if (_doPadding) {
+ if (_buf.sputc('=') == eof) return eof;
+ if (_buf.sputc('=') == eof) return eof;
+ if (_buf.sputc('=') == eof) return eof;
+ if (_buf.sputc('=') == eof) return eof;
+ }
+ }
+ else if (_groupLength == 3)
+ {
+ _group[3] = 0;
+ unsigned char idx;
+ idx = _group[0] >> 3;
+ if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
+ idx = ((_group[0] & 0x07) << 2) | (_group[1] >> 6);
+ if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
+ idx = ((_group[1] & 0x3E) >> 1);
+ if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
+ idx = ((_group[1] & 0x01) << 4) | (_group[2] >> 4);
+ if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
+ idx = ((_group[2] & 0x0F) << 1);
+ if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
+ if (_doPadding) {
+ if (_buf.sputc('=') == eof) return eof;
+ if (_buf.sputc('=') == eof) return eof;
+ if (_buf.sputc('=') == eof) return eof;
+ }
+ }
+ else if (_groupLength == 4)
+ {
+ _group[4] = 0;
+ unsigned char idx;
+ idx = _group[0] >> 3;
+ if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
+ idx = ((_group[0] & 0x07) << 2) | (_group[1] >> 6);
+ if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
+ idx = ((_group[1] & 0x3E) >> 1);
+ if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
+ idx = ((_group[1] & 0x01) << 4) | (_group[2] >> 4);
+ if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
+ idx = ((_group[2] & 0x0F) << 1) | (_group[3] >> 7);
+ if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
+ idx = ((_group[3] & 0x7C) >> 2);
+ if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
+ idx = ((_group[3] & 0x03) << 3);
+ if (_buf.sputc(OUT_ENCODING[idx]) == eof) return eof;
+ if (_doPadding && _buf.sputc('=') == eof) return eof;
+ }
+ _groupLength = 0;
+ return _buf.pubsync();
+}
+
+
+Base32EncoderIOS::Base32EncoderIOS(std::ostream& ostr, bool padding):
+ _buf(ostr, padding)
+{
+ poco_ios_init(&_buf);
+}
+
+
+Base32EncoderIOS::~Base32EncoderIOS()
+{
+}
+
+
+int Base32EncoderIOS::close()
+{
+ return _buf.close();
+}
+
+
+Base32EncoderBuf* Base32EncoderIOS::rdbuf()
+{
+ return &_buf;
+}
+
+
+Base32Encoder::Base32Encoder(std::ostream& ostr, bool padding):
+ Base32EncoderIOS(ostr, padding), std::ostream(&_buf)
+{
+}
+
+
+Base32Encoder::~Base32Encoder()
+{
+}
+
+
+} // namespace Poco