summaryrefslogtreecommitdiff
path: root/lib/ffi_yajl/encoder.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ffi_yajl/encoder.rb')
-rw-r--r--lib/ffi_yajl/encoder.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/ffi_yajl/encoder.rb b/lib/ffi_yajl/encoder.rb
index 58b817a..18ef701 100644
--- a/lib/ffi_yajl/encoder.rb
+++ b/lib/ffi_yajl/encoder.rb
@@ -8,7 +8,7 @@ module FFI_Yajl
# initialization that we can do in pure ruby
yajl_gen_opts = {}
- yajl_gen_opts[:yajl_gen_validate_utf8] = true
+ yajl_gen_opts[:yajl_gen_validate_utf8] = @opts[:validate_utf8] == false ? false : true
yajl_gen_opts[:yajl_gen_beautify] = false
yajl_gen_opts[:yajl_gen_indent_string] = " "
@@ -46,6 +46,8 @@ module FFI_Yajl
raise FFI_Yajl::EncodeError, "Invalid number: cannot encode Infinity, -Infinity, or NaN"
when 6 # yajl_gen_no_buf
raise FFI_Yajl::EncodeError, "YAJL internal error: yajl_gen_get_buf was called, but a print callback was specified, so no internal buffer is available"
+ when 7 # yajl_gen_invalid_string
+ raise FFI_Yajl::EncodeError, "Invalid UTF-8 string: cannot encode to UTF-8"
else
raise FFI_Yajl::EncodeError, "Unknown YAJL Error (#{status}), please report this as a bug"
end