ext/rubypython_bridge/rtop.c in rubypython-0.2.1 vs ext/rubypython_bridge/rtop.c in rubypython-0.2.2

- old
+ new

@@ -1,7 +1,9 @@ #include "rtop.h" +extern VALUE cRubyPyObject; + PyObject* rtop_string(VALUE rString) { PyObject* pString; char *cString; char *cStringCopy; @@ -91,10 +93,11 @@ PyObject* pString; pString=PyString_FromString(rb_id2name(rSymbol)); return pString; } + PyObject* rtop_obj(VALUE rObj,int is_key) { PyObject *pObj; VALUE rInspect; switch(TYPE(rObj)) @@ -142,10 +145,17 @@ case T_SYMBOL: pObj=rtop_symbol(rObj); break; default: - rInspect=rb_inspect(rObj); - pObj=rtop_string(rInspect); + if(rb_obj_is_kind_of(rObj,cRubyPyObject)==Qtrue) + { + pObj=rp_obj_pobject(rObj); + } + else + { + rInspect=rb_inspect(rObj); + pObj=rtop_string(rInspect); + } } return pObj; } \ No newline at end of file