Mercurial > ~mikael > mcabber > hg
comparison mcabber/src/jab_iq.c @ 1290:e42f48103609
Drawing the MUC nicks by a different color
(color is hardcoded to red, needs to be changed to something useable)
author | Michal 'vorner' Vaner <vorner@ucw.cz> |
---|---|
date | Sun, 26 Aug 2007 18:24:14 +0200 |
parents | 2faf179166f3 |
children | a5336c44d4e2 |
comparison
equal
deleted
inserted
replaced
1289:57fe57474122 | 1290:e42f48103609 |
---|---|
345 | 345 |
346 // bjid should now really be the "bare JID", let's strip the resource | 346 // bjid should now really be the "bare JID", let's strip the resource |
347 p = strchr(bjid, JID_RESOURCE_SEPARATOR); | 347 p = strchr(bjid, JID_RESOURCE_SEPARATOR); |
348 if (p) *p = '\0'; | 348 if (p) *p = '\0'; |
349 | 349 |
350 scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO); | 350 scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO, 0); |
351 g_free(buf); | 351 g_free(buf); |
352 | 352 |
353 // Get result data... | 353 // Get result data... |
354 p = xmlnode_get_tag_data(ansqry, "name"); | 354 p = xmlnode_get_tag_data(ansqry, "name"); |
355 if (p) { | 355 if (p) { |
356 buf = g_strdup_printf("Name: %s", p); | 356 buf = g_strdup_printf("Name: %s", p); |
357 scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT); | 357 scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0); |
358 g_free(buf); | 358 g_free(buf); |
359 } | 359 } |
360 p = xmlnode_get_tag_data(ansqry, "version"); | 360 p = xmlnode_get_tag_data(ansqry, "version"); |
361 if (p) { | 361 if (p) { |
362 buf = g_strdup_printf("Version: %s", p); | 362 buf = g_strdup_printf("Version: %s", p); |
363 scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT); | 363 scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0); |
364 g_free(buf); | 364 g_free(buf); |
365 } | 365 } |
366 p = xmlnode_get_tag_data(ansqry, "os"); | 366 p = xmlnode_get_tag_data(ansqry, "os"); |
367 if (p) { | 367 if (p) { |
368 buf = g_strdup_printf("OS: %s", p); | 368 buf = g_strdup_printf("OS: %s", p); |
369 scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT); | 369 scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0); |
370 g_free(buf); | 370 g_free(buf); |
371 } | 371 } |
372 return 0; | 372 return 0; |
373 } | 373 } |
374 | 374 |
410 | 410 |
411 // bjid should now really be the "bare JID", let's strip the resource | 411 // bjid should now really be the "bare JID", let's strip the resource |
412 p = strchr(bjid, JID_RESOURCE_SEPARATOR); | 412 p = strchr(bjid, JID_RESOURCE_SEPARATOR); |
413 if (p) *p = '\0'; | 413 if (p) *p = '\0'; |
414 | 414 |
415 scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO); | 415 scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO, 0); |
416 g_free(buf); | 416 g_free(buf); |
417 | 417 |
418 // Get result data... | 418 // Get result data... |
419 p = xmlnode_get_tag_data(ansqry, "utc"); | 419 p = xmlnode_get_tag_data(ansqry, "utc"); |
420 if (p) { | 420 if (p) { |
421 buf = g_strdup_printf("UTC: %s", p); | 421 buf = g_strdup_printf("UTC: %s", p); |
422 scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT); | 422 scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0); |
423 g_free(buf); | 423 g_free(buf); |
424 } | 424 } |
425 p = xmlnode_get_tag_data(ansqry, "tz"); | 425 p = xmlnode_get_tag_data(ansqry, "tz"); |
426 if (p) { | 426 if (p) { |
427 buf = g_strdup_printf("TZ: %s", p); | 427 buf = g_strdup_printf("TZ: %s", p); |
428 scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT); | 428 scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0); |
429 g_free(buf); | 429 g_free(buf); |
430 } | 430 } |
431 p = xmlnode_get_tag_data(ansqry, "display"); | 431 p = xmlnode_get_tag_data(ansqry, "display"); |
432 if (p) { | 432 if (p) { |
433 buf = g_strdup_printf("Time: %s", p); | 433 buf = g_strdup_printf("Time: %s", p); |
434 scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT); | 434 scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0); |
435 g_free(buf); | 435 g_free(buf); |
436 } | 436 } |
437 return 0; | 437 return 0; |
438 } | 438 } |
439 | 439 |
475 | 475 |
476 // bjid should now really be the "bare JID", let's strip the resource | 476 // bjid should now really be the "bare JID", let's strip the resource |
477 p = strchr(bjid, JID_RESOURCE_SEPARATOR); | 477 p = strchr(bjid, JID_RESOURCE_SEPARATOR); |
478 if (p) *p = '\0'; | 478 if (p) *p = '\0'; |
479 | 479 |
480 scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO); | 480 scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO, 0); |
481 g_free(buf); | 481 g_free(buf); |
482 | 482 |
483 // Get result data... | 483 // Get result data... |
484 p = xmlnode_get_attrib(ansqry, "seconds"); | 484 p = xmlnode_get_attrib(ansqry, "seconds"); |
485 if (p) { | 485 if (p) { |
495 // hh:mm:ss | 495 // hh:mm:ss |
496 g_string_append_printf(sbuf, "%02ld:", s/3600L); | 496 g_string_append_printf(sbuf, "%02ld:", s/3600L); |
497 s %= 3600L; | 497 s %= 3600L; |
498 g_string_append_printf(sbuf, "%02ld:%02ld", s/60L, s%60L); | 498 g_string_append_printf(sbuf, "%02ld:%02ld", s/60L, s%60L); |
499 scr_WriteIncomingMessage(bjid, sbuf->str, | 499 scr_WriteIncomingMessage(bjid, sbuf->str, |
500 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT); | 500 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0); |
501 g_string_free(sbuf, TRUE); | 501 g_string_free(sbuf, TRUE); |
502 } else { | 502 } else { |
503 scr_WriteIncomingMessage(bjid, "No idle time reported.", | 503 scr_WriteIncomingMessage(bjid, "No idle time reported.", |
504 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT); | 504 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0); |
505 } | 505 } |
506 p = xmlnode_get_data(ansqry); | 506 p = xmlnode_get_data(ansqry); |
507 if (p) { | 507 if (p) { |
508 buf = g_strdup_printf("Status message: %s", p); | 508 buf = g_strdup_printf("Status message: %s", p); |
509 scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO); | 509 scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO, 0); |
510 g_free(buf); | 510 g_free(buf); |
511 } | 511 } |
512 return 0; | 512 return 0; |
513 } | 513 } |
514 | 514 |
539 (vcard_attrib & vcard_cell ? "[cell]" : ""), | 539 (vcard_attrib & vcard_cell ? "[cell]" : ""), |
540 (vcard_attrib & vcard_inet ? "[inet]" : ""), | 540 (vcard_attrib & vcard_inet ? "[inet]" : ""), |
541 (vcard_attrib & vcard_pref ? "[pref]" : ""), | 541 (vcard_attrib & vcard_pref ? "[pref]" : ""), |
542 (vcard_attrib ? " " : ""), | 542 (vcard_attrib ? " " : ""), |
543 text); | 543 text); |
544 scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT); | 544 scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0); |
545 g_free(buf); | 545 g_free(buf); |
546 } | 546 } |
547 | 547 |
548 static void handle_vcard_node(const char *barejid, xmlnode vcardnode) | 548 static void handle_vcard_node(const char *barejid, xmlnode vcardnode) |
549 { | 549 { |
663 | 663 |
664 // bjid should really be the "bare JID", let's strip the resource | 664 // bjid should really be the "bare JID", let's strip the resource |
665 p = strchr(bjid, JID_RESOURCE_SEPARATOR); | 665 p = strchr(bjid, JID_RESOURCE_SEPARATOR); |
666 if (p) *p = '\0'; | 666 if (p) *p = '\0'; |
667 | 667 |
668 scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO); | 668 scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO, 0); |
669 g_free(buf); | 669 g_free(buf); |
670 | 670 |
671 // Get result data... | 671 // Get result data... |
672 handle_vcard_node(bjid, ansqry); | 672 handle_vcard_node(bjid, ansqry); |
673 return 0; | 673 return 0; |