[ekg2-commit] r4132 - in trunk: ekg plugins/gg plugins/irc plugins/jabber: trunk/ekg/protocol.c trunk/ekg/protocol.h trunk/plugins/gg/commands.c trunk/plugins/gg/gg.c trunk/plugins/irc/irc.c trunk/plugins/irc/misc.c trunk/plugins/jabber/commands.c trunk/plugins/jabber/jabber.c trunk/plugins/jabber/jabber_handlers.c
SVN commit
svn w toxygen.net
Sob, 19 Lip 2008, 13:08:43 CEST
Author: darkjames
Date: 2008-07-19 13:08:42 +0200 (Sat, 19 Jul 2008)
New Revision: 4132
Modified:
trunk/ekg/protocol.c
trunk/ekg/protocol.h
trunk/plugins/gg/commands.c
trunk/plugins/gg/gg.c
trunk/plugins/irc/irc.c
trunk/plugins/irc/misc.c
trunk/plugins/jabber/commands.c
trunk/plugins/jabber/jabber.c
trunk/plugins/jabber/jabber_handlers.c
Log:
much better idea than creating variables just to pass pointer to query_emit()
Modified: trunk/ekg/protocol.c
===================================================================
--- trunk/ekg/protocol.c 2008-07-18 11:59:22 UTC (rev 4131)
+++ trunk/ekg/protocol.c 2008-07-19 11:08:42 UTC (rev 4132)
@@ -250,6 +250,10 @@
return 0;
}
+int protocol_disconnected_emit(const session_t *s, const char *reason, int type) {
+ return query_emit_id_ro(NULL, PROTOCOL_DISCONNECTED, &(s->uid), &reason, &type);
+}
+
/**
* protocol_connected()
*
@@ -299,6 +303,10 @@
return 0;
}
+int protocol_connected_emit(const session_t *s) {
+ return query_emit_id_ro(NULL, PROTOCOL_CONNECTED, &(s->uid));
+}
+
/*
* protocol_status()
*
@@ -484,6 +492,10 @@
return 0;
}
+int protocol_status_emit(const session_t *s, const char *uid, int status, char *descr, time_t when) {
+ return query_emit_id_ro(NULL, PROTOCOL_STATUS, &(s->uid), &uid, &status, &descr, &when);
+}
+
/*
* message_print()
*
@@ -836,6 +848,10 @@
return 0;
}
+int protocol_message_emit(const session_t *s, const char *uid, char **rcpts, const char *text, const uint32_t *format, time_t sent, int class, const char *seq, int dobeep, int secure) {
+ return query_emit_id_ro(NULL, PROTOCOL_MESSAGE, &(s->uid), &uid, &rcpts, &text, &format, &sent, &class, &seq, &dobeep, &secure);
+}
+
/**
* protocol_message_ack()
*
Modified: trunk/ekg/protocol.h
===================================================================
--- trunk/ekg/protocol.h 2008-07-18 11:59:22 UTC (rev 4131)
+++ trunk/ekg/protocol.h 2008-07-19 11:08:42 UTC (rev 4132)
@@ -85,6 +85,12 @@
char *message_print(const char *session, const char *sender, const char **rcpts, const char *text, const uint32_t *format,
time_t sent, int class, const char *seq, int dobeep, int secure);
+
+int protocol_connected_emit(const session_t *s);
+int protocol_disconnected_emit(const session_t *s, const char *reason, int type);
+int protocol_message_emit(const session_t *s, const char *uid, char **rcpts, const char *text, const uint32_t *format, time_t sent, int class, const char *seq, int dobeep, int secure);
+int protocol_status_emit(const session_t *s, const char *uid, int status, char *descr, time_t when);
+
#endif
typedef enum {
Modified: trunk/plugins/gg/commands.c
===================================================================
--- trunk/plugins/gg/commands.c 2008-07-18 11:59:22 UTC (rev 4131)
+++ trunk/plugins/gg/commands.c 2008-07-19 11:08:42 UTC (rev 4132)
@@ -101,11 +101,9 @@
printq("not_connected", session_name(session));
} else {
- char *__session = xstrdup(session->uid);
const char *__reason = params[0];
char *myreason;
char *tmp;
- int __type = EKG_DISCONNECT_USER;
if (session->autoaway)
session_status_set(session, EKG_STATUS_AUTOBACK);
@@ -130,10 +128,9 @@
gg_free_session(g->sess);
g->sess = NULL;
- query_emit_id(NULL, PROTOCOL_DISCONNECTED, &__session, &myreason, &__type, NULL);
+ protocol_disconnected_emit(session, myreason, EKG_DISCONNECT_USER);
xfree(myreason);
- xfree(__session);
}
}
@@ -808,16 +805,12 @@
if (valid && !quiet) {
char **rcpts = xmalloc(sizeof(char *) * 2);
- const int ekgbeep = EKG_TRY_BEEP;
- char *me = xstrdup(session_uid_get(session));
- const time_t sent = time(NULL);
rcpts[0] = xstrdup(nick);
rcpts[1] = NULL;
- query_emit_id(NULL, PROTOCOL_MESSAGE, &me, &me, &rcpts, &raw_msg, &ekg_format, &sent, &class, &seq, &ekgbeep, &secure);
+ protocol_message_emit(session, session->uid, rcpts, raw_msg, ekg_format, time(NULL), class, seq, EKG_TRY_BEEP, secure);
- xfree(me);
xfree(rcpts[0]);
xfree(rcpts);
}
Modified: trunk/plugins/gg/gg.c
===================================================================
--- trunk/plugins/gg/gg.c 2008-07-18 11:59:22 UTC (rev 4131)
+++ trunk/plugins/gg/gg.c 2008-07-19 11:08:42 UTC (rev 4132)
@@ -704,7 +704,6 @@
gg_private_t *g = s->priv;
int status;
- char *__session;
int _status;
char *descr;
char *cpdescr;
@@ -714,9 +713,7 @@
return;
}
- __session = xstrdup(session_uid_get(s));
- query_emit_id(NULL, PROTOCOL_CONNECTED, &__session);
- xfree(__session);
+ protocol_connected_emit(s);
gg_userlist_send(g->sess, s->userlist);
@@ -799,16 +796,7 @@
gg_free_session(g->sess);
g->sess = NULL;
- {
- char *__session = xstrdup(session_uid_get(s));
- char *__reason = xstrdup(format_find(reason));
- int __type = EKG_DISCONNECT_FAILURE;
-
- query_emit_id(NULL, PROTOCOL_DISCONNECTED, &__session, &__reason, &__type, NULL);
-
- xfree(__reason);
- xfree(__session);
- }
+ protocol_disconnected_emit(s, format_find(reason), EKG_DISCONNECT_FAILURE);
}
/*
@@ -819,15 +807,8 @@
static void gg_session_handler_disconnect(session_t *s) {
gg_private_t *g = s->priv;
- char *__session = xstrdup(s->uid);
- char *__reason = NULL;
- int __type = EKG_DISCONNECT_FORCED;
+ protocol_disconnected_emit(s, NULL, EKG_DISCONNECT_FORCED);
- query_emit_id(NULL, PROTOCOL_DISCONNECTED, &__session, &__reason, &__type);
-
- xfree(__session);
- xfree(__reason);
-
gg_logoff(g->sess); /* zamknie gniazdo */
gg_free_session(g->sess);
g->sess = NULL;
@@ -839,11 +820,8 @@
* obsługa zmiany stanu przez użytkownika.
*/
static void gg_session_handler_status(session_t *s, uin_t uin, int status, const char *descr, uint32_t ip, uint16_t port, int protocol) {
- char *__session = xstrdup(session_uid_get(s));
char *__uid = saprintf(("gg:%d"), uin);
- int __status = gg_status_to_text(status);
char *__descr = gg_cp_to_locale(xstrdup(descr));
- time_t when = time(NULL);
int i, j, dlen, state = 0, m = 0;
{
@@ -888,11 +866,11 @@
}
}
- query_emit_id(NULL, PROTOCOL_STATUS, &__session, &__uid, &__status, &__descr, &when);
+ protocol_status_emit(s, __uid, gg_status_to_text(status), __descr, time(NULL));
+
xfree(__descr);
xfree(__uid);
- xfree(__session);
}
/*
@@ -1022,20 +1000,12 @@
if (image && check_inv) {
print("gg_we_are_being_checked", session_name(s), format_user(s, __sender));
} else {
- char *__session = xstrdup(session_uid_get(s));
- char *__seq = NULL;
- time_t __sent = e->event.msg.time;
int __class = e->event.msg.sender ? EKG_MSGCLASS_CHAT : EKG_MSGCLASS_SYSTEM;
- int ekgbeep = EKG_TRY_BEEP;
- int secure = 0;
/* if (!check_inv || xstrcmp(__text, ""))
printq("generic", "image in message.\n"); - or something
*/
- query_emit_id(NULL, PROTOCOL_MESSAGE, &__session, &__sender, &__rcpts, &__text, &__format, &__sent, &__class, &__seq, &ekgbeep, &secure);
- xfree(__session);
-
-/* xfree(__seq); */
+ protocol_message_emit(s, __sender, __rcpts, __text, __format, e->event.msg.time, __class, NULL, EKG_TRY_BEEP, 0);
}
xfree(__text);
@@ -1132,19 +1102,8 @@
c_timer->session = s;
timer_add(&gg_plugin, NULL, interval, 0, gg_inv_check_handler, c_timer);
}
- if (u->status == EKG_STATUS_NA) {
- char *session = xstrdup(session_uid_get(s));
- char *uid = xstrdup(tmp);
- int status = EKG_STATUS_INVISIBLE;
- char *descr = xstrdup(u->descr);
- time_t when = time(NULL);
-
- query_emit_id(NULL, PROTOCOL_STATUS, &session, &uid, &status, &descr, &when);
-
- xfree(session);
- xfree(uid);
- xfree(descr);
- }
+ if (u->status == EKG_STATUS_NA)
+ protocol_status_emit(s, tmp, EKG_STATUS_INVISIBLE, u->descr, time(NULL));
} else
print("gg_user_is_connected", session_name(s), format_user(s, tmp));
xfree(c->uid);
@@ -1300,14 +1259,8 @@
if (type == 2) {
if (g->sess->state != GG_STATE_CONNECTING_GG) {
- char *__session = xstrdup(s->uid);
- char *__reason = NULL;
- int __type = EKG_DISCONNECT_FAILURE;
+ protocol_disconnected_emit(s, NULL, EKG_DISCONNECT_FAILURE);
- query_emit_id(NULL, PROTOCOL_DISCONNECTED, &__session, &__reason, &__type);
-
- xfree(__reason);
- xfree(__session);
gg_free_session(g->sess);
g->sess = NULL;
@@ -1319,15 +1272,8 @@
}
if (!(e = gg_watch_fd(g->sess))) {
- char *__session = xstrdup(s->uid);
- char *__reason = NULL;
- int __type = EKG_DISCONNECT_NETWORK;
+ protocol_disconnected_emit(s, NULL, EKG_DISCONNECT_NETWORK);
- query_emit_id(NULL, PROTOCOL_DISCONNECTED, &__session, &__reason, &__type);
-
- xfree(__reason);
- xfree(__session);
-
gg_free_session(g->sess);
g->sess = NULL;
Modified: trunk/plugins/irc/irc.c
===================================================================
--- trunk/plugins/irc/irc.c 2008-07-18 11:59:22 UTC (rev 4131)
+++ trunk/plugins/irc/irc.c 2008-07-19 11:08:42 UTC (rev 4132)
@@ -694,8 +694,7 @@
* EKG_DISCONNECT_USER @ irc_command_disconnect when we do /disconnect when we are connected.
*/
irc_private_t *j = irc_private(s);
- char *__session, *__reason;
- int __type = type;
+ char *__reason;
if (!j) {
debug("[irc_ierror] @irc_handle_disconnect j == NULL");
@@ -740,16 +739,13 @@
*/
}
__reason = xstrdup(format_find(reason));
- __session = xstrdup(session_uid_get(s));
if (!xstrcmp(__reason, "")) {
xfree(__reason);
__reason = xstrdup(reason);
}
-
- query_emit_id(NULL, PROTOCOL_DISCONNECTED, &__session, &__reason, &__type, NULL);
+ protocol_disconnected_emit(s, __reason, type);
xfree(__reason);
- xfree(__session);
}
static WATCHER_LINE(irc_handle_resolver) {
@@ -1122,10 +1118,6 @@
char *head, *coloured;
const char *frname; /* formatname */
- int class = EKG_MSGCLASS_SENT | EKG_NO_THEMEBIT;
- int ekgbeep = EKG_NO_BEEP;
- const time_t sent = time(NULL);
- char *format=NULL, *seq=NULL;
int secure = 0;
char **rcpts;
@@ -1186,9 +1178,9 @@
query_emit_id(NULL, IRC_PROTOCOL_MESSAGE, &(sid), &(j->nick), &mline[1], &isour, &xosd_to_us, &xosd_is_priv, &uid);
query_emit_id(NULL, MESSAGE_ENCRYPT, &sid, &uid, &__msg, &secure);
-
- query_emit_id(NULL, PROTOCOL_MESSAGE, &sid, &sid, &rcpts, &coloured, &format, &sent, &class, &seq, &ekgbeep, &secure);
+ protocol_message_emit(session, session->uid, rcpts, coloured, NULL, time(NULL), (EKG_MSGCLASS_SENT | EKG_NO_THEMEBIT), NULL, EKG_NO_BEEP, secure);
+
/* "Thus, there are 510 characters maximum allowed for the command and its parameters." [rfc2812]
* yes, I know it's a nasty variable reusing ;)
*/
Modified: trunk/plugins/irc/misc.c
===================================================================
--- trunk/plugins/irc/misc.c 2008-07-18 11:59:22 UTC (rev 4131)
+++ trunk/plugins/irc/misc.c 2008-07-19 11:08:42 UTC (rev 4132)
@@ -458,13 +458,12 @@
{
int i, k;
char *t;
- char *__session = xstrdup(session_uid_get(s));
connector_t *temp;
switch (irccommands[ecode].num)
{
case 1:
temp = j->conntmplist->data;
- query_emit_id(NULL, PROTOCOL_CONNECTED, &__session);
+ protocol_connected_emit(s);
t = xstrchr(param[3], '!');
xfree(j->host_ident);
if (t) j->host_ident=xstrdup(++t);
@@ -537,8 +536,6 @@
default:
break;
}
-
- xfree(__session);
return 0;
}
@@ -1074,7 +1071,7 @@
*/
IRC_COMMAND(irc_c_msg)
{
- char *t, *dest, *me, *form=NULL, *seq=NULL, *format;
+ char *t, *dest, *me, *format;
char *head, *xosd_nick, *xosd_chan, **rcpts = NULL;
char *ctcpstripped, *coloured, *pubtous, tous, prefix[2];
int class, ekgbeep= EKG_NO_BEEP;
@@ -1082,7 +1079,6 @@
window_t *w = NULL;
people_t *person;
people_chan_t *perchn = NULL;
- time_t sent;
int secure = 0, xosd_to_us = 0, xosd_is_priv = 0;
char *ignore_nick = NULL;
char *recoded;
@@ -1231,14 +1227,12 @@
xfree(ctcpstripped);
xfree(coloured);
xfree(me);
- me = xstrdup(session_uid_get(s));
- sent = time(NULL);
+ me = NULL;
class |= EKG_NO_THEMEBIT;
ignore_nick = saprintf("%s%s", IRC4, OMITCOLON(param[0]));
if (xosd_is_priv || !(ignored_check(s, ignore_nick) & IGNORE_MSG))
- query_emit_id(NULL, PROTOCOL_MESSAGE, &me, &dest, &rcpts, &head,
- &form, &sent, &class, &seq, &ekgbeep, &secure);
+ protocol_message_emit(s, dest, rcpts, head, NULL, time(NULL), class, NULL, ekgbeep, secure);
xfree(ignore_nick);
xfree(head);
Modified: trunk/plugins/jabber/commands.c
===================================================================
--- trunk/plugins/jabber/commands.c 2008-07-18 11:59:22 UTC (rev 4131)
+++ trunk/plugins/jabber/commands.c 2008-07-19 11:08:42 UTC (rev 4132)
@@ -401,14 +401,10 @@
msgdisplay:
if (!quiet && !ismuc) { /* if (1) ? */
- char *me = xstrdup(session_uid_get(session));
char **rcpts = xcalloc(2, sizeof(char *));
char *msg = xstrdup(params[1]);
- time_t sent = time(NULL);
int class = (chat) ? EKG_MSGCLASS_SENT_CHAT : EKG_MSGCLASS_SENT;
- int ekgbeep = EKG_NO_BEEP;
uint32_t *format= jabber_msg_format(msg, NULL /*XXX: pass htmlmsg as xmlnode_t ...*/);
- char *seq = NULL;
rcpts[0] = xstrdup(uid);
rcpts[1] = NULL;
@@ -416,10 +412,9 @@
if (ismuc)
class |= EKG_NO_THEMEBIT;
- query_emit_id(NULL, PROTOCOL_MESSAGE, &me, &me, &rcpts, &msg, &format, &sent, &class, &seq, &ekgbeep, &secure);
+ protocol_message_emit(session, session->uid, rcpts, msg, format, time(NULL), class, NULL, EKG_NO_BEEP, secure);
xfree(msg);
- xfree(me);
array_free(rcpts);
if (!session_connected_get(session))
Modified: trunk/plugins/jabber/jabber.c
===================================================================
--- trunk/plugins/jabber/jabber.c 2008-07-18 11:59:22 UTC (rev 4131)
+++ trunk/plugins/jabber/jabber.c 2008-07-19 11:08:42 UTC (rev 4132)
@@ -417,7 +417,7 @@
if (!s->connected && !s->connecting)
return;
- query_emit_id_ro(NULL, PROTOCOL_DISCONNECTED, &(s->uid), &reason, &type, NULL);
+ protocol_disconnected_emit(s, reason, type);
if (j->send_watch) {
j->send_watch->type = WATCH_NONE;
Modified: trunk/plugins/jabber/jabber_handlers.c
===================================================================
--- trunk/plugins/jabber/jabber_handlers.c 2008-07-18 11:59:22 UTC (rev 4131)
+++ trunk/plugins/jabber/jabber_handlers.c 2008-07-19 11:08:42 UTC (rev 4132)
@@ -993,11 +993,7 @@
}
if (nbody || nsubject) {
- char *me = xstrdup(session_uid_get(s));
- int ekgbeep = EKG_TRY_BEEP;
int secure = (x_encrypted != NULL);
- char **rcpts = NULL;
- char *seq = NULL;
time_t sent = bsent;
char *text = tlenjabber_unescape(body->str);
uint32_t *format= jabber_msg_format(text, nhtml);
@@ -1017,7 +1013,6 @@
/* jesli (bsent != 0) wtedy mamy do czynienia z backlogiem */
class |= EKG_NO_THEMEBIT; /* XXX: maybe some core-side support instead of forcing our themes? */
- ekgbeep = EKG_NO_BEEP;
if (nick) { /* XXX !!! */
char attr[2] = { ' ', 0 };
@@ -1046,23 +1041,17 @@
formatted = format_string(format_find("jabber_muc_notice"), session_name(s), uid+5, text);
}
- query_emit_id(NULL, PROTOCOL_MESSAGE, &me, &uid, &rcpts, &formatted, &format, &sent, &class, &seq, &ekgbeep, &secure);
+ protocol_message_emit(s, uid, NULL, formatted, format, sent, class, NULL, EKG_NO_BEEP, secure);
xfree(uid2);
xfree(nick);
xfree(formatted);
xfree(format);
} else {
- query_emit_id(NULL, PROTOCOL_MESSAGE, &me, &uid, &rcpts, &text, &format, &sent, &class, &seq, &ekgbeep, &secure);
+ protocol_message_emit(s, uid, NULL, text, format, sent, class, NULL, EKG_TRY_BEEP, secure);
}
- xfree(me);
xfree(text);
- array_free(rcpts);
-/*
- xfree(seq);
- xfree(format);
-*/
}
xfree(x_encrypted);
@@ -1673,7 +1662,7 @@
if (!when)
when = time(NULL);
- query_emit_id_ro(NULL, PROTOCOL_STATUS, &(s->uid), &uid, &status, &descr, &when);
+ protocol_status_emit(s, uid, status, descr, when);
xfree(descr);
}
xfree(uid);
@@ -1681,15 +1670,14 @@
static void jabber_session_connected(session_t *s) {
jabber_private_t *j = jabber_private(s);
- char *__session = xstrdup(session_uid_get(s));
s->connecting = 0;
- query_emit_id(NULL, PROTOCOL_CONNECTED, &__session);
+ protocol_connected_emit(s);
if (session_get(s, "__new_account")) {
- print("register", __session);
- if (!xstrcmp(session_get(s, "password"), "foo")) print("register_change_passwd", __session, "foo");
+ print("register", s->uid);
+ if (!xstrcmp(session_get(s, "password"), "foo")) print("register_change_passwd", s->uid, "foo");
session_set(s, "__new_account", NULL);
}
@@ -1716,7 +1704,6 @@
"<iq type=\"get\" id=\"gmail%d\"><query xmlns=\"google:mail:notify\"/></iq>",
j->id++);
}
- xfree(__session);
}
static void newmail_common(session_t *s) { /* maybe inline? */
Więcej informacji o liście dyskusyjnej ekg2-commit