--- a/libpurple/protocols/jabber/xdata.c Fri Mar 10 01:15:41 2023 -0600 +++ b/libpurple/protocols/jabber/xdata.c Fri Mar 10 01:16:40 2023 -0600 @@ -84,7 +84,8 @@ case JABBER_X_DATA_TEXT_SINGLE: case JABBER_X_DATA_JID_SINGLE: { - const char *value = purple_request_field_string_get_value(field); + PurpleRequestFieldString *sfield = PURPLE_REQUEST_FIELD_STRING(field); + const char *value = purple_request_field_string_get_value(sfield); if (value == NULL) break; fieldnode = purple_xmlnode_new_child(result, "field"); @@ -95,8 +96,9 @@ } case JABBER_X_DATA_TEXT_MULTI: { + PurpleRequestFieldString *sfield = PURPLE_REQUEST_FIELD_STRING(field); + const char *value = purple_request_field_string_get_value(sfield); char **pieces, **p; - const char *value = purple_request_field_string_get_value(field); if (value == NULL) break; fieldnode = purple_xmlnode_new_child(result, "field"); @@ -230,7 +232,8 @@ field = purple_request_field_string_new(var, label, value ? value : "", FALSE); - purple_request_field_string_set_masked(field, TRUE); + purple_request_field_string_set_masked(PURPLE_REQUEST_FIELD_STRING(field), + TRUE); purple_request_group_add_field(group, field); g_hash_table_replace(data->fields, g_strdup(var), GINT_TO_POINTER(JABBER_X_DATA_TEXT_SINGLE));