diff options
author | François Andriot <albator78@libertysurf.fr> | 2013-06-24 19:50:32 +0200 |
---|---|---|
committer | François Andriot <albator78@libertysurf.fr> | 2013-06-24 19:50:32 +0200 |
commit | b4359e8bf97799f83dc1ca62744db7cfcc81bc87 (patch) | |
tree | 3346872613490cc467c19e1645d0026c1221bce7 /redhat/kdebindings/kdebindings-3.5.13.1-fix_ftbfs_ruby19.patch | |
parent | 4cc71d79c5718d59078d06c497a56d7c05b41576 (diff) | |
download | tde-packaging-b4359e8bf97799f83dc1ca62744db7cfcc81bc87.tar.gz tde-packaging-b4359e8bf97799f83dc1ca62744db7cfcc81bc87.zip |
RPM Packaging: rename directories
Diffstat (limited to 'redhat/kdebindings/kdebindings-3.5.13.1-fix_ftbfs_ruby19.patch')
-rw-r--r-- | redhat/kdebindings/kdebindings-3.5.13.1-fix_ftbfs_ruby19.patch | 683 |
1 files changed, 0 insertions, 683 deletions
diff --git a/redhat/kdebindings/kdebindings-3.5.13.1-fix_ftbfs_ruby19.patch b/redhat/kdebindings/kdebindings-3.5.13.1-fix_ftbfs_ruby19.patch deleted file mode 100644 index aefdb6019..000000000 --- a/redhat/kdebindings/kdebindings-3.5.13.1-fix_ftbfs_ruby19.patch +++ /dev/null @@ -1,683 +0,0 @@ -commit ef7a60860d18e9be343b6fa5fe8d76fd080cead0 -Author: Timothy Pearson <kb9vqf@pearsoncomputing.net> -Date: 1347385969 -0500 - - Fix FTBS on ruby 1.9.x - Thanks to Darrell Anderson for the majority of the patch! - -diff --git a/korundum/bin/Makefile.am b/korundum/bin/Makefile.am -index f8c0942..4c3e637 100644 ---- a/korundum/bin/Makefile.am -+++ b/korundum/bin/Makefile.am -@@ -1,4 +1,4 @@ --INCLUDES = $(all_includes) -I$(RUBY_ARCHDIR) -+INCLUDES = $(all_includes) -I$(RUBY_ARCHDIR) $(RUBY_CFLAGS) - - bin_PROGRAMS = krubyinit - krubyinit_LDFLAGS = -module $(all_libraries) -version-info 0:0:0 -L$(top_srcdir)/smoke/kde/ -L$(RUBY_LIBDIR) -lkmdi -lknewstuff -diff --git a/korundum/bin/krubyinit.cpp b/korundum/bin/krubyinit.cpp -index 7ed0b0a..f53f830 100644 ---- a/korundum/bin/krubyinit.cpp -+++ b/korundum/bin/krubyinit.cpp -@@ -1,5 +1,13 @@ - #include <ruby.h> - -+#include "config.h" -+ -+#ifndef HAVE_RUBY_1_9 -+#define RARRAY_LEN(x) (RARRAY(x)->len) -+#define RSTRING_LEN(x) (RSTRING(x)->len) -+#define rb_str_catf_1 rb_str_catf -+#endif -+ - /*************************************************************************** - krubyinit - makes use of kdeinit_wrapper possible for ruby programs - ------------------- -@@ -24,6 +32,6 @@ static const char* script_name = "krubyinit_app"; - int main(int argc, char **argv) { - ruby_init(); - ruby_script((char*)script_name); -- ruby_options(argc, argv); -- ruby_run(); -+ void* node = ruby_options(argc, argv); -+ ruby_run_node(node); - } -diff --git a/korundum/rubylib/korundum/Korundum.cpp b/korundum/rubylib/korundum/Korundum.cpp -index cc3ce2a..124e2a1 100644 ---- a/korundum/rubylib/korundum/Korundum.cpp -+++ b/korundum/rubylib/korundum/Korundum.cpp -@@ -40,6 +40,14 @@ - #include <smokeruby.h> - #include <smoke.h> - -+#include "config.h" -+ -+#ifndef HAVE_RUBY_1_9 -+#define RARRAY_LEN(x) (RARRAY(x)->len) -+#define RSTRING_LEN(x) (RSTRING(x)->len) -+#define rb_str_catf_1 rb_str_catf -+#endif -+ - extern "C" { - extern VALUE qt_internal_module; - extern VALUE kconfigskeleton_class; -@@ -805,7 +813,7 @@ public: - // isn't in the Smoke runtime - TQValueList<DCOPRef> windowList; - -- for (long i = 0; i < RARRAY(result)->len; i++) { -+ for (long i = 0; i < RARRAY_LEN(result); i++) { - VALUE item = rb_ary_entry(result, i); - smokeruby_object *o = value_obj_info(item); - if( !o || !o->ptr) -@@ -822,7 +830,7 @@ public: - // And special case this type too - TQValueList<TQCString> propertyList; - -- for (long i = 0; i < RARRAY(result)->len; i++) { -+ for (long i = 0; i < RARRAY_LEN(result); i++) { - VALUE item = rb_ary_entry(result, i); - propertyList.append(TQCString(StringValuePtr(item))); - } -@@ -836,7 +844,7 @@ public: - // Convert the ruby hash to an array of key/value arrays - VALUE temp = rb_funcall(result, rb_intern("to_a"), 0); - -- for (long i = 0; i < RARRAY(temp)->len; i++) { -+ for (long i = 0; i < RARRAY_LEN(temp); i++) { - VALUE action = rb_ary_entry(rb_ary_entry(temp, i), 0); - VALUE item = rb_ary_entry(rb_ary_entry(temp, i), 1); - -@@ -926,7 +934,7 @@ k_dcop_signal(int argc, VALUE * argv, VALUE self) - { - VALUE dcopObject = rb_funcall(kde_module, rb_intern("createDCOPObject"), 1, self); - -- TQString signalname(rb_id2name(rb_frame_last_func())); -+ TQString signalname(rb_id2name(rb_frame_this_func())); - VALUE args = getdcopinfo(self, signalname); - - if(args == Qnil) return Qfalse; -@@ -1020,7 +1028,7 @@ new_kde(int argc, VALUE * argv, VALUE klass) - - if (rb_funcall(kde_module, rb_intern("hasDCOPSignals"), 1, klass) == Qtrue) { - VALUE signalNames = rb_funcall(kde_module, rb_intern("getDCOPSignalNames"), 1, klass); -- for (long index = 0; index < RARRAY(signalNames)->len; index++) { -+ for (long index = 0; index < RARRAY_LEN(signalNames); index++) { - VALUE signal = rb_ary_entry(signalNames, index); - rb_define_method(klass, StringValuePtr(signal), (VALUE (*) (...)) k_dcop_signal, -1); - } -@@ -1088,9 +1096,9 @@ konsole_part_startprogram(VALUE self, VALUE value_program, VALUE value_args) - TQStrList *args = new TQStrList; - - if (value_args != Qnil) { -- for (long i = 0; i < RARRAY(value_args)->len; i++) { -+ for (long i = 0; i < RARRAY_LEN(value_args); i++) { - VALUE item = rb_ary_entry(value_args, i); -- args->append(TQString::fromLatin1(StringValuePtr(item), RSTRING(item)->len)); -+ args->append(TQString::fromLatin1(StringValuePtr(item), RSTRING_LEN(item))); - } - } - -diff --git a/korundum/rubylib/korundum/kdehandlers.cpp b/korundum/rubylib/korundum/kdehandlers.cpp -index 70932d5..6961301 100644 ---- a/korundum/rubylib/korundum/kdehandlers.cpp -+++ b/korundum/rubylib/korundum/kdehandlers.cpp -@@ -52,6 +52,14 @@ - #include <dom/dom_string.h> - #include <dom/html_element.h> - -+#include "config.h" -+ -+#ifndef HAVE_RUBY_1_9 -+#define RARRAY_LEN(x) (RARRAY(x)->len) -+#define RSTRING_LEN(x) (RSTRING(x)->len) -+#define rb_str_catf_1 rb_str_catf -+#endif -+ - extern "C" { - extern VALUE set_obj_info(const char * className, smokeruby_object * o); - }; -@@ -122,7 +130,7 @@ void marshall_TQCStringList(Marshall *m) { - break; - } - -- int count = RARRAY(list)->len; -+ int count = RARRAY_LEN(list); - QCStringList *stringlist = new QCStringList; - - for(long i = 0; i < count; i++) { -@@ -131,7 +139,7 @@ void marshall_TQCStringList(Marshall *m) { - stringlist->append(TQCString()); - continue; - } -- stringlist->append(TQCString(StringValuePtr(item), RSTRING(item)->len + 1)); -+ stringlist->append(TQCString(StringValuePtr(item), RSTRING_LEN(item) + 1)); - } - - m->item().s_voidp = stringlist; -@@ -184,19 +192,19 @@ void marshall_KCmdLineOptions(Marshall *m) { - VALUE optionslist = *(m->var()); - if (optionslist == Qnil - || TYPE(optionslist) != T_ARRAY -- || RARRAY(optionslist)->len == 0 ) -+ || RARRAY_LEN(optionslist) == 0 ) - { - m->item().s_voidp = 0; - break; - } - - // Allocate 'length + 1' entries, to include an all NULLs last entry -- KCmdLineOptions *cmdLineOptions = (KCmdLineOptions *) calloc( RARRAY(optionslist)->len + 1, -+ KCmdLineOptions *cmdLineOptions = (KCmdLineOptions *) calloc( RARRAY_LEN(optionslist) + 1, - sizeof(struct KCmdLineOptions) ); - - VALUE options; - long i; -- for(i = 0; i < RARRAY(optionslist)->len; i++) { -+ for(i = 0; i < RARRAY_LEN(optionslist); i++) { - options = rb_ary_entry(optionslist, i); - VALUE temp = rb_ary_entry(options, 0); - cmdLineOptions[i].name = StringValuePtr(temp); -@@ -244,7 +252,7 @@ void marshall_WIdList(Marshall *m) { - m->item().s_voidp = 0; - break; - } -- int count = RARRAY(list)->len; -+ int count = RARRAY_LEN(list); - TQValueList<WId> *valuelist = new TQValueList<WId>; - long i; - for(i = 0; i < count; i++) { -@@ -815,7 +823,7 @@ void marshall_KURLList(Marshall *m) { - m->item().s_voidp = 0; - break; - } -- int count = RARRAY(list)->len; -+ int count = RARRAY_LEN(list); - KURL::List *kurllist = new KURL::List; - long i; - for(i = 0; i < count; i++) { -@@ -916,11 +924,11 @@ void marshall_UDSEntryList(Marshall *m) { - - KIO::UDSEntryList *cpplist = new KIO::UDSEntryList; - -- for(long i = 0; i < RARRAY(list)->len; i++) { -+ for(long i = 0; i < RARRAY_LEN(list); i++) { - VALUE item = rb_ary_entry(list, i); - KIO::UDSEntry *cppsublist = new KIO::UDSEntry; - -- for (int j = 0; j < RARRAY(item)->len; j++) { -+ for (int j = 0; j < RARRAY_LEN(item); j++) { - VALUE subitem = rb_ary_entry(item, j); - smokeruby_object *o = value_obj_info(subitem); - if(!o || !o->ptr) -@@ -998,7 +1006,7 @@ void marshall_ItemList(Marshall *m) { - m->item().s_voidp = 0; - break; - } -- int count = RARRAY(list)->len; -+ int count = RARRAY_LEN(list); - ItemList *cpplist = new ItemList; - long i; - for(i = 0; i < count; i++) { -@@ -1103,7 +1111,7 @@ void marshall_ValueItemList(Marshall *m) { - m->item().s_voidp = 0; - break; - } -- int count = RARRAY(list)->len; -+ int count = RARRAY_LEN(list); - ItemList *cpplist = new ItemList; - long i; - for(i = 0; i < count; i++) { -@@ -1211,7 +1219,7 @@ void marshall_Map(Marshall *m) { - // Convert the ruby hash to an array of key/value arrays - VALUE temp = rb_funcall(hash, rb_intern("to_a"), 0); - -- for (long i = 0; i < RARRAY(temp)->len; i++) { -+ for (long i = 0; i < RARRAY_LEN(temp); i++) { - VALUE key = rb_ary_entry(rb_ary_entry(temp, i), 0); - VALUE value = rb_ary_entry(rb_ary_entry(temp, i), 1); - -@@ -1316,7 +1324,7 @@ void marshall_TQMapTQCStringDCOPRef(Marshall *m) { - // Convert the ruby hash to an array of key/value arrays - VALUE temp = rb_funcall(hash, rb_intern("to_a"), 0); - -- for (long i = 0; i < RARRAY(temp)->len; i++) { -+ for (long i = 0; i < RARRAY_LEN(temp); i++) { - VALUE key = rb_ary_entry(rb_ary_entry(temp, i), 0); - VALUE value = rb_ary_entry(rb_ary_entry(temp, i), 1); - -diff --git a/qtruby/bin/Makefile.am b/qtruby/bin/Makefile.am -index e53bd0f..0e1dbdb 100644 ---- a/qtruby/bin/Makefile.am -+++ b/qtruby/bin/Makefile.am -@@ -1,4 +1,4 @@ --INCLUDES = $(all_includes) -I$(RUBY_ARCHDIR) -+INCLUDES = $(all_includes) -I$(RUBY_ARCHDIR) $(RUBY_CFLAGS) - - bin_PROGRAMS = qtrubyinit - qtrubyinit_LDFLAGS = -module $(all_libraries) -version-info 0:0:0 -L$(top_srcdir)/smoke/qt/ -L$(RUBY_LIBDIR) -diff --git a/qtruby/bin/qtrubyinit.cpp b/qtruby/bin/qtrubyinit.cpp -index c4e8024..65c00c4 100644 ---- a/qtruby/bin/qtrubyinit.cpp -+++ b/qtruby/bin/qtrubyinit.cpp -@@ -1,5 +1,13 @@ - #include <ruby.h> - -+#include "config.h" -+ -+#ifndef HAVE_RUBY_1_9 -+#define RARRAY_LEN(x) (RARRAY(x)->len) -+#define RSTRING_LEN(x) (RSTRING(x)->len) -+#define rb_str_catf_1 rb_str_catf -+#endif -+ - /*************************************************************************** - qrubyinit - makes use of kdeinit_wrapper possible for ruby programs - ------------------- -@@ -24,6 +32,6 @@ static const char* script_name = "qrubyinit_app"; - int main(int argc, char **argv) { - ruby_init(); - ruby_script((char*)script_name); -- ruby_options(argc, argv); -- ruby_run(); -+ void* node = ruby_options(argc, argv); -+ ruby_run_node(node); - } -diff --git a/qtruby/rubylib/designer/uilib/Makefile.am b/qtruby/rubylib/designer/uilib/Makefile.am -index 04ce1c8..9900635 100644 ---- a/qtruby/rubylib/designer/uilib/Makefile.am -+++ b/qtruby/rubylib/designer/uilib/Makefile.am -@@ -1,7 +1,7 @@ --INCLUDES = -I$(top_srcdir)/smoke -I$(top_srcdir)/qtruby/rubylib/qtruby $(all_includes) -I$(RUBY_ARCHDIR) -+INCLUDES = -I$(top_srcdir)/smoke -I$(top_srcdir)/qtruby/rubylib/qtruby $(all_includes) -I$(RUBY_ARCHDIR) $(RUBY_CFLAGS) - - rubylibdir = $(RUBY_ARCHDIR) - rubylib_LTLIBRARIES = qui.la - qui_la_SOURCES = qui.cpp - qui_la_LDFLAGS = -module -export-dynamic $(all_libraries) -version-info 0:0:0 --qui_la_LIBADD = -lqui -\ No newline at end of file -+qui_la_LIBADD = -lqui -diff --git a/qtruby/rubylib/qtruby/Qt.cpp b/qtruby/rubylib/qtruby/Qt.cpp -index 3d71cfc..370ad6d 100644 ---- a/qtruby/rubylib/qtruby/Qt.cpp -+++ b/qtruby/rubylib/qtruby/Qt.cpp -@@ -60,6 +60,14 @@ - #include "smokeruby.h" - #include "smoke.h" - -+#include "config.h" -+ -+#ifndef HAVE_RUBY_1_9 -+#define RARRAY_LEN(x) (RARRAY(x)->len) -+#define RSTRING_LEN(x) (RSTRING(x)->len) -+#define rb_str_catf_1 rb_str_catf -+#endif -+ - // #define DEBUG - - #define QTRUBY_VERSION "1.0.13" -@@ -110,7 +118,7 @@ bool application_terminated = false; - }; - - #define logger logger_backend --void rb_str_catf(VALUE self, const char *format, ...) __attribute__ ((format (printf, 2, 3))); -+void rb_str_catf_1(VALUE self, const char *format, ...) __attribute__ ((format (printf, 2, 3))); - - static VALUE (*_new_kde)(int, VALUE *, VALUE) = 0; - static VALUE (*_kconfigskeletonitem_immutable)(VALUE) = 0; -@@ -820,7 +828,7 @@ public: - } - }; - --void rb_str_catf(VALUE self, const char *format, ...) -+void rb_str_catf_1(VALUE self, const char *format, ...) - { - va_list ap; - va_start(ap, format); -@@ -985,16 +993,16 @@ VALUE prettyPrintMethod(Smoke::Index id) - VALUE r = rb_str_new2(""); - Smoke::Method &meth = qt_Smoke->methods[id]; - const char *tname = qt_Smoke->types[meth.ret].name; -- if(meth.flags & Smoke::mf_static) rb_str_catf(r, "static "); -- rb_str_catf(r, "%s ", (tname ? tname:"void")); -- rb_str_catf(r, "%s::%s(", qt_Smoke->classes[meth.classId].className, qt_Smoke->methodNames[meth.name]); -+ if(meth.flags & Smoke::mf_static) rb_str_catf_1(r, "static "); -+ rb_str_catf_1(r, "%s ", (tname ? tname:"void")); -+ rb_str_catf_1(r, "%s::%s(", qt_Smoke->classes[meth.classId].className, qt_Smoke->methodNames[meth.name]); - for(int i = 0; i < meth.numArgs; i++) { -- if(i) rb_str_catf(r, ", "); -+ if(i) rb_str_catf_1(r, ", "); - tname = qt_Smoke->types[qt_Smoke->argumentList[meth.args+i]].name; -- rb_str_catf(r, "%s", (tname ? tname:"void")); -+ rb_str_catf_1(r, "%s", (tname ? tname:"void")); - } -- rb_str_catf(r, ")"); -- if(meth.flags & Smoke::mf_const) rb_str_catf(r, " const"); -+ rb_str_catf_1(r, ")"); -+ if(meth.flags & Smoke::mf_const) rb_str_catf_1(r, " const"); - return r; - } - -@@ -1177,7 +1185,7 @@ inspect_qobject(VALUE self) - // Start with #<Qt::HBoxLayout:0x30139030> from the original inspect() call - // Drop the closing '>' - VALUE inspect_str = rb_call_super(0, 0); -- rb_str_resize(inspect_str, RSTRING(inspect_str)->len - 1); -+ rb_str_resize(inspect_str, RSTRING_LEN(inspect_str) - 1); - - smokeruby_object * o = 0; - Data_Get_Struct(self, smokeruby_object, o); -@@ -1220,7 +1228,7 @@ pretty_print_qobject(VALUE self, VALUE pp) - // Start with #<Qt::HBoxLayout:0x30139030> - // Drop the closing '>' - VALUE inspect_str = rb_funcall(self, rb_intern("to_s"), 0, 0); -- rb_str_resize(inspect_str, RSTRING(inspect_str)->len - 1); -+ rb_str_resize(inspect_str, RSTRING_LEN(inspect_str) - 1); - rb_funcall(pp, rb_intern("text"), 1, inspect_str); - rb_funcall(pp, rb_intern("breakable"), 0); - -@@ -1236,7 +1244,7 @@ pretty_print_qobject(VALUE self, VALUE pp) - VALUE obj = getPointerObject(qobject->parent()); - if (obj != Qnil) { - VALUE parent_inspect_str = rb_funcall(obj, rb_intern("to_s"), 0, 0); -- rb_str_resize(parent_inspect_str, RSTRING(parent_inspect_str)->len - 1); -+ rb_str_resize(parent_inspect_str, RSTRING_LEN(parent_inspect_str) - 1); - parentInspectString = StringValuePtr(parent_inspect_str); - } else { - parentInspectString.sprintf("#<%s:0x0", qobject->parent()->className()); -@@ -1382,7 +1390,7 @@ static Smoke::Index new_qvariant_qmap = 0; - return *(c.var()); - } else if ( argc == 1 - && TYPE(argv[0]) == T_ARRAY -- && RARRAY(argv[0])->len > 0 -+ && RARRAY_LEN(argv[0]) > 0 - && TYPE(rb_ary_entry(argv[0], 0)) != T_STRING ) - { - _current_method = new_qvariant_qlist; -@@ -1741,7 +1749,7 @@ new_qapplication(int argc, VALUE * argv, VALUE klass) - VALUE * local_argv = (VALUE *) calloc(argc + 1, sizeof(VALUE)); - VALUE temp = rb_ary_dup(argv[0]); - rb_ary_unshift(temp, rb_gv_get("$0")); -- local_argv[0] = INT2NUM(RARRAY(temp)->len); -+ local_argv[0] = INT2NUM(RARRAY_LEN(temp)); - local_argv[1] = temp; - result = new_qt(2, local_argv, klass); - free(local_argv); -@@ -1772,7 +1780,7 @@ qapplication_argv(VALUE /*self*/) - VALUE - getmetainfo(VALUE self, int &offset, int &index) - { -- const char * signalname = rb_id2name(rb_frame_last_func()); -+ const char * signalname = rb_id2name(rb_frame_this_func()); - VALUE metaObject_value = rb_funcall(qt_internal_module, rb_intern("getMetaObject"), 1, self); - - smokeruby_object *ometa = value_obj_info(metaObject_value); -@@ -1862,7 +1870,7 @@ tqt_invoke(int /*argc*/, VALUE * argv, VALUE self) - // Now, I need to find out if this means me - int index; - char *slotname; -- bool isSignal = qstrcmp(rb_id2name(rb_frame_last_func()), "qt_emit") == 0; -+ bool isSignal = qstrcmp(rb_id2name(rb_frame_this_func()), "qt_emit") == 0; - VALUE mocArgs = getslotinfo(self, id, slotname, index, isSignal); - if(mocArgs == Qnil) { - // No ruby slot/signal found, assume the target is a C++ one -@@ -2009,7 +2017,7 @@ qbytearray_setRawData(VALUE self, VALUE data) - return Qnil; - } - TQByteArray * dataArray = (TQByteArray*) o->ptr; -- dataArray->setRawData(StringValuePtr(data), RSTRING(data)->len); -+ dataArray->setRawData(StringValuePtr(data), RSTRING_LEN(data)); - return self; - } - -@@ -2195,7 +2203,7 @@ make_QUMethod(VALUE /*self*/, VALUE name_value, VALUE params) - m->name = new char[strlen(name) + 1]; // this too - strcpy((char*)m->name, name); - m->parameters = 0; -- m->count = RARRAY(params)->len; -+ m->count = RARRAY_LEN(params); - - if (m->count > 0) { - m->parameters = new QUParameter[m->count]; -@@ -2213,7 +2221,7 @@ make_QUMethod(VALUE /*self*/, VALUE name_value, VALUE params) - static VALUE - make_QMetaData_tbl(VALUE /*self*/, VALUE list) - { -- long count = RARRAY(list)->len; -+ long count = RARRAY_LEN(list); - QMetaData *m = new QMetaData[count]; - - for (long i = 0; i < count; i++) { -@@ -2281,7 +2289,7 @@ add_metaobject_methods(VALUE self, VALUE klass) - static VALUE - add_signal_methods(VALUE self, VALUE klass, VALUE signalNames) - { -- for (long index = 0; index < RARRAY(signalNames)->len; index++) { -+ for (long index = 0; index < RARRAY_LEN(signalNames); index++) { - VALUE signal = rb_ary_entry(signalNames, index); - rb_define_method(klass, StringValuePtr(signal), (VALUE (*) (...)) qt_signal, -1); - } -@@ -2597,28 +2605,28 @@ dumpCandidates(VALUE /*self*/, VALUE rmeths) - { - VALUE errmsg = rb_str_new2(""); - if(rmeths != Qnil) { -- int count = RARRAY(rmeths)->len; -+ int count = RARRAY_LEN(rmeths); - for(int i = 0; i < count; i++) { -- rb_str_catf(errmsg, "\t"); -+ rb_str_catf_1(errmsg, "\t"); - int id = NUM2INT(rb_ary_entry(rmeths, i)); - Smoke::Method &meth = qt_Smoke->methods[id]; - const char *tname = qt_Smoke->types[meth.ret].name; - if(meth.flags & Smoke::mf_enum) { -- rb_str_catf(errmsg, "enum "); -- rb_str_catf(errmsg, "%s::%s", qt_Smoke->classes[meth.classId].className, qt_Smoke->methodNames[meth.name]); -- rb_str_catf(errmsg, "\n"); -+ rb_str_catf_1(errmsg, "enum "); -+ rb_str_catf_1(errmsg, "%s::%s", qt_Smoke->classes[meth.classId].className, qt_Smoke->methodNames[meth.name]); -+ rb_str_catf_1(errmsg, "\n"); - } else { - if(meth.flags & Smoke::mf_static) rb_str_catf(errmsg, "static "); -- rb_str_catf(errmsg, "%s ", (tname ? tname:"void")); -- rb_str_catf(errmsg, "%s::%s(", qt_Smoke->classes[meth.classId].className, qt_Smoke->methodNames[meth.name]); -+ rb_str_catf_1(errmsg, "%s ", (tname ? tname:"void")); -+ rb_str_catf_1(errmsg, "%s::%s(", qt_Smoke->classes[meth.classId].className, qt_Smoke->methodNames[meth.name]); - for(int i = 0; i < meth.numArgs; i++) { -- if(i) rb_str_catf(errmsg, ", "); -+ if(i) rb_str_catf_1(errmsg, ", "); - tname = qt_Smoke->types[qt_Smoke->argumentList[meth.args+i]].name; -- rb_str_catf(errmsg, "%s", (tname ? tname:"void")); -+ rb_str_catf_1(errmsg, "%s", (tname ? tname:"void")); - } -- rb_str_catf(errmsg, ")"); -- if(meth.flags & Smoke::mf_const) rb_str_catf(errmsg, " const"); -- rb_str_catf(errmsg, "\n"); -+ rb_str_catf_1(errmsg, ")"); -+ if(meth.flags & Smoke::mf_const) rb_str_catf_1(errmsg, " const"); -+ rb_str_catf_1(errmsg, "\n"); - } - } - } -diff --git a/qtruby/rubylib/qtruby/handlers.cpp b/qtruby/rubylib/qtruby/handlers.cpp -index 703c9d0..f3d0dda 100644 ---- a/qtruby/rubylib/qtruby/handlers.cpp -+++ b/qtruby/rubylib/qtruby/handlers.cpp -@@ -47,6 +47,14 @@ - #define HINT_BYTES HINT_BYTE - #endif - -+#include "config.h" -+ -+#ifndef HAVE_RUBY_1_9 -+#define RARRAY_LEN(x) (RARRAY(x)->len) -+#define RSTRING_LEN(x) (RSTRING(x)->len) -+#define rb_str_catf_1 rb_str_catf -+#endif -+ - extern "C" { - extern VALUE set_obj_info(const char * className, smokeruby_object * o); - extern VALUE qt_internal_module; -@@ -755,7 +763,7 @@ static void marshall_charP(Marshall *m) { - break; - } - -- int len = RSTRING(rv)->len; -+ int len = RSTRING_LEN(rv); - char* mem = (char*) malloc(len+1); - memcpy(mem, StringValuePtr(rv), len); - mem[len] ='\0'; -@@ -788,7 +796,7 @@ void marshall_ucharP(Marshall *m) { - m->item().s_voidp = 0; - break; - } -- int len = RSTRING(rv)->len; -+ int len = RSTRING_LEN(rv); - char* mem = (char*) malloc(len+1); - memcpy(mem, StringValuePtr(rv), len); - mem[len] ='\0'; -@@ -824,7 +832,7 @@ qstringFromRString(VALUE rstring) { - - TQString * s; - if (qstrcmp(KCODE, "UTF8") == 0) -- s = new TQString(TQString::fromUtf8(StringValuePtr(rstring), RSTRING(rstring)->len)); -+ s = new TQString(TQString::fromUtf8(StringValuePtr(rstring), RSTRING_LEN(rstring))); - else if (qstrcmp(KCODE, "EUC") == 0) - s = new TQString(codec->toUnicode(StringValuePtr(rstring))); - else if (qstrcmp(KCODE, "SJIS") == 0) -@@ -832,7 +840,7 @@ qstringFromRString(VALUE rstring) { - else if(qstrcmp(KCODE, "NONE") == 0) - s = new TQString(TQString::fromLatin1(StringValuePtr(rstring))); - else -- s = new TQString(TQString::fromLocal8Bit(StringValuePtr(rstring), RSTRING(rstring)->len)); -+ s = new TQString(TQString::fromLocal8Bit(StringValuePtr(rstring), RSTRING_LEN(rstring))); - return s; - } - -@@ -944,7 +952,7 @@ static void marshall_TQCString(Marshall *m) { - s = new TQCString(); - } else { - // Add 1 to the ruby string length to allow for a TQCString '\0' terminator -- s = new TQCString(StringValuePtr(*(m->var())), RSTRING(*(m->var()))->len + 1); -+ s = new TQCString(StringValuePtr(*(m->var())), RSTRING_LEN(*(m->var())) + 1); - } - m->item().s_voidp = s; - -@@ -1007,7 +1015,7 @@ static void marshall_TQCOORD_array(Marshall *m) { - m->item().s_voidp = 0; - break; - } -- int count = RARRAY(av)->len; -+ int count = RARRAY_LEN(av); - QCOORD *coord = new QCOORD[count + 2]; - for(long i = 0; i < count; i++) { - VALUE svp = rb_ary_entry(av, i); -@@ -1167,15 +1175,15 @@ static void marshall_charP_array(Marshall *m) { - VALUE arglist = *(m->var()); - if (arglist == Qnil - || TYPE(arglist) != T_ARRAY -- || RARRAY(arglist)->len == 0 ) -+ || RARRAY_LEN(arglist) == 0 ) - { - m->item().s_voidp = 0; - break; - } - -- char **argv = new char *[RARRAY(arglist)->len + 1]; -+ char **argv = new char *[RARRAY_LEN(arglist) + 1]; - long i; -- for(i = 0; i < RARRAY(arglist)->len; i++) { -+ for(i = 0; i < RARRAY_LEN(arglist); i++) { - VALUE item = rb_ary_entry(arglist, i); - char *s = StringValuePtr(item); - argv[i] = new char[strlen(s) + 1]; -@@ -1207,7 +1215,7 @@ void marshall_TQStringList(Marshall *m) { - break; - } - -- int count = RARRAY(list)->len; -+ int count = RARRAY_LEN(list); - TQStringList *stringlist = new QStringList; - - for(long i = 0; i < count; i++) { -@@ -1269,7 +1277,7 @@ void marshall_TQStrList(Marshall *m) { - break; - } - -- int count = RARRAY(list)->len; -+ int count = RARRAY_LEN(list); - TQStrList *stringlist = new QStrList; - - for(long i = 0; i < count; i++) { -@@ -1278,7 +1286,7 @@ void marshall_TQStrList(Marshall *m) { - stringlist->append(TQString()); - continue; - } -- stringlist->append(TQString::fromUtf8(StringValuePtr(item), RSTRING(item)->len)); -+ stringlist->append(TQString::fromUtf8(StringValuePtr(item), RSTRING_LEN(item))); - } - - m->item().s_voidp = stringlist; -@@ -1331,7 +1339,7 @@ void marshall_ItemList(Marshall *m) { - m->item().s_voidp = 0; - break; - } -- int count = RARRAY(list)->len; -+ int count = RARRAY_LEN(list); - ItemList *cpplist = new ItemList; - long i; - for(i = 0; i < count; i++) { -@@ -1421,7 +1429,7 @@ void marshall_TQValueListInt(Marshall *m) { - m->item().s_voidp = 0; - break; - } -- int count = RARRAY(list)->len; -+ int count = RARRAY_LEN(list); - TQValueList<int> *valuelist = new TQValueList<int>; - long i; - for(i = 0; i < count; i++) { -@@ -1513,7 +1521,7 @@ void marshall_TQMapTQStringTQString(Marshall *m) { - // Convert the ruby hash to an array of key/value arrays - VALUE temp = rb_funcall(hash, rb_intern("to_a"), 0); - -- for (long i = 0; i < RARRAY(temp)->len; i++) { -+ for (long i = 0; i < RARRAY_LEN(temp); i++) { - VALUE key = rb_ary_entry(rb_ary_entry(temp, i), 0); - VALUE value = rb_ary_entry(rb_ary_entry(temp, i), 1); - (*map)[TQString(StringValuePtr(key))] = TQString(StringValuePtr(value)); -@@ -1569,7 +1577,7 @@ void marshall_TQMapTQStringTQVariant(Marshall *m) { - // Convert the ruby hash to an array of key/value arrays - VALUE temp = rb_funcall(hash, rb_intern("to_a"), 0); - -- for (long i = 0; i < RARRAY(temp)->len; i++) { -+ for (long i = 0; i < RARRAY_LEN(temp); i++) { - VALUE key = rb_ary_entry(rb_ary_entry(temp, i), 0); - VALUE value = rb_ary_entry(rb_ary_entry(temp, i), 1); - -@@ -1673,7 +1681,7 @@ void marshall_TQRgb_array(Marshall *m) { - m->item().s_voidp = 0; - break; - } -- int count = RARRAY(list)->len; -+ int count = RARRAY_LEN(list); - QRgb *rgb = new QRgb[count + 2]; - long i; - for(i = 0; i < count; i++) { -@@ -1702,7 +1710,7 @@ void marshall_TQPairintint(Marshall *m) { - case Marshall::FromVALUE: - { - VALUE list = *(m->var()); -- if (TYPE(list) != T_ARRAY || RARRAY(list)->len != 2) { -+ if (TYPE(list) != T_ARRAY || RARRAY_LEN(list) != 2) { - m->item().s_voidp = 0; - break; - } -@@ -1770,7 +1778,7 @@ void marshall_ValueItemList(Marshall *m) { - m->item().s_voidp = 0; - break; - } -- int count = RARRAY(list)->len; -+ int count = RARRAY_LEN(list); - ItemList *cpplist = new ItemList; - long i; - for(i = 0; i < count; i++) { |