summaryrefslogtreecommitdiff
path: root/indra/llcommon/llbase32.cpp
diff options
context:
space:
mode:
authorAnsariel <ansariel.hiller@phoenixviewer.com>2024-05-22 19:04:52 +0200
committerAnsariel <ansariel.hiller@phoenixviewer.com>2024-05-22 19:04:52 +0200
commit1b67dd855c41f5a0cda7ec2a68d98071986ca703 (patch)
treeab243607f74f78200787bba5b9b88f07ef1b966f /indra/llcommon/llbase32.cpp
parent6d6eabca44d08d5b97bfe3e941d2b9687c2246ea (diff)
parente1623bb276f83a43ce7a197e388720c05bdefe61 (diff)
Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-A
# Conflicts: # autobuild.xml # indra/cmake/CMakeLists.txt # indra/cmake/GoogleMock.cmake # indra/llaudio/llaudioengine_fmodstudio.cpp # indra/llaudio/llaudioengine_fmodstudio.h # indra/llaudio/lllistener_fmodstudio.cpp # indra/llaudio/lllistener_fmodstudio.h # indra/llaudio/llstreamingaudio_fmodstudio.cpp # indra/llaudio/llstreamingaudio_fmodstudio.h # indra/llcharacter/llmultigesture.cpp # indra/llcharacter/llmultigesture.h # indra/llimage/llimage.cpp # indra/llimage/llimagepng.cpp # indra/llimage/llimageworker.cpp # indra/llimage/tests/llimageworker_test.cpp # indra/llmessage/tests/llmockhttpclient.h # indra/llprimitive/llgltfmaterial.h # indra/llrender/llfontfreetype.cpp # indra/llui/llcombobox.cpp # indra/llui/llfolderview.cpp # indra/llui/llfolderviewmodel.h # indra/llui/lllineeditor.cpp # indra/llui/lllineeditor.h # indra/llui/lltextbase.cpp # indra/llui/lltextbase.h # indra/llui/lltexteditor.cpp # indra/llui/lltextvalidate.cpp # indra/llui/lltextvalidate.h # indra/llui/lluictrl.h # indra/llui/llview.cpp # indra/llwindow/llwindowmacosx.cpp # indra/newview/app_settings/settings.xml # indra/newview/llappearancemgr.cpp # indra/newview/llappearancemgr.h # indra/newview/llavatarpropertiesprocessor.cpp # indra/newview/llavatarpropertiesprocessor.h # indra/newview/llbreadcrumbview.cpp # indra/newview/llbreadcrumbview.h # indra/newview/llbreastmotion.cpp # indra/newview/llbreastmotion.h # indra/newview/llconversationmodel.h # indra/newview/lldensityctrl.cpp # indra/newview/lldensityctrl.h # indra/newview/llface.inl # indra/newview/llfloatereditsky.cpp # indra/newview/llfloatereditwater.cpp # indra/newview/llfloateremojipicker.h # indra/newview/llfloaterimsessiontab.cpp # indra/newview/llfloaterprofiletexture.cpp # indra/newview/llfloaterprofiletexture.h # indra/newview/llgesturemgr.cpp # indra/newview/llgesturemgr.h # indra/newview/llimpanel.cpp # indra/newview/llimpanel.h # indra/newview/llinventorybridge.cpp # indra/newview/llinventorybridge.h # indra/newview/llinventoryclipboard.cpp # indra/newview/llinventoryclipboard.h # indra/newview/llinventoryfunctions.cpp # indra/newview/llinventoryfunctions.h # indra/newview/llinventorygallery.cpp # indra/newview/lllistbrowser.cpp # indra/newview/lllistbrowser.h # indra/newview/llpanelobjectinventory.cpp # indra/newview/llpanelprofile.cpp # indra/newview/llpanelprofile.h # indra/newview/llpreviewgesture.cpp # indra/newview/llsavedsettingsglue.cpp # indra/newview/llsavedsettingsglue.h # indra/newview/lltooldraganddrop.cpp # indra/newview/llurllineeditorctrl.cpp # indra/newview/llvectorperfoptions.cpp # indra/newview/llvectorperfoptions.h # indra/newview/llviewerparceloverlay.cpp # indra/newview/llviewertexlayer.cpp # indra/newview/llviewertexturelist.cpp # indra/newview/macmain.h # indra/test/test.cpp
Diffstat (limited to 'indra/llcommon/llbase32.cpp')
-rw-r--r--indra/llcommon/llbase32.cpp50
1 files changed, 25 insertions, 25 deletions
diff --git a/indra/llcommon/llbase32.cpp b/indra/llcommon/llbase32.cpp
index 349567c90b..979114fe86 100644
--- a/indra/llcommon/llbase32.cpp
+++ b/indra/llcommon/llbase32.cpp
@@ -1,4 +1,4 @@
-/**
+/**
* @file llbase32.cpp
* @brief base32 encoding that returns a std::string
* @author James Cook
@@ -10,21 +10,21 @@
* $LicenseInfo:firstyear=2007&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2010, Linden Research, Inc.
- *
+ *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
- *
+ *
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
+ *
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -118,9 +118,9 @@ base32_encode(char *dst, size_t size, const void *data, size_t len)
| 6 | 1 0 7 6 5 | 3-4 |
| 7 | 4 3 2 1 0 | 4 |
+-------+-----------+--------+
-
+
*/
-
+
s[0] = (x[0] >> 3);
s[1] = ((x[0] & 0x07) << 2) | (x[1] >> 6);
s[2] = (x[1] >> 1) & 0x1f;
@@ -167,12 +167,12 @@ base32_decode(char *dst, size_t size, const void *data, size_t len)
if (0 == base32_map[0]) {
for (i = 0; i < LL_ARRAY_SIZE(base32_map); i++) {
const char *x;
-
+
x = memchr(base32_alphabet, ascii_toupper(i), sizeof base32_alphabet);
base32_map[i] = x ? (x - base32_alphabet) : (unsigned char) -1;
}
}
-
+
for (i = 0; i < len && max_pad > 0; i++) {
unsigned char c;
char s[8];
@@ -219,20 +219,20 @@ base32_decode(char *dst, size_t size, const void *data, size_t len)
// static
std::string LLBase32::encode(const U8* input, size_t input_size)
{
- std::string output;
- if (input)
- {
- // Each 5 byte chunk of input is represented by an
- // 8 byte chunk of output.
- size_t input_chunks = (input_size + 4) / 5;
- size_t output_size = input_chunks * 8;
-
- output.resize(output_size);
-
- size_t encoded = base32_encode(&output[0], output_size, input, input_size);
-
- LL_INFOS() << "encoded " << encoded << " into buffer of size "
- << output_size << LL_ENDL;
- }
- return output;
+ std::string output;
+ if (input)
+ {
+ // Each 5 byte chunk of input is represented by an
+ // 8 byte chunk of output.
+ size_t input_chunks = (input_size + 4) / 5;
+ size_t output_size = input_chunks * 8;
+
+ output.resize(output_size);
+
+ size_t encoded = base32_encode(&output[0], output_size, input, input_size);
+
+ LL_INFOS() << "encoded " << encoded << " into buffer of size "
+ << output_size << LL_ENDL;
+ }
+ return output;
}