From a403163e98fd1c05ff7867d3bcbbad74195913e9 Mon Sep 17 00:00:00 2001 From: "Remi GASCOU (Podalirius)" <79218792+p0dalirius@users.noreply.github.com> Date: Mon, 1 Jun 2026 22:14:49 +0200 Subject: [PATCH] Remove unused MultiSplit utility and dead sddl/utils package (#84) --- sddl/utils/utils.go | 41 -------------------------- sddl/utils/utils_test.go | 63 ---------------------------------------- 2 files changed, 104 deletions(-) delete mode 100644 sddl/utils/utils.go delete mode 100644 sddl/utils/utils_test.go diff --git a/sddl/utils/utils.go b/sddl/utils/utils.go deleted file mode 100644 index 037fdd5..0000000 --- a/sddl/utils/utils.go +++ /dev/null @@ -1,41 +0,0 @@ -package utils - -import "strings" - -// MultiSplit splits a string on multiple delimiters. -// It takes a string and a slice of delimiters, and returns a slice of strings split on any of the delimiters. -// -// Parameters: -// - s (string): The string to split -// - delims []string: Slice of delimiter strings to split on -// -// Returns: -// - []string: Slice containing the split string parts -func MultiSplit(s string, delims []string) []string { - if len(delims) == 0 { - return []string{s} - } - - // Start with first delimiter - result := []string{} - parts := []string{s} - - // Split on each delimiter in sequence - for _, delim := range delims { - newParts := []string{} - for _, p := range parts { - splitParts := strings.Split(p, delim) - newParts = append(newParts, splitParts...) - } - parts = newParts - } - - // Remove empty strings and add non-empty parts to result - for _, p := range parts { - if p != "" { - result = append(result, p) - } - } - - return result -} diff --git a/sddl/utils/utils_test.go b/sddl/utils/utils_test.go deleted file mode 100644 index 1f29fa7..0000000 --- a/sddl/utils/utils_test.go +++ /dev/null @@ -1,63 +0,0 @@ -package utils_test - -import ( - "reflect" - "testing" - - "github.com/TheManticoreProject/winacl/sddl/utils" -) - -func TestMultiSplit(t *testing.T) { - tests := []struct { - name string - input string - delims []string - expected []string - }{ - { - name: "Single delimiter", - input: "a,b,c", - delims: []string{","}, - expected: []string{"a", "b", "c"}, - }, - { - name: "Multiple delimiters", - input: "a,b;c:d", - delims: []string{",", ";", ":"}, - expected: []string{"a", "b", "c", "d"}, - }, - { - name: "Empty delimiters", - input: "abc", - delims: []string{}, - expected: []string{"abc"}, - }, - { - name: "Empty input string", - input: "", - delims: []string{",", ";"}, - expected: []string{}, - }, - { - name: "Input with consecutive delimiters", - input: "a,,b;;c", - delims: []string{",", ";"}, - expected: []string{"a", "b", "c"}, - }, - { - name: "Complex delimiters", - input: "key=value|name:john;age-25", - delims: []string{"=", "|", ":", ";", "-"}, - expected: []string{"key", "value", "name", "john", "age", "25"}, - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - result := utils.MultiSplit(tt.input, tt.delims) - if !reflect.DeepEqual(result, tt.expected) { - t.Errorf("MultiSplit() = %v, want %v", result, tt.expected) - } - }) - } -}