codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#include <ruby.h> #include <ruby/encoding.h> #include <QByteArray> #include <QDataStream> #include <QString> #include <QDebug> VALUE QuasselTypes; VALUE unserialize(VALUE self, VALUE string); extern "C" { void Init_QuasselTypes(); } void Init_QuasselTypes() { QuasselTypes = rb_define_module("QuasselTypes"); rb_define_singleton_method(QuasselTypes, "unserialize", unserialize, 1); } VALUE unserialize(VALUE self, VALUE string) { Check_Type(string, T_STRING); QByteArray byte_array(RSTRING_PTR(string)->ptr); QDataStream data_stream(byte_array); QVariant variant; data_stream >> variant; QString output; QDebug debug(output); debug << variant; VALUE result = rb_str_new2(output.toUtf8().data); rb_enc_associate_index(string, rb_enc_find_index("UTF-8")); return result; }
Private
[
?
]
Run code
Submit