Fix trailing escaped space
This commit is contained in:
parent
cb591f86e4
commit
3fde6f6806
|
|
@ -115,6 +115,7 @@ module Gitlab
|
|||
when '0'..'9', 'a'..'f' then
|
||||
state = :value_normal_escape_hex
|
||||
hex_buffer = char
|
||||
when ' ' then state = :value_normal_escape_space; value << char
|
||||
else state = :value_normal; value << char
|
||||
end
|
||||
when :value_normal_escape_hex then
|
||||
|
|
@ -124,6 +125,16 @@ module Gitlab
|
|||
value << "#{hex_buffer}#{char}".to_i(16).chr
|
||||
else raise "DN badly formed"
|
||||
end
|
||||
when :value_normal_escape_space then
|
||||
case char
|
||||
when '\\' then state = :value_normal_escape
|
||||
when ',' then
|
||||
state = :key
|
||||
yield key.string.strip, value.string # Don't strip trailing escaped space!
|
||||
key = StringIO.new
|
||||
value = StringIO.new;
|
||||
else value << char
|
||||
end
|
||||
when :value_quoted then
|
||||
case char
|
||||
when '\\' then state = :value_quoted_escape
|
||||
|
|
|
|||
Loading…
Reference in New Issue