diff --git a/src/post_modules/GTK2/source/gladexml.pre b/src/post_modules/GTK2/source/gladexml.pre index 08248606b33eead0c91af7840428f222761b49ce..817317e76789dcf04c6209975c803e3c758536c4 100644 --- a/src/post_modules/GTK2/source/gladexml.pre +++ b/src/post_modules/GTK2/source/gladexml.pre @@ -90,15 +90,16 @@ void create(string filename_or_buffer, ?int size, ?string root, ?string domain) pgtk2_verify_setup(); { GladeXML *gl; - char *fname,*root=NULL,*dom=NULL; + struct pike_string *fname; + char *root=NULL,*dom=NULL; INT_TYPE size=0; - get_all_args("create",args,"%s.%i%s%s",&fname,&size,&root,&dom); + get_all_args("create",args,"%t.%i%s%s",&fname,&size,&root,&dom); if (size==0) - gl=glade_xml_new(fname,root,dom); + gl=glade_xml_new(fname->str,root,dom); else if (size==-1) - gl=glade_xml_new_from_buffer(fname,strlen(fname),root,dom); + gl=glade_xml_new_from_buffer(fname->str,fname->len,root,dom); else - gl=glade_xml_new_from_buffer(fname,size,root,dom); + gl=glade_xml_new_from_buffer(fname->str,size,root,dom); THIS->obj=G_OBJECT(gl); } pgtk2_pop_n_elems(args); diff --git a/src/post_modules/GTK2/source/gobject.pre b/src/post_modules/GTK2/source/gobject.pre index df29b343d2984b7c288ebc0615319105e758f664..e5692ac4759a0392dae8cf82f9cfe4a2254680c2 100644 --- a/src/post_modules/GTK2/source/gobject.pre +++ b/src/post_modules/GTK2/source/gobject.pre @@ -174,7 +174,7 @@ int new_signal(string name, array types, string return_type) pgtk2_verify_inited(); { struct pike_string *t; - char *ret_type_name; + struct pike_string *ret_type_name; struct array *a; GObject *go; gchar *name; @@ -185,24 +185,24 @@ int new_signal(string name, array types, string return_type) struct signal_data *b; int i; - get_all_args("new_signal",args,"%T%A%s",&t,&a,&ret_type_name); + get_all_args("new_signal",args,"%t%A%t",&t,&a,&ret_type_name); if (a->size) { ref_push_string(t); f_string_to_utf8(1); name=g_strdup(CGSTR0(Pike_sp[-1].u.string)); if (name==NULL) { pop_stack(); - SIMPLE_OUT_OF_MEMORY_ERROR("new_signal",strlen(ret_type_name)*2); + SIMPLE_OUT_OF_MEMORY_ERROR("new_signal",ret_type_name->len*2); } - if (!strcmp(ret_type_name,"void")) { + if (is_same_string(ret_type_name,_STR("void"))) { return_type=G_TYPE_NONE; - } else if (!strcmp(ret_type_name,"int")) { + } else if (is_same_string(ret_type_name,_STR("int"))) { return_type=G_TYPE_INT; - } else if (!strcmp(ret_type_name,"float")) { + } else if (is_same_string(ret_type_name,_STR("float"))) { return_type=G_TYPE_DOUBLE; - } else if (!strcmp(ret_type_name,"string")) { + } else if (is_same_string(ret_type_name,_STR("string"))) { return_type=G_TYPE_STRING; - } else if (!strcmp(ret_type_name,"object")) { + } else if (is_same_string(ret_type_name,_STR("object"))) { return_type=G_TYPE_OBJECT; } else { return_type=G_TYPE_POINTER; @@ -215,16 +215,18 @@ int new_signal(string name, array types, string return_type) for (i=n_params=0; i<a->size; i++) { if (ITEM(a)[i].type!=PIKE_T_STRING) continue; - if (!strcmp(CGSTR0(ITEM(a)[i].u.string),"int")) { + if (is_same_string(ITEM(a)[i].u.string,_STR("int"))) { param_types[n_params]=G_TYPE_INT; n_params++; - } else if (!strcmp(CGSTR0(ITEM(a)[i].u.string),"float")) { + } else if (is_same_string(ITEM(a)[i].u.string,_STR("float"))) { param_types[n_params]=G_TYPE_DOUBLE; n_params++; - } else if (!strcmp(CGSTR0(ITEM(a)[i].u.string),"string")) { + } else if (is_same_string(ITEM(a)[i].u.string,_STR("string"))) + { param_types[n_params]=G_TYPE_STRING; n_params++; - } else if (!strcmp(CGSTR0(ITEM(a)[i].u.string),"object")) { + } else if (is_same_string(ITEM(a)[i].u.string,_STR("object"))) + { param_types[n_params]=G_TYPE_OBJECT; n_params++; } else {