void on_entry_dbg_property_pattern_activate(GtkEditable *unused_editable, gpointer unused_udata) { static gchar old_pattern[1024]; gchar *text; (void) unused_editable; (void) unused_udata; text = STRTRACK(gtk_editable_get_chars( GTK_EDITABLE(gui_dlg_prefs_lookup("entry_dbg_property_pattern")), 0, -1)); g_strstrip(text); if (0 != strcmp(text, old_pattern)) { GSList *props; g_strlcpy(old_pattern, text, sizeof old_pattern); props = gnet_prop_get_by_regex(text, NULL); if (!props) statusbar_gui_warning(10, _("No property name matches the pattern \"%s\"."), text); dbg_property_show_list(props); dbg_property_update_selection(); gm_slist_free_null(&props); } G_FREE_NULL(text); }
/* statusbar interface functions (CORE -> UI) */ void gcu_statusbar_warning(const gchar *message) { if (!running_topless) { statusbar_gui_warning(15, "%s", message); } }
static void host_lookup_callback(const gchar *hostname, gpointer key) { const struct nid *node_id = key; gnet_node_info_t info; struct node_data *data; host_addr_t addr; guint16 port; if (!ht_pending_lookups) goto finish; if (!remove_item(ht_pending_lookups, node_id)) goto finish; data = find_node(node_id); if (!data) goto finish; guc_node_fill_info(node_id, &info); g_assert(node_id == info.node_id); addr = info.addr; port = info.port; guc_node_clear_info(&info); WFREE_NULL(data->host, data->host_size); if (hostname) { const gchar *host; gchar *to_free; if (utf8_is_valid_string(hostname)) { to_free = NULL; host = hostname; } else { to_free = locale_to_utf8_normalized(hostname, UNI_NORM_GUI); host = to_free; } data->host_size = w_concat_strings(&data->host, host, " (", host_addr_port_to_string(addr, port), ")", (void *) 0); G_FREE_NULL(to_free); } else { statusbar_gui_warning(10, _("Reverse lookup for %s failed"), host_addr_to_string(addr)); data->host_size = w_concat_strings(&data->host, host_addr_port_to_string(addr, port), (void *) 0); } finish: nid_unref(node_id); }