summaryrefslogtreecommitdiff
path: root/src/core/server-rec.h
AgeCommit message (Collapse)Author
2014-07-06Properly split long IRC messagesSebastian Thorarensen
This commit adds handling of long IRC messages to the core. In contrast to the `splitlong.pl' plugin, multi-byte encoded and recoded messages are properly split. To allow for this, a new function has been added to the server struct: `split_message'. `split_message' returns a string array with the message splitted to substrings of a length that the server can handle. If a protocol module doesn't have any limit, it can simply return a singleton array with a copy of the message. The `MSG' chat command now calls `split_message' before `send_message', and emits `message own_public' / `message own_private' with each substring, so that the string splitting will be visible in the UI. `split_message' in the IRC module uses `recode_split' which in turn uses iconv to properly split multi-byte encoded (and recoded) messages.
2008-05-22Extend net_sendbuffer by adding a LINEBUF_REC member and a ↵Emanuele Giaquinta
net_sendbuffer_receive_line function to read linewise from the associated io channel. Rewrite irc/dcc/proxy read logic on top of it. git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4841 dbcabf3a-b0e7-0310-adc4-f8d773084564
2004-01-20isupport patch by David LeadbeaterTimo Sirainen
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3211 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-02-03Added target_type to send_message(), -channel and -nick parameters to /MSGTimo Sirainen
to specify if it's supposed to be to channel/nick. /MSG -channel is used automatically by irssi when sending messages to channel (the "normal" way without /msg). This should help with protocols that don't have any channel name prefixes. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2383 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-12-14Added reference counting to server record. At least now we don't accidentallyTimo Sirainen
use a destroyed server record when some /command disconnects the server (shouldn't happen really) or when irc_send_cmd() fails sending data to server and disconnects the server (I don't know if this ever happens, but if it does, it very well could have caused crashes) git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2243 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-12-06/UPGRADE broke reconnections to server.Timo Sirainen
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2204 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-19/UPGRADE - upgrade-on-the-fly feature. Currently only moves the activeTimo Sirainen
server connections to the new irssi process, but that should be enough to never quit from IRC again :) git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2070 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-15Lag checking fixes - should work fine again.Timo Sirainen
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2016 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-11Moved rewritten server redirection code from core to irc. This new codeTimo Sirainen
should be able to do the redirecting a lot more error-proof. Changed lag-checking to use PINGs instead of NOTIFYs. This breaks scripts using redirection. Hopefully this doesn't break too much things in irssi :) git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1980 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-11-01server->ischannel(char *) -> server->ischannel(SERVER_REC *, char *). AddedTimo Sirainen
#define server_ischannel(server, data) and it's now used everywhere.. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1954 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-03-07If one server fails because of DNS error, don't stop reconnecting toTimo Sirainen
entire chatnet. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1361 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-01-01added "message own_public" and "message own_private" events that areTimo Sirainen
sent when /msg command is used. this way we don't need to parse the /msg's options everywhere. also efnet @#channels support works now better. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1041 dbcabf3a-b0e7-0310-adc4-f8d773084564
2001-01-01Added/moved several "typedef struct _XXX XXX;" to common.h so thatTimo Sirainen
they're known to all files and I don't need those stupid "void *xxx" anymore just to avoid useless #include. Header files themselves don't either include others as often anymore. Added channel->ownnick to point to our NICK_REC in channel's nicks. Gives a minor speedup in few places :) Moved completion specific lastmsgs from channel/server core records to fe-common/core specific records. Also changed the nick completion logic a bit so it should work better now. Removed completion_keep_publics_count setting, but changed the meaning of completion_keep_publics to same as _count was before. Nick completion doesn't have any time specific code anymore. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1034 dbcabf3a-b0e7-0310-adc4-f8d773084564
2000-12-04Use GIOChannel instead of sockets directly. Helps porting to win32 :)Timo Sirainen
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@962 dbcabf3a-b0e7-0310-adc4-f8d773084564
2000-11-23several fixes to make irssi compile without warnings with MIPSproTimo Sirainen
also fixed ctcp_queue_clean() - it might have crashed sometimes.. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@859 dbcabf3a-b0e7-0310-adc4-f8d773084564
2000-10-14Moved nick/msg/channel completion to core with some cleanups.Timo Sirainen
Moved ignore checking to fe-ignore-messages.c. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@750 dbcabf3a-b0e7-0310-adc4-f8d773084564
2000-09-30multiprotocol updates. SILC prints channel and private messages nowTimo Sirainen
using the same message formats as IRC. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@699 dbcabf3a-b0e7-0310-adc4-f8d773084564
2000-09-06/set autocreate_query -> /set autocreate_query_levelTimo Sirainen
fixes to /ircnet, /server and /channel commands other updates and fixes git-svn-id: http://svn.irssi.org/repos/irssi/trunk@649 dbcabf3a-b0e7-0310-adc4-f8d773084564
2000-09-01Added chat protocol register. Changed all chat_type fields to use it.Timo Sirainen
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@640 dbcabf3a-b0e7-0310-adc4-f8d773084564
2000-08-26Lots of moving stuff around - hopefully I didn't break too much :)Timo Sirainen
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@632 dbcabf3a-b0e7-0310-adc4-f8d773084564