if(xmlstrequals(cur->name, (const xmlchar *) "check")) // find out type gtk_toggle_button_set_active(gtk_toggle_button (gtk_builder_get_object (builder, xmlgetprop(cur,"name"))),(gboolean) xmlgetprop(cur,"value")); else if(xmlstrequals(cur->name, (const xmlchar *) "spin")) gtk_adjustment_set_value(gtk_adjustment (gtk_builder_get_object (builder, xmlgetprop(cur,"name"))),(gdouble) xmlgetprop(cur,"value")); else if(xmlstrequals(cur->name, (const xmlchar *) "combo")) gtk_combo_box_set_active(gtk_combo_box (gtk_builder_get_object (builder, xmlgetprop(cur,"name"))),(gint) xmlgetprop(cur,"value"));
the 3 errors below correspond 3 if statements above.
main.c:125: warning: cast pointer integer of different size main.c:130: error: pointer value used floating point value expected main.c:139: warning: cast pointer integer of different size
if allow me extract offending parts:
(gboolean) xmlgetprop(cur,"value") (gdouble) xmlgetprop(cur,"value") (gint) xmlgetprop(cur,"value")
why these typecasts causing these errors? how can fix them?
trying use (gboolean *)
etc recieved warnings gtk along lines of:
warning: passing argument 2 of ‘gtk_toggle_button_set_active’ makes integer pointer without cast /usr/include/gtk-2.0/gtk/gtktogglebutton.h:82: note: expected ‘gboolean’ argument of type ‘gboolean *’ error: incompatible type argument 2 of ‘gtk_adjustment_set_value’ /usr/include/gtk-2.0/gtk/gtkadjustment.h:93: note: expected ‘gdouble’ argument of type ‘gdouble *’ warning: passing argument 2 of ‘gtk_combo_box_set_active’ makes integer pointer without cast /usr/include/gtk-2.0/gtk/gtkcombobox.h:99: note: expected ‘gint’ argument of type ‘gint *’
the xmlgetprop
function returns string (as xmlchar *
):
search , value of attribute associated node entity substitution. function looks in dtd attribute declaration #fixed or default declaration values unless dtd use has been turned off.
[...]
returns: attribute value or null if not found. it's caller free memory xmlfree().
the caller responsible parsing string whatever form (floating point, integer, boolean, ...) needed. note caller responsible freeing returned xmlchar *
string too.
to fix problem, need convert string need in usual manner. , don't forget xmlfree
returned strings.
Comments
Post a Comment