summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2014-08-23 15:36:30 -0700
committerLamont Granquist <lamont@scriptkiddie.org>2014-08-23 15:36:30 -0700
commita7793dfac85b52071f5c2bad54dc6f38ef2798d8 (patch)
tree220593145f12e97af338b291a73ce8408f38e8f4 /ext
parenta4305d7cf0449e34311fc6ebf00f57a1cb3f89b9 (diff)
downloadffi-yajl-a7793dfac85b52071f5c2bad54dc6f38ef2798d8.tar.gz
fix ruby 1.8.7 tests
Diffstat (limited to 'ext')
-rw-r--r--ext/ffi_yajl/ext/encoder/encoder.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/ext/ffi_yajl/ext/encoder/encoder.c b/ext/ffi_yajl/ext/encoder/encoder.c
index 371752b..0c917cb 100644
--- a/ext/ffi_yajl/ext/encoder/encoder.c
+++ b/ext/ffi_yajl/ext/encoder/encoder.c
@@ -251,7 +251,17 @@ static VALUE rb_cDate_ffi_yajl(VALUE self, VALUE rb_yajl_gen, VALUE state) {
}
static VALUE rb_cTime_ffi_yajl(VALUE self, VALUE rb_yajl_gen, VALUE state) {
- return object_to_s_ffi_yajl(self, rb_yajl_gen, state);
+ yajl_gen_status status;
+ ID sym_strftime = rb_intern("strftime");
+ VALUE str = rb_funcall(self, sym_strftime, 1, rb_str_new2("%Y-%m-%d %H:%M:%S %z"));
+ char *cptr = RSTRING_PTR(str);
+ int len = RSTRING_LEN(str);
+ struct yajl_gen_t *yajl_gen;
+ Data_Get_Struct(rb_yajl_gen, struct yajl_gen_t, yajl_gen);
+ CHECK_STATUS(
+ yajl_gen_string(yajl_gen, (unsigned char *)cptr, len)
+ );
+ return Qnil;
}
static VALUE rb_cDateTime_ffi_yajl(VALUE self, VALUE rb_yajl_gen, VALUE state) {