diff options
Diffstat (limited to 'lib/ffi_yajl/ffi/parser.rb')
-rw-r--r-- | lib/ffi_yajl/ffi/parser.rb | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/ffi_yajl/ffi/parser.rb b/lib/ffi_yajl/ffi/parser.rb index b97b2de..8e4dc07 100644 --- a/lib/ffi_yajl/ffi/parser.rb +++ b/lib/ffi_yajl/ffi/parser.rb @@ -30,6 +30,9 @@ module FFI_Yajl case stack.last when Hash raise FFI_Yajl::ParseError.new("internal error: missing key in parse") if key.nil? + if @opts[:unique_key_checking] && stack.last.has_key?(key) + raise FFI_Yajl::ParseError.new("repeated key: #{key}") + end stack.last[key] = val when Array stack.last.push(val) |