libpurple/protocols/myspace/markup.c

changeset 20815
a6c11702ad56
parent 20814
7792b1d90c31
child 20941
ea812bcc3bd3
equal deleted inserted replaced
20814:7792b1d90c31 20815:a6c11702ad56
568 (node && node->name) ? node->name : "(NULL)"); 568 (node && node->name) ? node->name : "(NULL)");
569 break; 569 break;
570 570
571 case XMLNODE_TYPE_DATA: 571 case XMLNODE_TYPE_DATA:
572 /* Literal text. */ 572 /* Literal text. */
573 inner = g_new0(char, node->data_sz + 1); 573 inner = g_strndup(node->data, node->data_sz);
574 strncpy(inner, node->data, node->data_sz);
575 inner[node->data_sz] = 0;
576
577 purple_debug_info("msim", " ** node data=%s\n", 574 purple_debug_info("msim", " ** node data=%s\n",
578 inner ? inner : "(NULL)"); 575 inner ? inner : "(NULL)");
579 break; 576 break;
580 577
581 default: 578 default:
584 inner = g_strdup(""); 581 inner = g_strdup("");
585 } 582 }
586 583
587 if (inner) { 584 if (inner) {
588 g_string_append(final, inner); 585 g_string_append(final, inner);
586 g_free(inner);
587 inner = NULL;
589 } 588 }
590 } 589 }
591 590
592 /* TODO: Note that msim counts each piece of text enclosed by <f> as 591 /* TODO: Note that msim counts each piece of text enclosed by <f> as
593 * a paragraph and will display each on its own line. You actually have 592 * a paragraph and will display each on its own line. You actually have
594 * to _nest_ <f> tags to intersperse different text in one paragraph! 593 * to _nest_ <f> tags to intersperse different text in one paragraph!
595 * Comment out this line below to see. */ 594 * Comment out this line below to see. */
596 g_string_append(final, end); 595 g_string_append(final, end);
596
597 g_free(begin);
598 g_free(end);
597 599
598 purple_debug_info("msim", "msim_markup_xmlnode_to_gtkhtml: RETURNING %s\n", 600 purple_debug_info("msim", "msim_markup_xmlnode_to_gtkhtml: RETURNING %s\n",
599 (final && final->str) ? final->str : "(NULL)"); 601 (final && final->str) ? final->str : "(NULL)");
600 602
601 return g_string_free(final, FALSE); 603 return g_string_free(final, FALSE);

mercurial