[ekg2-devel] chatstates i talk.google.com
Jakub Zawadzki
darkjames w darkjames.ath.cx
Sob, 19 Sty 2008, 16:54:04 CET
On Sat, Jan 19, 2008 at 04:18:15PM +0100, Michał Górny wrote:
>
> Na razie przesyłam diffkę wzgl. aktualnego CVS do przejrzenia i komentowania.
Dzieki za -u :)
> @@ -769,7 +813,7 @@ static WATCHER(jabber_handle_connect_tle
> XML_Parser jabber_parser_recreate(XML_Parser parser, void *data) {
> /* debug_function("jabber_parser_recreate() 0x%x 0x%x\n", parser, data); */
>
> - if (!parser) parser = XML_ParserCreate("UTF-8"); /* new parser */
> + if (!parser) parser = XML_ParserCreateNS("UTF-8",'#'); /* new parser */
Nie moze byc '#'
> + {
> + char *x = NULL;
> + char *tmp = xstrdup(name);
> + char *sep = xstrchr(tmp, '#');
> + if (sep) {
> + *(sep++) = '\0';
> + name = sep;
> + x = tmp;
> + }
> +
> + newnode->name = xstrdup(name);
> + newnode->xmlns = xstrdup(x);
> + xfree(tmp);
> + }
Bo jak dostaniesz:
<foo xmlns="http://jabber.org/protocol/foo#bar"
to w name dostaniesz: http://jabber.org/protocol/foo#bar#foo
stripujesz do pierwszego '#' dostajesz xmlns:
'http://jabber.org/protocol/foo' (wczesniej 'http://jabber.org/protocol/foo#bar')
i nazwe: 'bar#foo' (wczesniej 'foo')
[bardziej rzeczywisty przyklad: disco i muce wykorzystuja '#' w xmlns]
strrchr() niby bedzie robic to co powinno, ale ja jednak jestem przeciwny uzywaniu '#'
Juz wole wczesniejsze '|' Chociaz najbardziej, najbardziej to wolalbym jakis
nietypowy znaczek ASCII '\0' byloby fajne, ale niebezpieczne; Moze BEL albo ESC? Albo w sumie obojetnie jaki kontrolny.
Reszta komentarzy taka sama jak wczesniej.
Pozdrawiam.
Więcej informacji o liście dyskusyjnej ekg2-devel