comparison src/protocols/irc/irc.c @ 7711:ebd43be54140

[gaim-migrate @ 8356] YamiPharaoh has pointed out that some servers use & as a user status character. committer: Tailor Script <tailor@pidgin.im>
author Ethan Blanton <elb@pidgin.im>
date Wed, 03 Dec 2003 01:27:53 +0000
parents b34655144117
children 0555e59dfba9
comparison
equal deleted inserted replaced
7710:45fd907e1d48 7711:ebd43be54140
48 static int irc_im_send(GaimConnection *gc, const char *who, const char *what, GaimConvImFlags flags); 48 static int irc_im_send(GaimConnection *gc, const char *who, const char *what, GaimConvImFlags flags);
49 static int irc_chat_send(GaimConnection *gc, int id, const char *what); 49 static int irc_chat_send(GaimConnection *gc, int id, const char *what);
50 static void irc_chat_join (GaimConnection *gc, GHashTable *data); 50 static void irc_chat_join (GaimConnection *gc, GHashTable *data);
51 static void irc_input_cb(gpointer data, gint source, GaimInputCondition cond); 51 static void irc_input_cb(gpointer data, gint source, GaimInputCondition cond);
52 52
53 static guint irc_nick_hash(const char *nick);
54 static gboolean irc_nick_equal(const char *nick1, const char *nick2);
55 static void irc_buddy_free(struct irc_buddy *ib);
56
57 static GaimPlugin *_irc_plugin = NULL;
58
59 static const char *status_chars = "@+%&";
60
53 static void irc_view_motd(GaimConnection *gc) 61 static void irc_view_motd(GaimConnection *gc)
54 { 62 {
55 struct irc_conn *irc; 63 struct irc_conn *irc;
56 char *title; 64 char *title;
57 65
66 return; 74 return;
67 } 75 }
68 title = g_strdup_printf(_("MOTD for %s"), irc->server); 76 title = g_strdup_printf(_("MOTD for %s"), irc->server);
69 gaim_notify_formatted(gc, title, title, NULL, irc->motd->str, NULL, NULL); 77 gaim_notify_formatted(gc, title, title, NULL, irc->motd->str, NULL, NULL);
70 } 78 }
71
72 static guint irc_nick_hash(const char *nick);
73 static gboolean irc_nick_equal(const char *nick1, const char *nick2);
74 static void irc_buddy_free(struct irc_buddy *ib);
75
76 static GaimPlugin *_irc_plugin = NULL;
77 79
78 int irc_send(struct irc_conn *irc, const char *buf) 80 int irc_send(struct irc_conn *irc, const char *buf)
79 { 81 {
80 if (irc->fd < 0) 82 if (irc->fd < 0)
81 return -1; 83 return -1;
285 static int irc_im_send(GaimConnection *gc, const char *who, const char *what, GaimConvImFlags flags) 287 static int irc_im_send(GaimConnection *gc, const char *who, const char *what, GaimConvImFlags flags)
286 { 288 {
287 struct irc_conn *irc = gc->proto_data; 289 struct irc_conn *irc = gc->proto_data;
288 const char *args[2]; 290 const char *args[2];
289 291
290 if (*who == '@' || *who == '%' || *who == '+') 292 if (strchr(status_chars, *who) != NULL)
291 args[0] = who + 1; 293 args[0] = who + 1;
292 else 294 else
293 args[0] = who; 295 args[0] = who;
294 args[1] = what; 296 args[1] = what;
295 297