core: fix forced highlight on messages sent to other buffers (closes #1277)

The C compiler flag "-fsigned--char" is used to force "char" data type to be
always signed (which is what WeeChat expects).

On ARM systems, char is unsigned by default, which is causing problems when
WeeChat stores -1 in the notify_level (type: char).
v2.8-utf8proc
Sébastien Helleu 2018-11-14 22:23:34 +01:00
parent 638ed2ecf5
commit 34fd37fa50
3 changed files with 8 additions and 3 deletions

View File

@ -27,8 +27,8 @@ project(weechat C)
set(CMAKE_VERBOSE_MAKEFILE OFF)
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
set(CMAKE_SKIP_RPATH ON)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror-implicit-function-declaration")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror-implicit-function-declaration")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsigned-char -Wall -Wextra -Werror-implicit-function-declaration")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsigned-char -Wall -Wextra -Werror-implicit-function-declaration")
# version
execute_process(COMMAND ${CMAKE_SOURCE_DIR}/version.sh devel-major OUTPUT_VARIABLE VERSION_MAJOR)

View File

@ -28,9 +28,14 @@ New features::
Bug fixes::
* core: fix forced highlight on messages sent to other buffers (issue #1277)
* buflist: fix warning displayed when script buffers.pl is loaded (issue #1274)
* relay: fix memory leak in connection of client
Build::
* core: add C compiler flag "-fsigned--char" to force "char" data type to be always signed (issue #1277)
[[v2.3]]
== Version 2.3 (2018-10-21)

View File

@ -1330,7 +1330,7 @@ AC_DEFINE_UNQUOTED(WEECHAT_SHAREDIR, "$WEECHAT_SHAREDIR")
weechat_libdir=${libdir}/weechat
AC_SUBST(weechat_libdir)
COMMON_CFLAGS="-Wall -Wextra -Werror-implicit-function-declaration"
COMMON_CFLAGS="-fsigned-char -Wall -Wextra -Werror-implicit-function-declaration"
AC_MSG_CHECKING([whether we have GNU assembler])
GAS=`as --version < /dev/null 2>/dev/null | grep GNU`
if test "$GAS"; then