aboutsummaryrefslogtreecommitdiff
path: root/core/encoding
diff options
context:
space:
mode:
authorZoltán Kéri <z@zolk3ri.name>2024-12-31 23:47:33 +0100
committerZoltán Kéri <z@zolk3ri.name>2024-12-31 23:47:33 +0100
commitfe88c22b1fa3b5090ae74dc358896ef784446469 (patch)
tree0f8c8e5a528cde68cb2a9e937eae8bfe728cd0cc /core/encoding
parentd6f4412dc33bf21607fe97ebfcbd2ba2c81368f1 (diff)
encoding/base32: Fix RFC 4648 references and add RFC reference URL
Fix incorrect RFC 4648 section references: - Add RFC URL reference at package level - Update Error enum documentation to reference correct sections: - Invalid_Character: Section 3.3 (non-alphabet characters) - Invalid_Length: Section 6 (base32 block size requirements) - Malformed_Input: Section 3.2 (padding) - Fix test file section references to match correct sections This ensures all RFC references are accurate and adds a link to the source RFC for reference.
Diffstat (limited to 'core/encoding')
-rw-r--r--core/encoding/base32/base32.odin7
-rw-r--r--core/encoding/base32/base32_test.odin6
2 files changed, 9 insertions, 4 deletions
diff --git a/core/encoding/base32/base32.odin b/core/encoding/base32/base32.odin
index b6af279ec..0b8ec95c4 100644
--- a/core/encoding/base32/base32.odin
+++ b/core/encoding/base32/base32.odin
@@ -1,3 +1,5 @@
+// Base32 encoding/decoding implementation as specified in RFC 4648.
+// [[ More; https://www.rfc-editor.org/rfc/rfc4648.html ]]
package encoding_base32
// @note(zh): Encoding utility for Base32
@@ -8,7 +10,10 @@ package encoding_base32
// truncate it from the encoded output.
// Error represents errors that can occur during base32 decoding operations.
-// See RFC 4648 sections 3.2, 4 and 6.
+// As per RFC 4648:
+// - Section 3.3: Invalid character handling
+// - Section 3.2: Padding requirements
+// - Section 6: Base32 encoding specifics (including block size requirements)
Error :: enum {
None,
Invalid_Character, // Input contains characters outside the specified alphabet
diff --git a/core/encoding/base32/base32_test.odin b/core/encoding/base32/base32_test.odin
index b032aa122..ea41ae36f 100644
--- a/core/encoding/base32/base32_test.odin
+++ b/core/encoding/base32/base32_test.odin
@@ -57,7 +57,7 @@ test_base32_encode :: proc(t: ^testing.T) {
@(test)
test_base32_decode_invalid :: proc(t: ^testing.T) {
- // Section 3.2 - Alphabet check
+ // Section 3.3 - Non-alphabet characters
{
// Characters outside alphabet
input := "MZ1W6YTB" // '1' not in alphabet (A-Z, 2-7)
@@ -77,7 +77,7 @@ test_base32_decode_invalid :: proc(t: ^testing.T) {
testing.expect_value(t, err, Error.Invalid_Character)
}
- // Section 4 - Padding requirements
+ // Section 3.2 - Padding requirements
{
// Padding must only be at end
input := "MZ=Q===="
@@ -115,7 +115,7 @@ test_base32_decode_invalid :: proc(t: ^testing.T) {
testing.expect_value(t, err, Error.Malformed_Input)
}
- // Section 6 - Block size requirements
+ // Section 6 - Base32 block size requirements
{
// Single character (invalid block)
input := "M"