1
0
mirror of https://github.com/irssi/irssi.git synced 2024-11-03 04:27:19 -05:00
Commit Graph

40 Commits

Author SHA1 Message Date
Sebastian Thorarensen
1c73bde239 Fix minor coding style issues in message splitting 2014-07-06 23:24:10 +02:00
Sebastian Thorarensen
e6147fb8f2 Properly split long IRC messages
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.
2014-07-06 23:24:09 +02:00
Emanuele Giaquinta
a8680fb7da Amend fix for bug #392, assume utf-8 encoding for an ascii string in
which no escape character occurs.


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4928 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-11-29 10:45:58 +00:00
Emanuele Giaquinta
d6be6b9cff Factor code to check if a string is ascii only into a function.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4926 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-11-28 23:01:45 +00:00
Emanuele Giaquinta
21abb51130 Cache charset related data rather than computing it everytime recode_{in,out}
is called.


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4862 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-06-10 22:49:00 +00:00
Emanuele Giaquinta
e2362f7884 Partly revert r4796, it is not a bug but by design that
recode_fallback is honored only when the terminal encoding is utf-8.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4799 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-04-05 17:07:37 +00:00
Emanuele Giaquinta
68763eb4e8 Cosmetics.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4797 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-04-05 13:11:22 +00:00
Emanuele Giaquinta
76fb9b6ac2 Fix logic in recode_in:
Honour recode_fallback also when the terminal encoding is not utf-8.
Return the string as it is when the terminal encoding is utf-8, the
string is valid utf-8, and the first conversion failed, rather than
trying again the same conversion.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4796 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-04-05 13:07:26 +00:00
Emanuele Giaquinta
7df46597e1 Use g_ascii_str{,n}casecmp for case insensitive comparison with
ascii only strings.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4738 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-03-09 12:01:16 +00:00
Emanuele Giaquinta
ffe5bd6930 Remove trailing whitespace.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4705 dbcabf3a-b0e7-0310-adc4-f8d773084564
2008-02-04 15:30:38 +00:00
Emanuele Giaquinta
cce9683658 Simplify is_valid_charset by just checking with g_iconv_open that the
conversion is supported.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4665 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-12-09 16:10:07 +00:00
Emanuele Giaquinta
afa4292466 Farewell glib-1.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4509 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-20 23:13:29 +00:00
Emanuele Giaquinta
9dc678e1d3 Factor common code in recode_{in,out}.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4499 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-18 14:41:44 +00:00
Wouter Coekaerts
9c2d621cc6 Oops. Update address correctly now.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4490 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-08 18:41:10 +00:00
Wouter Coekaerts
023026e12b Update FSF address
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4489 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-08 18:16:58 +00:00
Emanuele Giaquinta
2b2b904ada Do not call iconfig_get_str when target is NULL.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4487 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-05-06 16:22:09 +00:00
Emanuele Giaquinta
ef0cc3feca Reindent.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4405 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-01-06 16:08:29 +00:00
Emanuele Giaquinta
646e3ecb5d Remove the target != NULL constraint in recode_out.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4404 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-01-06 16:00:45 +00:00
Emanuele Giaquinta
721650c300 Simplify.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4403 dbcabf3a-b0e7-0310-adc4-f8d773084564
2007-01-06 15:52:22 +00:00
Emanuele Giaquinta
66ae6d0876 Cosmetic.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4372 dbcabf3a-b0e7-0310-adc4-f8d773084564
2006-09-20 23:47:20 +00:00
Emanuele Giaquinta
a7b0e6b3f2 Make compilation of is_translit conditional on glib-2.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4369 dbcabf3a-b0e7-0310-adc4-f8d773084564
2006-09-20 23:11:17 +00:00
Emanuele Giaquinta
3cdf50170f Add public is_utf8 function by refactoring existing code.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4368 dbcabf3a-b0e7-0310-adc4-f8d773084564
2006-09-20 23:04:40 +00:00
Valentin Batz
da965109ed Don't assume that 7bit ascii strings are encoded in UTF-8, only validate the strings when they contain octest with highest bit set. (patch by Mikko Rauhala)
fixes http://bugs.irssi.org/index.php?do=details&id=392

git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4300 dbcabf3a-b0e7-0310-adc4-f8d773084564
2006-07-25 11:02:10 +00:00
Timo Sirainen
342141fcb2 If transliterations don't work in the system (eg. Solaris), don't allow
recode_transliterate setting to be enabled.



git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4082 dbcabf3a-b0e7-0310-adc4-f8d773084564
2005-11-19 18:13:18 +00:00
Timo Sirainen
2e75479637 Default recode_transliterate to yes
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4079 dbcabf3a-b0e7-0310-adc4-f8d773084564
2005-11-19 16:15:55 +00:00
Valentin Batz
68e4516d0b changed recode_fallback to CP1252
added recode_autodetect_utf8, it's on by default
removed settings_remove calls from recode_deinit since I don't see any other internal module doing it


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4067 dbcabf3a-b0e7-0310-adc4-f8d773084564
2005-11-07 19:06:42 +00:00
Valentin Batz
0b8a23ad63 fixed a bug in recode when target is NULL and really use the recoded string for printing
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4042 dbcabf3a-b0e7-0310-adc4-f8d773084564
2005-10-16 11:16:33 +00:00
Wouter Coekaerts
c701330433 Don't crash with /me in dcc, or dcc message on disconnected server, with recode (Bug 330)
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4033 dbcabf3a-b0e7-0310-adc4-f8d773084564
2005-10-10 10:04:51 +00:00
Valentin Batz
240a7df160 Forgot to add the additional parameter to g_convert_with_fallback (This always happens when I'm applying patches manually :( )
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3882 dbcabf3a-b0e7-0310-adc4-f8d773084564
2005-07-24 20:01:06 +00:00
Valentin Batz
56041a3144 Added an option to specify a charset for a whole network. For example /recode add IRCnet iso-8859-1 (http://bugs.irssi.org/index.php?do=details&id=284) Patch by Sergey Safonov. Replaced g_convert by g_convert_with_fallback in recode_in (http://bugs.irssi.org/index.php?do=details&id=241) Patch by Kuang-che Wu.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3881 dbcabf3a-b0e7-0310-adc4-f8d773084564
2005-07-24 19:16:14 +00:00
Valentin Batz
eefd999fa4 Added a new boolean setting 'recode' to provide an opportunity to turn off recode completely
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3805 dbcabf3a-b0e7-0310-adc4-f8d773084564
2005-06-29 07:47:45 +00:00
Valentin Batz
b5f93b6164 call setlocale(LC_ALL, ) once in fe-text/irssi.c and not everytime recode_get_charset() is called in recode.c
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3703 dbcabf3a-b0e7-0310-adc4-f8d773084564
2005-01-12 16:40:44 +00:00
Valentin Batz
f4c1b605ed call setlocale(LC_ALL, ) before g_get_charset to properly return the user's charset
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3702 dbcabf3a-b0e7-0310-adc4-f8d773084564
2005-01-12 12:10:48 +00:00
Valentin Batz
8b772ff6ec Fixed target handling in recode_out
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3693 dbcabf3a-b0e7-0310-adc4-f8d773084564
2004-12-20 15:06:29 +00:00
Valentin Batz
7be7dd374c Added <tag>/<target> support for recode.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3692 dbcabf3a-b0e7-0310-adc4-f8d773084564
2004-12-20 13:59:15 +00:00
Valentin Batz
a26038c664 Changed the order of recode_out_default_charset, it doesn't override /recode add anymore. The string returned by nl_langinfo(CODESET) may be empty, use ISO8859-1 in this case
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3306 dbcabf3a-b0e7-0310-adc4-f8d773084564
2004-09-20 12:45:49 +00:00
Valentin Batz
19ca0eb059 Forgot g_free(translit_to); in recode_in
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3304 dbcabf3a-b0e7-0310-adc4-f8d773084564
2004-09-18 03:42:59 +00:00
Valentin Batz
8ea717b676 Fixed memleak in recode.c, fixed typo in special_vars.txt, fixed bug 105, fixed bug 106
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3295 dbcabf3a-b0e7-0310-adc4-f8d773084564
2004-09-15 12:11:43 +00:00
Timo Sirainen
82052118a7 Bug #104 recode treats multibyte jp characters as utf8. Patch by Valentin
Batz


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3285 dbcabf3a-b0e7-0310-adc4-f8d773084564
2004-08-21 07:05:16 +00:00
Timo Sirainen
df9f46cf4d forgot to add
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3284 dbcabf3a-b0e7-0310-adc4-f8d773084564
2004-08-20 00:27:05 +00:00