- Timestamp:
- 2010-05-11T23:27:11Z (15 years ago)
- Branches:
- master
- Children:
- 3429b58, 6e6b3d7
- Parents:
- f8cb76d
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lib/xmltree.c
rf8cb76d r3742fb6 449 449 while( node ) 450 450 { 451 if( g_strcasecmp( node->name, name ) == 0 ) 451 char *colon; 452 453 if( g_strcasecmp( node->name, name ) == 0 || 454 ( ( colon = strchr( node->name, ':' ) ) && 455 g_strcasecmp( colon + 1, name ) == 0 ) ) 452 456 break; 453 457 … … 461 465 { 462 466 int i; 467 char *colon; 463 468 464 469 if( !node ) … … 468 473 if( g_strcasecmp( node->attr[i].key, key ) == 0 ) 469 474 break; 475 476 /* This is an awful hack that only takes care of namespace prefixes 477 inside a tag. Since IMHO excessive namespace usage in XMPP is 478 massive overkill anyway (this code exists for almost four years 479 now and never really missed it): Meh. */ 480 if( !node->attr[i].key && strcmp( key, "xmlns" ) == 0 && 481 ( colon = strchr( node->name, ':' ) ) ) 482 { 483 *colon = '\0'; 484 for( i = 0; node->attr[i].key; i ++ ) 485 if( strncmp( node->attr[i].key, "xmlns:", 6 ) == 0 && 486 strcmp( node->attr[i].key + 6, node->name ) == 0 ) 487 break; 488 *colon = ':'; 489 } 470 490 471 491 return node->attr[i].value;
Note: See TracChangeset
for help on using the changeset viewer.