From cfaeb875f884c85d03b24d7e649cf42fa638b974 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Tue, 28 Dec 2021 12:31:47 -0500 Subject: [PATCH] HashEncode64 improvements --- IDEHelper/Compiler/BfResolvedTypeUtils.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/IDEHelper/Compiler/BfResolvedTypeUtils.cpp b/IDEHelper/Compiler/BfResolvedTypeUtils.cpp index 2512e290..dff9a65e 100644 --- a/IDEHelper/Compiler/BfResolvedTypeUtils.cpp +++ b/IDEHelper/Compiler/BfResolvedTypeUtils.cpp @@ -4676,13 +4676,14 @@ String BfTypeUtils::HashEncode64(uint64 val) outStr.Append('_'); } } - - for (int i = 0; i < 10; i++) + + while (val > 0) { - int charIdx = (int)((val >> (i * 6)) & 0x3F) - 1; - if (charIdx != -1) - outStr.Append(cHash64bToChar[charIdx]); + int charIdx = val % 0x3F; + val /= 0x3F; + outStr.Append(cHash64bToChar[charIdx]); } + return outStr; }