summaryrefslogtreecommitdiff
path: root/mkvlib/utils.go
diff options
context:
space:
mode:
authorb5f0d6c3 <[email protected]>2022-05-02 16:15:24 +0800
committerb5f0d6c3 <[email protected]>2022-05-02 16:15:24 +0800
commit93930ab80aff6a42773d7e944d7ad8a8365386d9 (patch)
tree5f461050afd8bdd84d4e14d7b8bbf465f4dded59 /mkvlib/utils.go
parent655b7a3fa5c6fe5eb9e65a0768266d1c58e8f512 (diff)
update mkvlib:fix bug
Diffstat (limited to 'mkvlib/utils.go')
-rw-r--r--mkvlib/utils.go36
1 files changed, 24 insertions, 12 deletions
diff --git a/mkvlib/utils.go b/mkvlib/utils.go
index 89ba1cd..e6c105c 100644
--- a/mkvlib/utils.go
+++ b/mkvlib/utils.go
@@ -161,18 +161,6 @@ func copyFileOrDir(src, dst string) error {
return copyFolder(src, dst)
}
-func randomStr(l int) string {
- str := "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- bytes := []byte(str)
- var result []byte
- lstr := len(str) - 1
- for i := 0; i < l; i++ {
- n := randomNumber(0, lstr)
- result = append(result, bytes[n])
- }
- return string(result)
-}
-
var r = rand.New(rand.NewSource(time.Now().UnixNano()))
func randomN(n int) int {
@@ -213,3 +201,27 @@ func stringDeduplication(str string) string {
}
return _s
}
+
+var mRandStrings = make(map[string]bool)
+
+func randomStr(l int) string {
+ for {
+ str := _randomStr(l)
+ if !mRandStrings[str] {
+ mRandStrings[str] = true
+ return str
+ }
+ }
+}
+
+func _randomStr(l int) string {
+ str := "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ bytes := []byte(str)
+ var result []byte
+ lstr := len(str) - 1
+ for i := 0; i < l; i++ {
+ n := randomNumber(0, lstr)
+ result = append(result, bytes[n])
+ }
+ return string(result)
+}