mirror of
https://github.com/irssi/irssi.git
synced 2026-08-09 11:50:10 +02:00
Compare commits
7 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
248a1591a2 | ||
|
|
27c02a2d96 | ||
|
|
bb7e81438d | ||
|
|
fddcbe56c9 | ||
|
|
309ea88252 | ||
|
|
24547829e7 | ||
|
|
bb600a6575 |
9 changed files with 79 additions and 17 deletions
21
NEWS
21
NEWS
|
|
@ -1,3 +1,24 @@
|
|||
v1.2.1 2019-06-29 The Irssi team <staff@irssi.org>
|
||||
! Contains all changes from 1.1.3
|
||||
- Fix a test on big endian machines (#1014)
|
||||
- Fix the compile time conditionality of wcwidth
|
||||
implementation (#1019, gentoo#677804, #720)
|
||||
- Fix /save no longer working on old Solaris (pre
|
||||
POSIX.1-2008) (#1042, #1043)
|
||||
- Fix regression of #764 where display of 8-bit (legacy
|
||||
encoding) in the input prompt was broken (#1018,
|
||||
#1057). Initial patch by Артём Курашов
|
||||
|
||||
v1.1.3 2019-06-29 The Irssi team <staff@irssi.org>
|
||||
! Contains all changes from 1.0.8
|
||||
- Fix regression of #779 where autolog_ignore_targets would
|
||||
not matching itemless windows anymore (#1012, #1013)
|
||||
|
||||
v1.0.8 2019-06-29 The Irssi team <staff@irssi.org>
|
||||
- Fix a use after free issue when sending the SASL login on
|
||||
(automatic and manual) reconnects (#1055, #1058). Reported
|
||||
by ilbelkyr
|
||||
|
||||
v1.2.0 2019-02-11 The Irssi team <staff@irssi.org>
|
||||
! Contains all changes from 1.1.2
|
||||
* Improved the /STATUSBAR commands (#858)
|
||||
|
|
|
|||
26
configure.ac
26
configure.ac
|
|
@ -1,4 +1,4 @@
|
|||
AC_INIT(irssi, 1.2.0)
|
||||
AC_INIT(irssi, 1.2.1)
|
||||
AC_CONFIG_SRCDIR([src])
|
||||
AC_CONFIG_AUX_DIR(build-aux)
|
||||
AC_PREREQ(2.50)
|
||||
|
|
@ -181,6 +181,15 @@ AC_ARG_ENABLE(gregex,
|
|||
fi,
|
||||
want_gregex=yes)
|
||||
|
||||
AC_ARG_ENABLE(utf8proc,
|
||||
[ --disable-utf8proc Build without Julia's utf8proc],
|
||||
if test x$enableval = xno ; then
|
||||
want_utf8proc=no
|
||||
else
|
||||
want_utf8proc=yes
|
||||
fi,
|
||||
want_utf8proc=yes)
|
||||
|
||||
AC_ARG_WITH(capsicum,
|
||||
[ --with-capsicum Build with Capsicum support],
|
||||
if test x$withval = xno; then
|
||||
|
|
@ -329,7 +338,18 @@ PKG_CHECK_MODULES([OPENSSL], [openssl], [
|
|||
dnl **
|
||||
dnl ** utf8proc
|
||||
dnl **
|
||||
AC_CHECK_LIB([utf8proc], [utf8proc_version])
|
||||
if test "x$want_utf8proc" != "xno"; then
|
||||
AC_CHECK_HEADER([utf8proc.h], [
|
||||
AC_CHECK_LIB([utf8proc], [utf8proc_version], [
|
||||
want_utf8proc=yes
|
||||
LIBS="$LIBS -lutf8proc"
|
||||
], [
|
||||
want_utf8proc="no, library not found"
|
||||
])
|
||||
], [
|
||||
want_utf8proc="no, library header not found"
|
||||
])
|
||||
fi
|
||||
|
||||
dnl **
|
||||
dnl ** curses checks
|
||||
|
|
@ -821,7 +841,7 @@ echo "Building with 64bit DCC support .. : $offt_64bit"
|
|||
echo "Building with true color support.. : $want_truecolor"
|
||||
echo "Building with GRegex ............. : $want_gregex"
|
||||
echo "Building with Capsicum ........... : $want_capsicum"
|
||||
echo "Building with utf8proc ........... : $ac_cv_lib_utf8proc_utf8proc_version"
|
||||
echo "Building with utf8proc ........... : $want_utf8proc"
|
||||
if test "x$want_otr" = "xstatic"; then
|
||||
echo "Building with OTR support ........ : static (in irssi binary)"
|
||||
elif test "x$want_otr" = "xmodule"; then
|
||||
|
|
|
|||
|
|
@ -486,9 +486,6 @@ gboolean strarray_find_dest(char **array, const TEXT_DEST_REC *dest)
|
|||
strarray_find(array, dest->window->name) != -1 ? TRUE : FALSE;
|
||||
|
||||
item = window_item_find_window(dest->window, dest->server, dest->target);
|
||||
if (item == NULL) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
server_tag_len = dest->server_tag != NULL ? strlen(dest->server_tag) : 0;
|
||||
for (tmp = array; *tmp != NULL; tmp++) {
|
||||
|
|
@ -507,11 +504,11 @@ gboolean strarray_find_dest(char **array, const TEXT_DEST_REC *dest)
|
|||
return TRUE;
|
||||
} else if (g_ascii_strcasecmp(str, dest->target) == 0) {
|
||||
return TRUE;
|
||||
} else if (item->type == query_type &&
|
||||
} else if (item != NULL && item->type == query_type &&
|
||||
g_strcmp0(str, dest->target[0] == '=' ? "::dccqueries" :
|
||||
"::queries") == 0) {
|
||||
return TRUE;
|
||||
} else if (item->type == channel_type &&
|
||||
} else if (item != NULL && item->type == channel_type &&
|
||||
g_strcmp0(str, "::channels") == 0) {
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -379,11 +379,19 @@ static void gui_entry_draw_from(GUI_ENTRY_REC *entry, int pos)
|
|||
if (new_xpos > end_xpos)
|
||||
break;
|
||||
|
||||
if (entry->hidden)
|
||||
if (entry->hidden) {
|
||||
g_string_append_c(str, ' ');
|
||||
else if (unichar_isprint(c))
|
||||
g_string_append_unichar(str, c);
|
||||
else {
|
||||
} else if (unichar_isprint(c)) {
|
||||
if (entry->utf8) {
|
||||
g_string_append_unichar(str, c);
|
||||
} else if (term_type == TERM_TYPE_BIG5) {
|
||||
if(c > 0xff)
|
||||
g_string_append_c(str, (c >> 8) & 0xff);
|
||||
g_string_append_c(str, c & 0xff);
|
||||
} else {
|
||||
g_string_append_c(str, c);
|
||||
}
|
||||
} else {
|
||||
g_string_append_c(str, 4);
|
||||
g_string_append_c(str, FORMAT_STYLE_REVERSE);
|
||||
g_string_append_c(str, (c & 127)+'A'-1);
|
||||
|
|
|
|||
|
|
@ -75,6 +75,8 @@ static void destroy_server_connect(SERVER_CONNECT_REC *conn)
|
|||
|
||||
g_free_not_null(ircconn->usermode);
|
||||
g_free_not_null(ircconn->alternate_nick);
|
||||
g_free_not_null(ircconn->sasl_username);
|
||||
g_free_not_null(ircconn->sasl_password);
|
||||
}
|
||||
|
||||
void irc_core_init(void)
|
||||
|
|
|
|||
|
|
@ -49,8 +49,8 @@ static void sig_server_connect_copy(SERVER_CONNECT_REC **dest,
|
|||
rec->usermode = g_strdup(src->usermode);
|
||||
rec->alternate_nick = g_strdup(src->alternate_nick);
|
||||
rec->sasl_mechanism = src->sasl_mechanism;
|
||||
rec->sasl_username = src->sasl_username;
|
||||
rec->sasl_password = src->sasl_password;
|
||||
rec->sasl_username = g_strdup(src->sasl_username);
|
||||
rec->sasl_password = g_strdup(src->sasl_password);
|
||||
*dest = (SERVER_CONNECT_REC *) rec;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -101,8 +101,8 @@ static void sig_server_setup_fill_chatnet(IRC_SERVER_CONNECT_REC *conn,
|
|||
conn->sasl_mechanism = SASL_MECHANISM_PLAIN;
|
||||
if (ircnet->sasl_username != NULL && *ircnet->sasl_username &&
|
||||
ircnet->sasl_password != NULL && *ircnet->sasl_password) {
|
||||
conn->sasl_username = ircnet->sasl_username;
|
||||
conn->sasl_password = ircnet->sasl_password;
|
||||
conn->sasl_username = g_strdup(ircnet->sasl_username);
|
||||
conn->sasl_password = g_strdup(ircnet->sasl_password);
|
||||
} else
|
||||
g_warning("The fields sasl_username and sasl_password are either missing or empty");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -315,6 +315,15 @@ int config_write(CONFIG_REC *rec, const char *fname, int create_mode)
|
|||
/* expand all symlinks; else we may replace a symlink with a regular file */
|
||||
dest_name = realpath(base_name, NULL);
|
||||
|
||||
if (errno == EINVAL) {
|
||||
/* variable path length not supported by glibc < 2.3, Solaris < 11 */
|
||||
char resolved_path[PATH_MAX] = { 0 };
|
||||
errno = 0;
|
||||
if ((dest_name = realpath(base_name, resolved_path)) != NULL) {
|
||||
dest_name = g_strdup(dest_name);
|
||||
}
|
||||
}
|
||||
|
||||
if (dest_name == NULL) {
|
||||
if (errno == ENOENT) {
|
||||
dest_name = g_strdup(base_name);
|
||||
|
|
|
|||
|
|
@ -54,7 +54,12 @@ static void test_paste_join_multiline(const paste_join_multiline_test_case *test
|
|||
g_test_message("INPUT: \"%s\"", (t1 = g_strescape(test->input, NULL)));
|
||||
g_free(t1);
|
||||
|
||||
buffer->data = (char *) g_utf8_to_ucs4_fast(test->input, -1, (glong *) &buffer->len);
|
||||
{
|
||||
glong buf_len;
|
||||
buffer->data = (char *) g_utf8_to_ucs4_fast(test->input, -1, &buf_len);
|
||||
buffer->len = buf_len;
|
||||
}
|
||||
|
||||
paste_buffer_join_lines(buffer);
|
||||
resultstr = g_ucs4_to_utf8((unichar *) buffer->data, buffer->len, NULL, NULL, NULL);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue