Mercurial > pidgin
comparison src/xmlnode.c @ 12041:da44f68fb4d2
[gaim-migrate @ 14334]
Lee Roach noticed a little line ending inconsitency. This fixes it.
committer: Tailor Script <tailor@pidgin.im>
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Fri, 11 Nov 2005 05:13:02 +0000 |
parents | 0906a3e9626c |
children | 9679b615edb8 |
comparison
equal
deleted
inserted
replaced
12040:d225a55927df | 12041:da44f68fb4d2 |
---|---|
32 #include <string.h> | 32 #include <string.h> |
33 #include <glib.h> | 33 #include <glib.h> |
34 | 34 |
35 #include "xmlnode.h" | 35 #include "xmlnode.h" |
36 | 36 |
37 #ifdef _WIN32 | |
38 # define NEWLINE_S "\r\n" | |
39 #else | |
40 # define NEWLINE_S "\n" | |
41 #endif | |
42 | |
37 static xmlnode* | 43 static xmlnode* |
38 new_node(const char *name, XMLNodeType type) | 44 new_node(const char *name, XMLNodeType type) |
39 { | 45 { |
40 xmlnode *node = g_new0(xmlnode, 1); | 46 xmlnode *node = g_new0(xmlnode, 1); |
41 | 47 |
250 { | 256 { |
251 GString *text = g_string_new(""); | 257 GString *text = g_string_new(""); |
252 xmlnode *c; | 258 xmlnode *c; |
253 char *node_name, *esc, *esc2, *tab = NULL; | 259 char *node_name, *esc, *esc2, *tab = NULL; |
254 gboolean need_end = FALSE, pretty = formatting; | 260 gboolean need_end = FALSE, pretty = formatting; |
255 #ifdef _WIN32 | |
256 static const char *newline = "\r\n"; | |
257 #else | |
258 static const char *newline = "\n"; | |
259 #endif | |
260 | 261 |
261 if(pretty && depth) { | 262 if(pretty && depth) { |
262 tab = g_strnfill(depth, '\t'); | 263 tab = g_strnfill(depth, '\t'); |
263 text = g_string_append(text, tab); | 264 text = g_string_append(text, tab); |
264 } | 265 } |
280 need_end = TRUE; | 281 need_end = TRUE; |
281 } | 282 } |
282 } | 283 } |
283 | 284 |
284 if(need_end) { | 285 if(need_end) { |
285 g_string_append_printf(text, ">%s", pretty ? newline : ""); | 286 g_string_append_printf(text, ">%s", pretty ? NEWLINE_S : ""); |
286 | 287 |
287 for(c = node->child; c; c = c->next) | 288 for(c = node->child; c; c = c->next) |
288 { | 289 { |
289 if(c->type == XMLNODE_TYPE_TAG) { | 290 if(c->type == XMLNODE_TYPE_TAG) { |
290 int esc_len; | 291 int esc_len; |
298 } | 299 } |
299 } | 300 } |
300 | 301 |
301 if(tab && pretty) | 302 if(tab && pretty) |
302 text = g_string_append(text, tab); | 303 text = g_string_append(text, tab); |
303 g_string_append_printf(text, "</%s>%s", node_name, formatting ? newline : ""); | 304 g_string_append_printf(text, "</%s>%s", node_name, formatting ? NEWLINE_S : ""); |
304 } else { | 305 } else { |
305 g_string_append_printf(text, "/>%s", formatting ? newline : ""); | 306 g_string_append_printf(text, "/>%s", formatting ? NEWLINE_S : ""); |
306 } | 307 } |
307 | 308 |
308 g_free(node_name); | 309 g_free(node_name); |
309 | 310 |
310 if(tab) | 311 if(tab) |
327 { | 328 { |
328 char *xml, *xml_with_declaration; | 329 char *xml, *xml_with_declaration; |
329 | 330 |
330 xml = xmlnode_to_str_helper(node, len, TRUE, 0); | 331 xml = xmlnode_to_str_helper(node, len, TRUE, 0); |
331 xml_with_declaration = | 332 xml_with_declaration = |
332 g_strdup_printf("<?xml version='1.0' encoding='UTF-8' ?>\n\n%s", xml); | 333 g_strdup_printf("<?xml version='1.0' encoding='UTF-8' ?>" NEWLINE_S NEWLINE_S "%s", xml); |
333 g_free(xml); | 334 g_free(xml); |
334 | 335 |
335 return xml_with_declaration; | 336 return xml_with_declaration; |
336 } | 337 } |
337 | 338 |