@@ -90,7 +90,8 @@ func ParseDN(str string) (*DN, error) {
90
90
91
91
for i := 0 ; i < len (str ); i ++ {
92
92
char := str [i ]
93
- if escaping {
93
+ switch {
94
+ case escaping :
94
95
unescapedTrailingSpaces = 0
95
96
escaping = false
96
97
switch char {
@@ -112,10 +113,10 @@ func ParseDN(str string) (*DN, error) {
112
113
}
113
114
buffer .WriteByte (dst [0 ])
114
115
i ++
115
- } else if char == '\\' {
116
+ case char == '\\' :
116
117
unescapedTrailingSpaces = 0
117
118
escaping = true
118
- } else if char == '=' {
119
+ case char == '=' :
119
120
attribute .Type = stringFromBuffer ()
120
121
// Special case: If the first character in the value is # the
121
122
// following data is BER encoded so we can just fast forward
@@ -140,7 +141,7 @@ func ParseDN(str string) (*DN, error) {
140
141
buffer .WriteString (packet .Data .String ())
141
142
i += len (data ) - 1
142
143
}
143
- } else if char == ',' || char == '+' {
144
+ case char == ',' || char == '+' :
144
145
// We're done with this RDN or value, push it
145
146
if len (attribute .Type ) == 0 {
146
147
return nil , errors .New ("incomplete type, value pair" )
@@ -153,10 +154,10 @@ func ParseDN(str string) (*DN, error) {
153
154
rdn = new (RelativeDN )
154
155
rdn .Attributes = make ([]* AttributeTypeAndValue , 0 )
155
156
}
156
- } else if char == ' ' && buffer .Len () == 0 {
157
+ case char == ' ' && buffer .Len () == 0 :
157
158
// ignore unescaped leading spaces
158
159
continue
159
- } else {
160
+ default :
160
161
if char == ' ' {
161
162
// Track unescaped spaces in case they are trailing and we need to remove them
162
163
unescapedTrailingSpaces ++
0 commit comments