aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/charset/recyr.hh
diff options
context:
space:
mode:
authorsereglond <sereglond@yandex-team.ru>2022-02-10 16:47:46 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:47:46 +0300
commiteb3d925534734c808602b31b38b953677f0a279f (patch)
tree4222ef8dc375ee9f30b68a004ee42a0845e005b6 /library/cpp/charset/recyr.hh
parent4c8065245df3ea26b7757bcb1f8218df287f9148 (diff)
downloadydb-eb3d925534734c808602b31b38b953677f0a279f.tar.gz
Restoring authorship annotation for <sereglond@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'library/cpp/charset/recyr.hh')
-rw-r--r--library/cpp/charset/recyr.hh54
1 files changed, 27 insertions, 27 deletions
diff --git a/library/cpp/charset/recyr.hh b/library/cpp/charset/recyr.hh
index 5ec8734bcf..7362c8940a 100644
--- a/library/cpp/charset/recyr.hh
+++ b/library/cpp/charset/recyr.hh
@@ -3,12 +3,12 @@
#include <cstdlib>
#include <util/charset/recode_result.h>
-#include <util/generic/ptr.h>
+#include <util/generic/ptr.h>
#include <util/generic/yexception.h>
-
-#include "codepage.h"
-#include "doccodes.h"
-#include "iconv.h"
+
+#include "codepage.h"
+#include "doccodes.h"
+#include "iconv.h"
#include "recyr_int.hh"
///////////////////////////////////////////////////////////////////////////////////////
@@ -37,15 +37,15 @@ inline RECODE_RESULT RecodeToUnicode(ECharset from, const char* in, TCharType* o
size_t inRead = 0;
size_t outWritten = 0;
return RecodeToUnicode(from, in, out, inSize, outSize, inRead, outWritten);
-}
-
+}
+
template <class TCharType>
inline RECODE_RESULT RecodeFromUnicode(ECharset to, const TCharType* in, char* out, size_t inSize, size_t outSize) {
size_t inRead = 0;
size_t outWritten = 0;
return RecodeFromUnicode(to, in, out, inSize, outSize, inRead, outWritten);
-}
-
+}
+
inline RECODE_RESULT RecodeFromUnicode(ECharset theEncoding, const wchar16* chars, size_t length,
char* bytes, size_t size, size_t* read = nullptr, size_t* written = nullptr) {
size_t w = 0, r = 0;
@@ -60,10 +60,10 @@ inline RECODE_RESULT RecodeFromUnicode(ECharset theEncoding, const wchar16* char
inline RECODE_RESULT Recode(ECharset from, ECharset to, const char* in, char* out, size_t inSize, size_t outSize, size_t& inRead, size_t& outWritten) {
inRead = 0;
outWritten = 0;
-
+
if (!ValidCodepage(to) || !ValidCodepage(from))
- return RECODE_ERROR;
-
+ return RECODE_ERROR;
+
if (to == from)
return NCodepagePrivate::_recodeCopy(in, out, inSize, outSize, inRead, outWritten);
@@ -78,29 +78,29 @@ inline RECODE_RESULT Recode(ECharset from, ECharset to, const char* in, char* ou
return NCodepagePrivate::_recodeToYandex(from, in, out, inSize, outSize, inRead, outWritten);
} else if (NICONVPrivate::CanConvert(from, to)) {
return NICONVPrivate::RecodeNoThrow(from, to, in, out, inSize, outSize, inRead, outWritten);
- }
+ }
size_t wideSize = inSize * 3;
TArrayHolder<wchar16> wide(new wchar16[wideSize]);
-
- size_t wideRead = 0;
- size_t wideWritten = 0;
-
+
+ size_t wideRead = 0;
+ size_t wideWritten = 0;
+
RECODE_RESULT res = RecodeToUnicode(from, in, wide.Get(), inSize, wideSize, inRead, wideWritten);
- if (res != RECODE_OK)
- return res;
-
+ if (res != RECODE_OK)
+ return res;
+
res = RecodeFromUnicode(to, wide.Get(), out, wideWritten, outSize, wideRead, outWritten);
-
- return res;
+
+ return res;
}
inline RECODE_RESULT Recode(ECharset from, ECharset to, const char* in, char* out, size_t inSize, size_t outSize) {
size_t inRead = 0;
size_t outWritten = 0;
return Recode(from, to, in, out, inSize, outSize, inRead, outWritten);
-}
-
+}
+
/**
* Recode from one charset to another; throw an exception if conversion failed
* @param[in] from the source character set
@@ -155,10 +155,10 @@ inline TString RecodeToHTMLEntities(ECharset from, const TString& in) {
out.resize(in.length() * (4 + 8));
res = NCodepagePrivate::_recodeToHTMLEntities(from, in.c_str(), out.begin(), in.length(), out.length(), inRead, outWritten);
}
- if (res != RECODE_OK) {
+ if (res != RECODE_OK) {
ythrow yexception() << "Recode to HTML entities failed";
- }
-
+ }
+
out.resize(outWritten - 1);
return out;
}