Skip to content

Commit

Permalink
rename some funcs and vars on char classes
Browse files Browse the repository at this point in the history
  • Loading branch information
ilius committed Mar 17, 2024
1 parent 3d60ec1 commit 461a234
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 21 deletions.
14 changes: 7 additions & 7 deletions lib/charclass.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,16 @@ type charClassGenerator struct {
}

func (g *charClassGenerator) Generate(s *State) error {
for _, charset := range g.charClasses {
if len(charset) == 0 {
for _, chars := range g.charClasses {
if len(chars) == 0 {
continue
}
ibig, err := rand.Int(rand.Reader, big.NewInt(int64(len(charset))))
ibig, err := rand.Int(rand.Reader, big.NewInt(int64(len(chars))))
if err != nil {
panic(err)
}
i := int(ibig.Int64())
s.output = append(s.output, charset[i])
s.output = append(s.output, chars[i])
}
entropy, err := g.Entropy(s)
if err != nil {
Expand All @@ -36,11 +36,11 @@ func (g *charClassGenerator) Entropy(s *State) (float64, error) {
return *g.entropy, nil
}
entropy := 0.0
for _, charset := range g.charClasses {
if len(charset) == 0 {
for _, chars := range g.charClasses {
if len(chars) == 0 {
continue
}
entropy += math.Log2(float64(len(charset)))
entropy += math.Log2(float64(len(chars)))
}
g.entropy = &entropy
return entropy, nil
Expand Down
4 changes: 2 additions & 2 deletions lib/lex.go
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,9 @@ func lexBackslash(s *State) (LexType, error) {
}
return lexRootUnicodeWide, nil
case 'd':
return processRange(s, []rune("0123456789"))
return processCharClass(s, []rune("0123456789"))
case 'w':
return processRange(s, wordChars)
return processCharClass(s, wordChars)
}
err := s.addOutputOne(backslashEscape(c))
if err != nil {
Expand Down
14 changes: 7 additions & 7 deletions lib/lex_charclass.go
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
package passgen

func processRange(s *State, charset []rune) (LexType, error) {
func processCharClass(s *State, chars []rune) (LexType, error) {
reverse := s.rangeReverse
s.openBracket = false
s.rangeReverse = false
charset = removeDuplicateRunes(charset)
chars = removeDuplicateRunes(chars)
if reverse {
charset = excludeCharsASCII(charset)
chars = excludeCharsASCII(chars)
}
gen := &charClassGenerator{
charClasses: [][]rune{charset},
charClasses: [][]rune{chars},
}
err := gen.Generate(s)
if err != nil {
Expand Down Expand Up @@ -42,7 +42,7 @@ func lexRange(s *State) (LexType, error) {
return lexRange, nil
}
case ']':
return processRange(s, s.buffer)
return processCharClass(s, s.buffer)
}
s.buffer = append(s.buffer, c)
return lexRange, nil
Expand All @@ -60,12 +60,12 @@ func lexRangeColon(s *State) (LexType, error) {
switch c {
case ':':
name := string(nameRunes)
charset, ok := charClasses[name]
chars, ok := charClasses[name]
if !ok {
s.errorMarkLen = len(name) + 2
return nil, s.errorValue("invalid character class %#v", name)
}
s.buffer = append(s.buffer, charset...)
s.buffer = append(s.buffer, chars...)
return lexRange, nil
case ']':
s.errorMarkLen = len(nameRunes) + 2
Expand Down
10 changes: 5 additions & 5 deletions lib/utils.go
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
package passgen

func removeDuplicateRunes(list []rune) []rune {
func removeDuplicateRunes(chars []rune) []rune {
set := map[rune]bool{}
newlist := make([]rune, 0, len(list))
for _, c := range list {
newChars := make([]rune, 0, len(chars))
for _, c := range chars {
if set[c] {
continue
}
set[c] = true
newlist = append(newlist, c)
newChars = append(newChars, c)
}
return newlist
return newChars
}

func byteRange(start uint, end uint) []rune {
Expand Down

0 comments on commit 461a234

Please sign in to comment.