summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/commands.h2
-rw-r--r--src/core/net-nonblock.h2
-rw-r--r--src/core/net-sendbuffer.c2
-rw-r--r--src/core/net-sendbuffer.h2
-rw-r--r--src/core/network.c2
-rw-r--r--src/core/nicklist.c2
-rw-r--r--src/core/query-rec.h2
-rw-r--r--src/core/servers-reconnect.c3
-rw-r--r--src/core/servers-setup.c3
-rw-r--r--src/fe-common/core/fe-messages.c19
-rw-r--r--src/fe-common/core/fe-queries.c7
-rw-r--r--src/fe-common/irc/fe-irc-messages.c27
-rw-r--r--src/fe-text/tparm.c12
-rw-r--r--src/irc/core/channels-query.c2
-rw-r--r--src/irc/core/servers-redirect.c4
15 files changed, 60 insertions, 31 deletions
diff --git a/src/core/commands.h b/src/core/commands.h
index c68c5b24..d65185e5 100644
--- a/src/core/commands.h
+++ b/src/core/commands.h
@@ -158,7 +158,7 @@ char *cmd_get_quoted_param(char **data);
/* get parameters from command - you should point free_me somewhere and
cmd_params_free() it after you don't use any of the parameters anymore.
- Returns TRUE if all ok, FALSE if error occured. */
+ Returns TRUE if all ok, FALSE if error occurred. */
int cmd_get_params(const char *data, gpointer *free_me, int count, ...);
void cmd_params_free(void *free_me);
diff --git a/src/core/net-nonblock.h b/src/core/net-nonblock.h
index 32cfac70..af5968c8 100644
--- a/src/core/net-nonblock.h
+++ b/src/core/net-nonblock.h
@@ -29,7 +29,7 @@ int net_gethostbyname_nonblock(const char *addr, GIOChannel *pipe,
int reverse_lookup);
/* Get host's name, call func when finished */
int net_gethostbyaddr_nonblock(IPADDR *ip, NET_HOST_CALLBACK func, void *data);
-/* get the resolved IP address. returns -1 if some error occured with read() */
+/* get the resolved IP address. returns -1 if some error occurred with read() */
int net_gethostbyname_return(GIOChannel *pipe, RESOLVED_IP_REC *rec);
/* Connect to server, call func when finished */
diff --git a/src/core/net-sendbuffer.c b/src/core/net-sendbuffer.c
index 9d4b0e37..39257486 100644
--- a/src/core/net-sendbuffer.c
+++ b/src/core/net-sendbuffer.c
@@ -109,7 +109,7 @@ static int buffer_add(NET_SENDBUF_REC *rec, const void *data, int size)
/* Send data, if all of it couldn't be sent immediately, it will be resent
automatically after a while. Returns -1 if some unrecoverable error
- occured. */
+ occurred. */
int net_sendbuffer_send(NET_SENDBUF_REC *rec, const void *data, int size)
{
int ret;
diff --git a/src/core/net-sendbuffer.h b/src/core/net-sendbuffer.h
index 785f59ae..bdeb7156 100644
--- a/src/core/net-sendbuffer.h
+++ b/src/core/net-sendbuffer.h
@@ -24,7 +24,7 @@ void net_sendbuffer_destroy(NET_SENDBUF_REC *rec, int close);
/* Send data, if all of it couldn't be sent immediately, it will be resent
automatically after a while. Returns -1 if some unrecoverable error
- occured. */
+ occurred. */
int net_sendbuffer_send(NET_SENDBUF_REC *rec, const void *data, int size);
int net_sendbuffer_receive_line(NET_SENDBUF_REC *rec, char **str, int read_socket);
diff --git a/src/core/network.c b/src/core/network.c
index 3659ab36..bfaa47fb 100644
--- a/src/core/network.c
+++ b/src/core/network.c
@@ -624,7 +624,7 @@ const char *net_gethosterror(int error)
int net_hosterror_notfound(int error)
{
#ifdef HAVE_IPV6
-#ifdef EAI_NODATA /* NODATA is depricated */
+#ifdef EAI_NODATA /* NODATA is deprecated */
return error != 1 && (error == EAI_NONAME || error == EAI_NODATA);
#else
return error != 1 && (error == EAI_NONAME);
diff --git a/src/core/nicklist.c b/src/core/nicklist.c
index a5f25f34..b1c9ecef 100644
--- a/src/core/nicklist.c
+++ b/src/core/nicklist.c
@@ -342,7 +342,7 @@ GSList *nicklist_get_same_unique(SERVER_REC *server, void *id)
return rec.list;
}
-/* nick record comparision for sort functions */
+/* nick record comparison for sort functions */
int nicklist_compare(NICK_REC *p1, NICK_REC *p2, const char *nick_prefix)
{
int i;
diff --git a/src/core/query-rec.h b/src/core/query-rec.h
index fc08d2ef..59519ad4 100644
--- a/src/core/query-rec.h
+++ b/src/core/query-rec.h
@@ -7,5 +7,5 @@ char *server_tag;
time_t last_unread_msg;
unsigned int unwanted:1; /* TRUE if the other side closed or
- some error occured (DCC chats!) */
+ some error occurred (DCC chats!) */
unsigned int destroying:1;
diff --git a/src/core/servers-reconnect.c b/src/core/servers-reconnect.c
index 0a08b461..d99a5405 100644
--- a/src/core/servers-reconnect.c
+++ b/src/core/servers-reconnect.c
@@ -253,6 +253,9 @@ static void sig_reconnect(SERVER_REC *server)
conn->port = server->connrec->port;
conn->password = g_strdup(server->connrec->password);
+ if (strchr(conn->address, '/') != NULL)
+ conn->unix_socket = TRUE;
+
server_reconnect_add(conn, (server->connect_time == 0 ? time(NULL) :
server->connect_time) + reconnect_time);
server_connect_unref(conn);
diff --git a/src/core/servers-setup.c b/src/core/servers-setup.c
index 0819ff1a..27d9f1f0 100644
--- a/src/core/servers-setup.c
+++ b/src/core/servers-setup.c
@@ -122,6 +122,9 @@ static void server_setup_fill(SERVER_CONNECT_REC *conn,
conn->address = g_strdup(address);
if (port > 0) conn->port = port;
+ if (strchr(address, '/') != NULL)
+ conn->unix_socket = TRUE;
+
if (!conn->nick) conn->nick = g_strdup(settings_get_str("nick"));
conn->username = g_strdup(settings_get_str("user_name"));
conn->realname = g_strdup(settings_get_str("real_name"));
diff --git a/src/fe-common/core/fe-messages.c b/src/fe-common/core/fe-messages.c
index 97f3d84d..1d44bdd9 100644
--- a/src/fe-common/core/fe-messages.c
+++ b/src/fe-common/core/fe-messages.c
@@ -242,13 +242,16 @@ static void sig_message_public(SERVER_REC *server, const char *msg,
}
static void sig_message_private(SERVER_REC *server, const char *msg,
- const char *nick, const char *address)
+ const char *nick, const char *address, const char *target)
{
QUERY_REC *query;
char *freemsg = NULL;
int level = MSGLEVEL_MSGS;
- query = query_find(server, nick);
+ /* own message returned by bouncer? */
+ int own = (!strcmp(nick, server->nick));
+
+ query = query_find(server, own ? target : nick);
if (settings_get_bool("emphasis"))
msg = freemsg = expand_emphasis((WI_ITEM_REC *) query, msg);
@@ -256,9 +259,15 @@ static void sig_message_private(SERVER_REC *server, const char *msg,
if (ignore_check(server, nick, address, NULL, msg, level | MSGLEVEL_NO_ACT))
level |= MSGLEVEL_NO_ACT;
- printformat(server, nick, level,
- query == NULL ? TXT_MSG_PRIVATE :
- TXT_MSG_PRIVATE_QUERY, nick, address, msg);
+ if (own) {
+ printformat(server, target, level,
+ query == NULL ? TXT_OWN_MSG_PRIVATE :
+ TXT_OWN_MSG_PRIVATE_QUERY, target, msg, server->nick);
+ } else {
+ printformat(server, nick, level,
+ query == NULL ? TXT_MSG_PRIVATE :
+ TXT_MSG_PRIVATE_QUERY, nick, address, msg);
+ }
g_free_not_null(freemsg);
}
diff --git a/src/fe-common/core/fe-queries.c b/src/fe-common/core/fe-queries.c
index 7599fb23..5cdf87ee 100644
--- a/src/fe-common/core/fe-queries.c
+++ b/src/fe-common/core/fe-queries.c
@@ -326,12 +326,15 @@ static int sig_query_autoclose(void)
}
static void sig_message_private(SERVER_REC *server, const char *msg,
- const char *nick, const char *address)
+ const char *nick, const char *address, const char *target)
{
QUERY_REC *query;
+ /* own message returned by bouncer? */
+ int own = (!strcmp(nick, server->nick));
+
/* create query window if needed */
- query = privmsg_get_query(server, nick, FALSE, MSGLEVEL_MSGS);
+ query = privmsg_get_query(server, own ? target : nick, FALSE, MSGLEVEL_MSGS);
/* reset the query's last_unread_msg timestamp */
if (query != NULL)
diff --git a/src/fe-common/irc/fe-irc-messages.c b/src/fe-common/irc/fe-irc-messages.c
index 0c83a531..e0849c75 100644
--- a/src/fe-common/irc/fe-irc-messages.c
+++ b/src/fe-common/irc/fe-irc-messages.c
@@ -160,6 +160,7 @@ static void sig_message_irc_action(IRC_SERVER_REC *server, const char *msg,
const char *oldtarget;
char *freemsg = NULL;
int level;
+ int own = FALSE;
oldtarget = target;
target = skip_target(IRC_SERVER(server), target);
@@ -174,10 +175,12 @@ static void sig_message_irc_action(IRC_SERVER_REC *server, const char *msg,
level | MSGLEVEL_NO_ACT))
level |= MSGLEVEL_NO_ACT;
- if (ischannel(*target))
+ if (ischannel(*target)) {
item = irc_channel_find(server, target);
- else
- item = privmsg_get_query(SERVER(server), nick, FALSE, level);
+ } else {
+ own = (!strcmp(nick, server->nick));
+ item = privmsg_get_query(SERVER(server), own ? nick : target, FALSE, level);
+ }
if (settings_get_bool("emphasis"))
msg = freemsg = expand_emphasis(item, msg);
@@ -195,11 +198,19 @@ static void sig_message_irc_action(IRC_SERVER_REC *server, const char *msg,
nick, oldtarget, msg);
}
} else {
- /* private action */
- printformat(server, nick, MSGLEVEL_ACTIONS | MSGLEVEL_MSGS,
- item == NULL ? IRCTXT_ACTION_PRIVATE :
- IRCTXT_ACTION_PRIVATE_QUERY,
- nick, address == NULL ? "" : address, msg);
+ if (own) {
+ /* own action bounced */
+ printformat(server, target,
+ MSGLEVEL_ACTIONS | MSGLEVEL_MSGS,
+ item != NULL && oldtarget == target ? IRCTXT_OWN_ACTION : IRCTXT_OWN_ACTION_TARGET,
+ server->nick, msg, oldtarget);
+ } else {
+ /* private action */
+ printformat(server, nick, MSGLEVEL_ACTIONS | MSGLEVEL_MSGS,
+ item == NULL ? IRCTXT_ACTION_PRIVATE :
+ IRCTXT_ACTION_PRIVATE_QUERY,
+ nick, address == NULL ? "" : address, msg);
+ }
}
g_free_not_null(freemsg);
diff --git a/src/fe-text/tparm.c b/src/fe-text/tparm.c
index 3f58e6f3..97c790da 100644
--- a/src/fe-text/tparm.c
+++ b/src/fe-text/tparm.c
@@ -153,7 +153,7 @@ static int termcap;
all terminfo codes are invalid unless something has been pushed on
the stack and termcap strings will never push things on the stack
(%p isn't used by termcap). So where we have a choice we make the
- decision by wether or not somthing has been pushed on the stack.
+ decision by whether or not somthing has been pushed on the stack.
The static variable termcap keeps track of this; it starts out set
to 1 and is incremented as each argument processed by a termcap % code,
however if something is pushed on the stack it's set to 0 and the
@@ -170,7 +170,7 @@ static int termcap;
%c output pop as a char
%'c' push character constant c.
%{n} push decimal constant n.
- %p[1-9] push paramter [1-9]
+ %p[1-9] push parameter [1-9]
%g[a-z] push variable [a-z]
%P[a-z] put pop in variable [a-z]
%l push the length of pop (a string)
@@ -188,7 +188,7 @@ static int termcap;
%O logical or pop and pop and push the result
%! push the logical not of pop
%? condition %t if_true [%e if_false] %;
- if condtion evaulates as true then evaluate if_true,
+ if condition evaulates as true then evaluate if_true,
else evaluate if_false. elseif's can be done:
%? cond %t true [%e cond2 %t true2] ... [%e condN %t trueN] [%e false] %;
%i add one to parameters 1 and 2. (ANSI)
@@ -208,7 +208,7 @@ static int termcap;
(UW) %sx subtract parameter FROM the character x
%>xy if parameter > character x then add character y to parameter
%B convert to BCD (parameter = (parameter/10)*16 + parameter%16)
- %D Delta Data encode (parameter = parameter - 2*(paramter%16))
+ %D Delta Data encode (parameter = parameter - 2*(parameter%16))
%i increment the first two parameters by one
%n xor the first two parameters by 0140
(GNU) %m xor the first two parameters by 0177
@@ -216,7 +216,7 @@ static int termcap;
(GNU) %b backup to previous parameter
(GNU) %f skip this parameter
- Note the two definitions of %a, the GNU defintion is used if the characters
+ Note the two definitions of %a, the GNU definition is used if the characters
after the 'a' are valid, otherwise the UW definition is used.
(GNU) used by GNU Emacs termcap libraries
@@ -316,7 +316,7 @@ char *tparm(const char *str, ...) {
if ((sp[1] == 'p' || sp[1] == 'c')
&& sp[2] != '\0' && fmt == NULL) {
/* GNU aritmitic parameter, what they
- realy need is terminfo. */
+ really need is terminfo. */
int val, lc;
if (sp[1] == 'p'
&& getarg(termcap - 1 + sp[2] - '@',
diff --git a/src/irc/core/channels-query.c b/src/irc/core/channels-query.c
index 48ba5703..857ebaf0 100644
--- a/src/irc/core/channels-query.c
+++ b/src/irc/core/channels-query.c
@@ -311,7 +311,7 @@ static void channel_checksync(IRC_CHANNEL_REC *channel)
signal_emit("channel sync", 1, channel);
}
-/* Error occured when trying to execute query - abort and try again. */
+/* Error occurred when trying to execute query - abort and try again. */
static void query_current_error(IRC_SERVER_REC *server)
{
SERVER_QUERY_REC *rec;
diff --git a/src/irc/core/servers-redirect.c b/src/irc/core/servers-redirect.c
index 34beaef6..518248cb 100644
--- a/src/irc/core/servers-redirect.c
+++ b/src/irc/core/servers-redirect.c
@@ -734,7 +734,7 @@ void servers_redirect_init(void)
"event 403", 1, /* no such channel */
"event 442", 1, /* "you're not on that channel" */
"event 479", 1, /* "Cannot join channel (illegal name)" IMHO this is not a logical reply from server. */
- "event 472", -1, /* unknown mode (you should check e-mode's existance from 004 event instead of relying on this) */
+ "event 472", -1, /* unknown mode (you should check e-mode's existence from 004 event instead of relying on this) */
NULL,
NULL);
@@ -747,7 +747,7 @@ void servers_redirect_init(void)
"event 403", 1, /* no such channel */
"event 442", 1, /* "you're not on that channel" */
"event 479", 1, /* "Cannot join channel (illegal name)" IMHO this is not a logical reply from server. */
- "event 472", -1, /* unknown mode (you should check I-mode's existance from 004 event instead of relying on this) */
+ "event 472", -1, /* unknown mode (you should check I-mode's existence from 004 event instead of relying on this) */
NULL,
NULL);