diff options
| author | b5f0d6c3 <[email protected]> | 2022-05-02 16:15:24 +0800 |
|---|---|---|
| committer | b5f0d6c3 <[email protected]> | 2022-05-02 16:15:24 +0800 |
| commit | 93930ab80aff6a42773d7e944d7ad8a8365386d9 (patch) | |
| tree | 5f461050afd8bdd84d4e14d7b8bbf465f4dded59 /mkvlib/utils.go | |
| parent | 655b7a3fa5c6fe5eb9e65a0768266d1c58e8f512 (diff) | |
update mkvlib:fix bug
Diffstat (limited to 'mkvlib/utils.go')
| -rw-r--r-- | mkvlib/utils.go | 36 |
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) +} |
