137 while (current_node != NULL)
141 if (previous_node != NULL)
142 previous_node->
next = current_node->
next;
144 *subject = current_node->
next;
148 previous_node = current_node;
149 current_node = current_node->
next;
154 warning (
_(
"Failed to detach observer"));
165 while (current_node != NULL)
168 current_node = current_node->
next;
207 Set observer debugging."),
_(
"\ 208 Show observer debugging."),
_(
"\ 209 When non-zero, observer debugging is enabled."),
static void generic_observer_detach(struct observer_list **subject, const struct observer *observer)
void observer_test_second_notification_function(int arg)
void warning(const char *fmt,...)
void observer_test_third_notification_function(int arg)
void() generic_observer_notification_ftype(const void *data, const void *args)
int observer_test_first_observer
void add_setshow_zuinteger_cmd(const char *name, enum command_class theclass, unsigned int *var, const char *set_doc, const char *show_doc, const char *help_doc, cmd_const_sfunc_ftype *set_func, show_value_ftype *show_func, struct cmd_list_element **set_list, struct cmd_list_element **show_list)
int observer_test_second_observer
void _initialize_observer(void)
void observer_test_first_notification_function(int arg)
void fprintf_filtered(struct ui_file *stream, const char *format,...)
struct observer * observer
int observer_test_third_observer
static unsigned int observer_debug
struct cmd_list_element * setdebuglist
struct observer_list * next
static void generic_observer_notify(struct observer_list *subject, const void *args)
struct cmd_list_element * showdebuglist
static struct observer_list * xalloc_observer_list_node(void)
static void xfree_observer_list_node(struct observer_list *node)
static struct observer * generic_observer_attach(struct observer_list **subject, generic_observer_notification_ftype *notify, void *data)
static void show_observer_debug(struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
generic_observer_notification_ftype * notify