diff options
author | socialgraph <socialgraph@yandex-team.com> | 2022-08-10 10:20:58 +0300 |
---|---|---|
committer | socialgraph <socialgraph@yandex-team.com> | 2022-08-10 10:20:58 +0300 |
commit | 07163912675dd114719ec1090ae095355b51ad75 (patch) | |
tree | f1565a4d1ebbf8897749ff2425c14d79ebf43c19 /library/cpp/uri/assign.cpp | |
parent | a1b5c2e7f704c40f99d96b1df8ccdb75b05a40df (diff) | |
download | ydb-07163912675dd114719ec1090ae095355b51ad75.tar.gz |
ui32 not enough for features flag
Так как добавил новый флаг, отвечающий за оставление хэшбенга, то Feature флаги перестали помещаться в свои прежние 32 бита, то везде поменял long на ui64
Diffstat (limited to 'library/cpp/uri/assign.cpp')
-rw-r--r-- | library/cpp/uri/assign.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/library/cpp/uri/assign.cpp b/library/cpp/uri/assign.cpp index 97122c445a..dc694baefb 100644 --- a/library/cpp/uri/assign.cpp +++ b/library/cpp/uri/assign.cpp @@ -61,7 +61,7 @@ namespace NUri { // decoding shortens so writing over host in buf is OK TMemoryWriteBuffer out(buf.Get(), buflen); TEncoder decoder(out, FeatureDecodeANY | FeatureToLower); - const long outFlags = decoder.ReEncode(host); + const ui64 outFlags = decoder.ReEncode(host); hasExtended = 0 != (outFlags & FeatureEncodeExtendedASCII); // check again @@ -106,7 +106,7 @@ namespace NUri { TStringBuf TUri::HostToAscii(const TStringBuf& host, TMallocPtr<char>& buf, bool allowIDN, ECharset enc) { // find what we have - long haveFlags = 0; + ui64 haveFlags = 0; for (size_t i = 0; i != host.length(); ++i) { haveFlags |= TEncoder::GetFlags(host[i]).FeatFlags; } @@ -124,7 +124,7 @@ namespace NUri { return outHost; } - static inline bool AppendField(TMemoryWriteBuffer& out, TField::EField field, const TStringBuf& value, long flags) { + static inline bool AppendField(TMemoryWriteBuffer& out, TField::EField field, const TStringBuf& value, ui64 flags) { if (value.empty()) { return false; } @@ -158,7 +158,7 @@ namespace NUri { // special processing for fields const bool convertIDN = parser.Flags & FeatureConvertHostIDN; - long flags = parser.Flags.Allow; + ui64 flags = parser.Flags.Allow; if (convertIDN) { flags |= FeatureAllowHostIDN | FeatureCheckHost; } @@ -271,7 +271,7 @@ namespace NUri { char* beg = out.Buf(); TStringBuf value = section.Get(); - long careFlags = section.GetFlagsEncode(); + ui64 careFlags = section.GetFlagsEncode(); if (field == FieldQuery) { if (queryEscapedFragment.IsInited()) { @@ -279,7 +279,7 @@ namespace NUri { if (!queryEscapedFragment.empty()) { ReEncodeToField( out, queryEscapedFragment, - FieldQuery, FeatureDecodeANY | careFlags, + FieldQuery, FeatureDecodeANY | careFlags, FieldFrag, FeatureDecodeANY | parser.GetFieldFlags(FieldFrag) ); } @@ -322,9 +322,9 @@ namespace NUri { FldSetNoDirty(field, TStringBuf(beg, end)); // special character case - const long checkChars = section.GetFlagsAllPlaintext() & FeaturesCheckSpecialChar; + const ui64 checkChars = section.GetFlagsAllPlaintext() & FeaturesCheckSpecialChar; if (0 != checkChars) { // has unencoded special chars: check permission - const long allowChars = parser.GetFieldFlags(field) & checkChars; + const ui64 allowChars = parser.GetFieldFlags(field) & checkChars; if (checkChars != allowChars) { status = ParsedBadFormat; } |