comparison src/protocols/irc/irc.c @ 2205:cff4fbe01c7b

[gaim-migrate @ 2215] eric@blue:~/gaim/app/src/protocols $ cat gtk for i in icq irc jabber msn napster oscar toc yahoo zephyr do echo -n $i: grep -i g\[td\]k $i/*.c | wc -l done eric@blue:~/gaim/app/src/protocols $ ./gtk icq: 13 irc: 0 jabber: 59 msn: 0 napster: 106 oscar: 13 toc: 25 yahoo: 15 zephyr: 2 committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Fri, 31 Aug 2001 20:36:11 +0000
parents b51cd9350d65
children e2174cd3be6a
comparison
equal deleted inserted replaced
2204:5014b802eb41 2205:cff4fbe01c7b
74 return "IRC"; 74 return "IRC";
75 } 75 }
76 76
77 static void irc_get_info(struct gaim_connection *gc, char *who); 77 static void irc_get_info(struct gaim_connection *gc, char *who);
78 78
79 static void irc_join_chat(struct gaim_connection *gc, int id, char *name) 79 static GList *irc_chat_info(struct gaim_connection *gc)
80 {
81 GList *m = NULL;
82 struct proto_chat_entry *pce;
83
84 pce = g_new0(struct proto_chat_entry, 1);
85 pce->label = _("Room:");
86 m = g_list_append(m, pce);
87
88 return m;
89 }
90
91 static void irc_join_chat(struct gaim_connection *gc, GList *data)
80 { 92 {
81 struct irc_data *idata = (struct irc_data *)gc->proto_data; 93 struct irc_data *idata = (struct irc_data *)gc->proto_data;
82 gchar *buf = (gchar *) g_malloc(IRC_BUF_LEN + 1); 94 gchar *buf, *name;
95
96 if (!data)
97 return;
98 name = data->data;
99
100 buf = (gchar *) g_malloc(IRC_BUF_LEN + 1);
83 101
84 g_snprintf(buf, IRC_BUF_LEN, "JOIN %s\n", name); 102 g_snprintf(buf, IRC_BUF_LEN, "JOIN %s\n", name);
85 write(idata->fd, buf, strlen(buf)); 103 write(idata->fd, buf, strlen(buf));
86 write(idata->fd, buf, strlen(buf)); 104 write(idata->fd, buf, strlen(buf));
87 105
421 } 439 }
422 440
423 else if (!g_strncasecmp(message, "/join ", 6) && (strlen(message) > 6)) { 441 else if (!g_strncasecmp(message, "/join ", 6) && (strlen(message) > 6)) {
424 442
425 gchar *temp = (gchar *) g_malloc(IRC_BUF_LEN + 1); 443 gchar *temp = (gchar *) g_malloc(IRC_BUF_LEN + 1);
444 GList *m = g_list_append(NULL, temp);
426 445
427 strcpy(temp, message + 6); 446 strcpy(temp, message + 6);
428 447
429 448
430 irc_join_chat(gc, 0, temp); 449 irc_join_chat(gc, m);
431 g_free(temp); 450 g_free(temp);
451 g_list_free(m);
432 is_command = TRUE; 452 is_command = TRUE;
433 return 0; 453 return 0;
434 } 454 }
435 455
436 else if (!g_strncasecmp(message, "/raw ", 5) && (strlen(message) > 5)) { 456 else if (!g_strncasecmp(message, "/raw ", 5) && (strlen(message) > 5)) {
2072 ret->buddy_menu = irc_buddy_menu; 2092 ret->buddy_menu = irc_buddy_menu;
2073 ret->user_opts = irc_user_opts; 2093 ret->user_opts = irc_user_opts;
2074 ret->login = irc_login; 2094 ret->login = irc_login;
2075 ret->close = irc_close; 2095 ret->close = irc_close;
2076 ret->send_im = irc_send_im; 2096 ret->send_im = irc_send_im;
2097 ret->chat_info = irc_chat_info;
2077 ret->join_chat = irc_join_chat; 2098 ret->join_chat = irc_join_chat;
2078 ret->chat_leave = irc_chat_leave; 2099 ret->chat_leave = irc_chat_leave;
2079 ret->chat_send = irc_chat_send; 2100 ret->chat_send = irc_chat_send;
2080 ret->get_info = irc_get_info; 2101 ret->get_info = irc_get_info;
2081 ret->set_away = irc_set_away; 2102 ret->set_away = irc_set_away;