Mercurial > hg > xemacs-beta
comparison lwlib/lwlib.c @ 424:11054d720c21 r21-2-20
Import from CVS: tag r21-2-20
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:26:11 +0200 |
parents | 41dbb7a9d5f2 |
children |
comparison
equal
deleted
inserted
replaced
423:28d9c139be4c | 424:11054d720c21 |
---|---|
123 abort (); | 123 abort (); |
124 wv->free_list = widget_value_free_list; | 124 wv->free_list = widget_value_free_list; |
125 widget_value_free_list = wv; | 125 widget_value_free_list = wv; |
126 } | 126 } |
127 | 127 |
128 static void free_widget_value_tree (widget_value *wv); | |
129 | |
130 static void | 128 static void |
131 free_widget_value_contents (widget_value *wv) | 129 free_widget_value_contents (widget_value *wv) |
132 { | 130 { |
133 if (wv->name) free (wv->name); | 131 if (wv->name) free (wv->name); |
134 if (wv->value) free (wv->value); | 132 if (wv->value) free (wv->value); |
153 if (wv->contents && (wv->contents != (widget_value*)1)) | 151 if (wv->contents && (wv->contents != (widget_value*)1)) |
154 { | 152 { |
155 free_widget_value_tree (wv->contents); | 153 free_widget_value_tree (wv->contents); |
156 wv->contents = (widget_value *) 0xDEADBEEF; | 154 wv->contents = (widget_value *) 0xDEADBEEF; |
157 } | 155 } |
158 if (wv->args && wv->free_args) | 156 if (wv->args && wv->nargs) |
159 { | 157 { |
160 free (wv->args); | 158 if (wv->free_args) |
161 wv->args = (void *) 0xDEADBEEF; | 159 free (wv->args); |
160 wv->args = (ArgList) 0xDEADBEEF; | |
162 wv->nargs = 0; | 161 wv->nargs = 0; |
162 wv->free_args = 0; | |
163 } | 163 } |
164 if (wv->next) | 164 if (wv->next) |
165 { | 165 { |
166 free_widget_value_tree (wv->next); | 166 free_widget_value_tree (wv->next); |
167 wv->next = (widget_value *) 0xDEADBEEF; | 167 wv->next = (widget_value *) 0xDEADBEEF; |
168 } | 168 } |
169 } | 169 } |
170 | 170 |
171 static void | 171 void |
172 free_widget_value_tree (widget_value *wv) | 172 free_widget_value_tree (widget_value *wv) |
173 { | 173 { |
174 if (!wv) | 174 if (!wv) |
175 return; | 175 return; |
176 | 176 |
1324 addto[i + *offset] = wv->args[i]; | 1324 addto[i + *offset] = wv->args[i]; |
1325 } | 1325 } |
1326 *offset += wv->nargs; | 1326 *offset += wv->nargs; |
1327 } | 1327 } |
1328 } | 1328 } |
1329 |