| 253 |
253 |
| 254 static xmlnode * |
254 static xmlnode * |
| 255 statuses_to_xmlnode(const PurplePresence *presence) |
255 statuses_to_xmlnode(const PurplePresence *presence) |
| 256 { |
256 { |
| 257 xmlnode *node, *child; |
257 xmlnode *node, *child; |
| 258 GList *statuses, *status; |
258 GList *statuses; |
| |
259 PurpleStatus *status; |
| 259 |
260 |
| 260 node = xmlnode_new("statuses"); |
261 node = xmlnode_new("statuses"); |
| 261 |
262 |
| 262 statuses = purple_presence_get_statuses(presence); |
263 statuses = purple_presence_get_statuses(presence); |
| 263 for (status = statuses; status != NULL; status = status->next) |
264 for (; statuses != NULL; statuses = statuses->next) |
| 264 { |
265 { |
| 265 child = status_to_xmlnode((PurpleStatus *)status->data); |
266 status = statuses->data; |
| 266 xmlnode_insert_child(node, child); |
267 if (purple_status_type_is_saveable(purple_status_get_type(status))) |
| |
268 { |
| |
269 child = status_to_xmlnode(status); |
| |
270 xmlnode_insert_child(node, child); |
| |
271 } |
| 267 } |
272 } |
| 268 |
273 |
| 269 return node; |
274 return node; |
| 270 } |
275 } |
| 271 |
276 |