Mercurial > pidgin
comparison src/toc.c @ 1182:bab9f3dc07f8
[gaim-migrate @ 1192]
i hope this doesn't break things.
committer: Tailor Script <tailor@pidgin.im>
| author | Eric Warmenhoven <eric@warmenhoven.org> |
|---|---|
| date | Fri, 01 Dec 2000 14:57:56 +0000 |
| parents | 3063e6743913 |
| children | 66a70fbb2b09 |
comparison
equal
deleted
inserted
replaced
| 1181:2e0e157b49a0 | 1182:bab9f3dc07f8 |
|---|---|
| 45 #include "pixmaps/aol_icon.xpm" | 45 #include "pixmaps/aol_icon.xpm" |
| 46 #include "pixmaps/away_icon.xpm" | 46 #include "pixmaps/away_icon.xpm" |
| 47 #include "pixmaps/dt_icon.xpm" | 47 #include "pixmaps/dt_icon.xpm" |
| 48 #include "pixmaps/free_icon.xpm" | 48 #include "pixmaps/free_icon.xpm" |
| 49 | 49 |
| 50 #define REVISION "gaim:$Revision: 1163 $" | 50 #define REVISION "gaim:$Revision: 1192 $" |
| 51 | 51 |
| 52 #define TYPE_SIGNON 1 | 52 #define TYPE_SIGNON 1 |
| 53 #define TYPE_DATA 2 | 53 #define TYPE_DATA 2 |
| 54 #define TYPE_ERROR 3 | 54 #define TYPE_ERROR 3 |
| 55 #define TYPE_SIGNOFF 4 | 55 #define TYPE_SIGNOFF 4 |
| 475 who = strtok(NULL, ":"); | 475 who = strtok(NULL, ":"); |
| 476 message = strtok(NULL, ":"); | 476 message = strtok(NULL, ":"); |
| 477 | 477 |
| 478 serv_got_chat_invite(gc, name, id, who, message); | 478 serv_got_chat_invite(gc, name, id, who, message); |
| 479 } else if (!strcasecmp(c, "CHAT_LEFT")) { | 479 } else if (!strcasecmp(c, "CHAT_LEFT")) { |
| 480 GSList *bcs = gc->buddy_chats; | |
| 481 struct conversation *b = NULL; | |
| 480 int id; | 482 int id; |
| 481 | 483 |
| 482 sscanf(strtok(NULL, ":"), "%d", &id); | 484 sscanf(strtok(NULL, ":"), "%d", &id); |
| 483 | 485 |
| 484 serv_got_chat_left(gc, id); | 486 while (bcs) { |
| 487 b = (struct conversation *)bcs->data; | |
| 488 if (id == b->id) | |
| 489 break; | |
| 490 b = NULL; | |
| 491 bcs = bcs->next; | |
| 492 } | |
| 493 | |
| 494 if (!b) | |
| 495 return; | |
| 496 | |
| 497 if (b->window) { | |
| 498 char error_buf[BUF_LONG]; | |
| 499 b->gc = NULL; | |
| 500 g_snprintf(error_buf, sizeof error_buf, _("You have been disconnected" | |
| 501 " from chat room %s."), b->name); | |
| 502 } else | |
| 503 serv_got_chat_left(gc, id); | |
| 485 } else if (!strcasecmp(c, "GOTO_URL")) { | 504 } else if (!strcasecmp(c, "GOTO_URL")) { |
| 486 char *name, *url, tmp[256]; | 505 char *name, *url, tmp[256]; |
| 487 | 506 |
| 488 name = strtok(NULL, ":"); | 507 name = strtok(NULL, ":"); |
| 489 url = strtok(NULL, ":"); | 508 url = strtok(NULL, ":"); |
| 879 g_snprintf(buf, sizeof(buf)/2, "toc_chat_invite %d \"%s\" %s", id, message, normalize(name)); | 898 g_snprintf(buf, sizeof(buf)/2, "toc_chat_invite %d \"%s\" %s", id, message, normalize(name)); |
| 880 sflap_send(g, buf, -1, TYPE_DATA); | 899 sflap_send(g, buf, -1, TYPE_DATA); |
| 881 } | 900 } |
| 882 | 901 |
| 883 static void toc_chat_leave(struct gaim_connection *g, int id) { | 902 static void toc_chat_leave(struct gaim_connection *g, int id) { |
| 903 GSList *bcs = g->buddy_chats; | |
| 904 struct conversation *b = NULL; | |
| 884 char buf[256]; | 905 char buf[256]; |
| 885 g_snprintf(buf, 255, "toc_chat_leave %d", id); | 906 |
| 886 sflap_send(g, buf, -1, TYPE_DATA); | 907 while (bcs) { |
| 908 b = (struct conversation *)bcs->data; | |
| 909 if (id == b->id) | |
| 910 break; | |
| 911 b = NULL; | |
| 912 bcs = bcs->next; | |
| 913 } | |
| 914 | |
| 915 if (!b) | |
| 916 return; /* can this happen? */ | |
| 917 | |
| 918 if (!b->gc) /* TOC already kicked us out of this room */ | |
| 919 serv_got_chat_left(g, id); | |
| 920 else { | |
| 921 g_snprintf(buf, 255, "toc_chat_leave %d", id); | |
| 922 sflap_send(g, buf, -1, TYPE_DATA); | |
| 923 } | |
| 887 } | 924 } |
| 888 | 925 |
| 889 static void toc_chat_whisper(struct gaim_connection *g, int id, char *who, char *message) { | 926 static void toc_chat_whisper(struct gaim_connection *g, int id, char *who, char *message) { |
| 890 char buf2[MSG_LEN]; | 927 char buf2[MSG_LEN]; |
| 891 g_snprintf(buf2, sizeof(buf2), "toc_chat_whisper %d %s \"%s\"", id, who, message); | 928 g_snprintf(buf2, sizeof(buf2), "toc_chat_whisper %d %s \"%s\"", id, who, message); |
