aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/string_utils
diff options
context:
space:
mode:
authormelkov <melkov@yandex-team.ru>2022-02-10 16:48:13 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:48:13 +0300
commit438546c8737d5c1fdeb31157dcf999717d930eec (patch)
treed29d229abd2f9f889b9b7eb148d635059dc26acf /library/cpp/string_utils
parent96647fad5355ff5ef45a00a6d85c097028584ab0 (diff)
downloadydb-438546c8737d5c1fdeb31157dcf999717d930eec.tar.gz
Restoring authorship annotation for <melkov@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'library/cpp/string_utils')
-rw-r--r--library/cpp/string_utils/base64/base64.cpp14
-rw-r--r--library/cpp/string_utils/url/url.cpp58
-rw-r--r--library/cpp/string_utils/url/url.h4
-rw-r--r--library/cpp/string_utils/url/url_ut.cpp36
4 files changed, 56 insertions, 56 deletions
diff --git a/library/cpp/string_utils/base64/base64.cpp b/library/cpp/string_utils/base64/base64.cpp
index 05c201f0de..73ff81904a 100644
--- a/library/cpp/string_utils/base64/base64.cpp
+++ b/library/cpp/string_utils/base64/base64.cpp
@@ -150,11 +150,11 @@ char* Base64EncodeUrl(char* outstr, const unsigned char* instr, size_t len) {
}
inline void uudecode_1(char* dst, unsigned char* src) {
- dst[0] = char((base64_bkw[src[0]] << 2) | (base64_bkw[src[1]] >> 4));
- dst[1] = char((base64_bkw[src[1]] << 4) | (base64_bkw[src[2]] >> 2));
- dst[2] = char((base64_bkw[src[2]] << 6) | base64_bkw[src[3]]);
-}
-
+ dst[0] = char((base64_bkw[src[0]] << 2) | (base64_bkw[src[1]] >> 4));
+ dst[1] = char((base64_bkw[src[1]] << 4) | (base64_bkw[src[2]] >> 2));
+ dst[2] = char((base64_bkw[src[2]] << 6) | base64_bkw[src[3]]);
+}
+
static size_t Base64DecodePlain(void* dst, const char* b, const char* e) {
size_t n = 0;
while (b < e) {
@@ -174,8 +174,8 @@ static size_t Base64DecodePlain(void* dst, const char* b, const char* e) {
}
}
- return n;
-}
+ return n;
+}
// Table for Base64StrictDecode
static const char base64_bkw_strict[] =
diff --git a/library/cpp/string_utils/url/url.cpp b/library/cpp/string_utils/url/url.cpp
index 85f4ac5d69..a7f42f0360 100644
--- a/library/cpp/string_utils/url/url.cpp
+++ b/library/cpp/string_utils/url/url.cpp
@@ -16,37 +16,37 @@
#include <cstdlib>
namespace {
- struct TUncheckedSize {
+ struct TUncheckedSize {
static bool Has(size_t) {
- return true;
- }
- };
-
- struct TKnownSize {
- size_t MySize;
+ return true;
+ }
+ };
+
+ struct TKnownSize {
+ size_t MySize;
explicit TKnownSize(size_t sz)
- : MySize(sz)
+ : MySize(sz)
{
}
- bool Has(size_t sz) const {
- return sz <= MySize;
- }
- };
-
- template <typename TChar1, typename TChar2>
- int Compare1Case2(const TChar1* s1, const TChar2* s2, size_t n) {
- for (size_t i = 0; i < n; ++i) {
+ bool Has(size_t sz) const {
+ return sz <= MySize;
+ }
+ };
+
+ template <typename TChar1, typename TChar2>
+ int Compare1Case2(const TChar1* s1, const TChar2* s2, size_t n) {
+ for (size_t i = 0; i < n; ++i) {
if ((TChar1)ToLower(s1[i]) != s2[i])
return (TChar1)ToLower(s1[i]) < s2[i] ? -1 : 1;
- }
- return 0;
- }
-
+ }
+ return 0;
+ }
+
template <typename TChar, typename TBounds>
inline size_t GetHttpPrefixSizeImpl(const TChar* url, const TBounds& urlSize, bool ignorehttps) {
const TChar httpPrefix[] = {'h', 't', 't', 'p', ':', '/', '/', 0};
const TChar httpsPrefix[] = {'h', 't', 't', 'p', 's', ':', '/', '/', 0};
- if (urlSize.Has(7) && Compare1Case2(url, httpPrefix, 7) == 0)
+ if (urlSize.Has(7) && Compare1Case2(url, httpPrefix, 7) == 0)
return 7;
if (!ignorehttps && urlSize.Has(8) && Compare1Case2(url, httpsPrefix, 8) == 0)
return 8;
@@ -113,8 +113,8 @@ size_t GetSchemePrefixSize(const TStringBuf url) noexcept {
}
return n + 3 - url.begin();
-}
-
+}
+
TStringBuf GetSchemePrefix(const TStringBuf url) noexcept {
return url.Head(GetSchemePrefixSize(url));
}
@@ -236,7 +236,7 @@ void GetSchemeHostAndPort(const TStringBuf url, TStringBuf& scheme, TStringBuf&
}
TStringBuf GetOnlyHost(const TStringBuf url) noexcept {
- return GetHost(CutSchemePrefix(url));
+ return GetHost(CutSchemePrefix(url));
}
TStringBuf GetPathAndQuery(const TStringBuf url, bool trimFragment) noexcept {
@@ -248,19 +248,19 @@ TStringBuf GetPathAndQuery(const TStringBuf url, bool trimFragment) noexcept {
return trimFragment ? path.Before('#') : path;
}
-// this strange creature returns 2nd level domain, possibly with port
+// this strange creature returns 2nd level domain, possibly with port
TStringBuf GetDomain(const TStringBuf host) noexcept {
const char* c = !host ? host.data() : host.end() - 1;
for (bool wasPoint = false; c != host.data(); --c) {
- if (*c == '.') {
- if (wasPoint) {
+ if (*c == '.') {
+ if (wasPoint) {
++c;
break;
- }
+ }
wasPoint = true;
}
}
- return TStringBuf(c, host.end());
+ return TStringBuf(c, host.end());
}
TStringBuf GetParentDomain(const TStringBuf host, size_t level) noexcept {
diff --git a/library/cpp/string_utils/url/url.h b/library/cpp/string_utils/url/url.h
index 84137ccc57..47b9f6465b 100644
--- a/library/cpp/string_utils/url/url.h
+++ b/library/cpp/string_utils/url/url.h
@@ -35,10 +35,10 @@ Y_PURE_FUNCTION
size_t GetHttpPrefixSize(const TWtringBuf url, bool ignorehttps = false) noexcept;
/** BEWARE of TStringBuf! You can not use operator ~ or c_str() like in TString
- !!!!!!!!!!!! */
+ !!!!!!!!!!!! */
Y_PURE_FUNCTION
size_t GetSchemePrefixSize(const TStringBuf url) noexcept;
-
+
Y_PURE_FUNCTION
TStringBuf GetSchemePrefix(const TStringBuf url) noexcept;
diff --git a/library/cpp/string_utils/url/url_ut.cpp b/library/cpp/string_utils/url/url_ut.cpp
index 1588013893..66c76a63ff 100644
--- a/library/cpp/string_utils/url/url_ut.cpp
+++ b/library/cpp/string_utils/url/url_ut.cpp
@@ -45,7 +45,7 @@ Y_UNIT_TEST_SUITE(TUtilUrlTest) {
UNIT_ASSERT_VALUES_EQUAL("ya.ru", GetDomain("a.b.ya.ru"));
UNIT_ASSERT_VALUES_EQUAL("ya.ru", GetDomain("ya.ru"));
UNIT_ASSERT_VALUES_EQUAL("ya", GetDomain("ya"));
- UNIT_ASSERT_VALUES_EQUAL("", GetDomain(""));
+ UNIT_ASSERT_VALUES_EQUAL("", GetDomain(""));
}
Y_UNIT_TEST(TestGetParentDomain) {
@@ -88,27 +88,27 @@ Y_UNIT_TEST_SUITE(TUtilUrlTest) {
}
Y_UNIT_TEST(TestSchemeCut) {
- UNIT_ASSERT_VALUES_EQUAL("ya.ru/bebe", CutSchemePrefix("http://ya.ru/bebe"));
- UNIT_ASSERT_VALUES_EQUAL("yaru", CutSchemePrefix("yaru"));
- UNIT_ASSERT_VALUES_EQUAL("ya.ru://zzz", CutSchemePrefix("yaru://ya.ru://zzz"));
- UNIT_ASSERT_VALUES_EQUAL("ya.ru://zzz", CutSchemePrefix("ya.ru://zzz"));
- UNIT_ASSERT_VALUES_EQUAL("ya.ru://zzz", CutSchemePrefix("ftp://ya.ru://zzz"));
- UNIT_ASSERT_VALUES_EQUAL("", CutSchemePrefix("https://")); // is that right?
-
- UNIT_ASSERT_VALUES_EQUAL("ftp://ya.ru", CutHttpPrefix("ftp://ya.ru"));
- UNIT_ASSERT_VALUES_EQUAL("ya.ru/zzz", CutHttpPrefix("http://ya.ru/zzz"));
+ UNIT_ASSERT_VALUES_EQUAL("ya.ru/bebe", CutSchemePrefix("http://ya.ru/bebe"));
+ UNIT_ASSERT_VALUES_EQUAL("yaru", CutSchemePrefix("yaru"));
+ UNIT_ASSERT_VALUES_EQUAL("ya.ru://zzz", CutSchemePrefix("yaru://ya.ru://zzz"));
+ UNIT_ASSERT_VALUES_EQUAL("ya.ru://zzz", CutSchemePrefix("ya.ru://zzz"));
+ UNIT_ASSERT_VALUES_EQUAL("ya.ru://zzz", CutSchemePrefix("ftp://ya.ru://zzz"));
+ UNIT_ASSERT_VALUES_EQUAL("", CutSchemePrefix("https://")); // is that right?
+
+ UNIT_ASSERT_VALUES_EQUAL("ftp://ya.ru", CutHttpPrefix("ftp://ya.ru"));
+ UNIT_ASSERT_VALUES_EQUAL("ya.ru/zzz", CutHttpPrefix("http://ya.ru/zzz"));
UNIT_ASSERT_VALUES_EQUAL("ya.ru/zzz", CutHttpPrefix("http://ya.ru/zzz", true));
- UNIT_ASSERT_VALUES_EQUAL("ya.ru/zzz", CutHttpPrefix("https://ya.ru/zzz"));
+ UNIT_ASSERT_VALUES_EQUAL("ya.ru/zzz", CutHttpPrefix("https://ya.ru/zzz"));
UNIT_ASSERT_VALUES_EQUAL("https://ya.ru/zzz", CutHttpPrefix("https://ya.ru/zzz", true));
UNIT_ASSERT_VALUES_EQUAL("", CutHttpPrefix("https://")); // is that right?
UNIT_ASSERT_VALUES_EQUAL("https://", CutHttpPrefix("https://", true)); // is that right?
- }
-
+ }
+
Y_UNIT_TEST(TestMisc) {
- UNIT_ASSERT_VALUES_EQUAL("", CutWWWPrefix("www."));
- UNIT_ASSERT_VALUES_EQUAL("", CutWWWPrefix("WwW."));
- UNIT_ASSERT_VALUES_EQUAL("www", CutWWWPrefix("www"));
- UNIT_ASSERT_VALUES_EQUAL("ya.ru", CutWWWPrefix("www.ya.ru"));
+ UNIT_ASSERT_VALUES_EQUAL("", CutWWWPrefix("www."));
+ UNIT_ASSERT_VALUES_EQUAL("", CutWWWPrefix("WwW."));
+ UNIT_ASSERT_VALUES_EQUAL("www", CutWWWPrefix("www"));
+ UNIT_ASSERT_VALUES_EQUAL("ya.ru", CutWWWPrefix("www.ya.ru"));
UNIT_ASSERT_VALUES_EQUAL("", CutWWWNumberedPrefix("www."));
UNIT_ASSERT_VALUES_EQUAL("www", CutWWWNumberedPrefix("www"));
@@ -125,7 +125,7 @@ Y_UNIT_TEST_SUITE(TUtilUrlTest) {
UNIT_ASSERT_VALUES_EQUAL("", CutMPrefix("M."));
UNIT_ASSERT_VALUES_EQUAL("m", CutMPrefix("m"));
UNIT_ASSERT_VALUES_EQUAL("ya.ru", CutMPrefix("m.ya.ru"));
- }
+ }
Y_UNIT_TEST(TestSplitUrlToHostAndPath) {
TStringBuf host, path;