diff --git a/src/post_modules/GTK2/source/gladexml.pre b/src/post_modules/GTK2/source/gladexml.pre index 817317e76789dcf04c6209975c803e3c758536c4..7b774e1ab65d17eb5fa6fc646161453d0440cd12 100644 --- a/src/post_modules/GTK2/source/gladexml.pre +++ b/src/post_modules/GTK2/source/gladexml.pre @@ -93,10 +93,10 @@ void create(string filename_or_buffer, ?int size, ?string root, ?string domain) struct pike_string *fname; char *root=NULL,*dom=NULL; INT_TYPE size=0; - get_all_args("create",args,"%t.%i%s%s",&fname,&size,&root,&dom); + get_all_args("create",args,"%n.%i%s%s",&fname,&size,&root,&dom); if (size==0) gl=glade_xml_new(fname->str,root,dom); - else if (size==-1) + else if ((size < 0) || (size > fname->len)) gl=glade_xml_new_from_buffer(fname->str,fname->len,root,dom); else gl=glade_xml_new_from_buffer(fname->str,size,root,dom);