mirror of
https://github.com/weechat/weechat.git
synced 2026-07-03 16:23:14 +02:00
Compare commits
37 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4e6687759a | |||
| f968bb9c91 | |||
| 6b1d55203b | |||
| 65cdc2603a | |||
| 7640273c30 | |||
| e87d2b4717 | |||
| b80c58fb39 | |||
| b06e3ed68e | |||
| c3c2609acd | |||
| 6247e437c0 | |||
| 195af30e7d | |||
| dd3032171a | |||
| 2ced34f803 | |||
| 62fced3213 | |||
| da256bbad7 | |||
| 43bb20c4c3 | |||
| 86e1af7ab9 | |||
| ad66bba2f8 | |||
| 5ba6c7a0d2 | |||
| f9c3d0ae0a | |||
| 83749f491c | |||
| d79342dafd | |||
| 999ba00ac6 | |||
| df7a428454 | |||
| 1d6eb273c6 | |||
| ae93fa1fef | |||
| 7fabd8068f | |||
| a48dd9d481 | |||
| 2ee71c7699 | |||
| c7cf41c357 | |||
| 7c21c6b993 | |||
| 563654901c | |||
| 517c04ae65 | |||
| a317d0823a | |||
| a399d3f68c | |||
| b0e4e20205 | |||
| 5df21f38f3 |
@@ -33,6 +33,8 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
sudo apt-get update -qq
|
sudo apt-get update -qq
|
||||||
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }}
|
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }}
|
||||||
|
# uninstall php imagick as is causes a crash when loading php plugin (see #2009)
|
||||||
|
sudo apt-get --yes purge php8.1-imagick
|
||||||
sudo -H pip3 install --ignore-installed msgcheck
|
sudo -H pip3 install --ignore-installed msgcheck
|
||||||
|
|
||||||
- name: Check gettext files
|
- name: Check gettext files
|
||||||
@@ -82,7 +84,6 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
os:
|
os:
|
||||||
- macos-12
|
- macos-12
|
||||||
- macos-11
|
|
||||||
config:
|
config:
|
||||||
- { name: "gcc", cc: "gcc", cxx: "g++" }
|
- { name: "gcc", cc: "gcc", cxx: "g++" }
|
||||||
- { name: "clang", cc: "clang", cxx: "clang++" }
|
- { name: "clang", cc: "clang", cxx: "clang++" }
|
||||||
|
|||||||
@@ -10,6 +10,49 @@ This document lists all the changes for each version. +
|
|||||||
For a list of important changes that require manual actions, please look at release notes.
|
For a list of important changes that require manual actions, please look at release notes.
|
||||||
|
|
||||||
|
|
||||||
|
[[v4.0.9]]
|
||||||
|
== Version 4.0.9 (under dev)
|
||||||
|
|
||||||
|
Bug fixes::
|
||||||
|
|
||||||
|
* core, relay: fix include directory of libzstd
|
||||||
|
* core: add missing mouse events "alt-ctrl-button2" and "alt-ctrl-button3"
|
||||||
|
* irc: fix crash in split of IRC message containing a newline if the server is not given
|
||||||
|
* python: fix truncation of unsigned long long integer returned by function string_parse_size
|
||||||
|
* script: always display list of scripts when searching scripts with `/script search` (issue #2077)
|
||||||
|
* tcl: fix truncation of long integer returned by function hdata_long
|
||||||
|
* trigger: fix memory leak when adding a new trigger with `/trigger` command
|
||||||
|
|
||||||
|
Build::
|
||||||
|
|
||||||
|
* ruby: add detection of Ruby 3.3
|
||||||
|
|
||||||
|
[[v4.0.8]]
|
||||||
|
== Version 4.0.8 (2024-01-20)
|
||||||
|
|
||||||
|
Bug fixes::
|
||||||
|
|
||||||
|
* core: fix crash on plugin reload when using musl libc (issue #2052)
|
||||||
|
* core: fix infinite loop in display when the chat area is too small (issue #2053)
|
||||||
|
* irc: check if arguments are not NULL in some infos
|
||||||
|
* irc: fix info "irc_is_message_ignored" (issue #2059)
|
||||||
|
* irc: fix display of self messages when the message split fails due to inconsistent max lengths sent by the server in message 005
|
||||||
|
|
||||||
|
[[v4.0.7]]
|
||||||
|
== Version 4.0.7 (2023-12-03)
|
||||||
|
|
||||||
|
Bug fixes::
|
||||||
|
|
||||||
|
* core: fix value of buffer variable "num_history" when the value defined in option weechat.history.max_commands is reached
|
||||||
|
* core: remove incorrect warning when binding keys kbd:[F10] to kbd:[F20] (issue #2039)
|
||||||
|
* core: fix memory leak when config version is invalid or not supported
|
||||||
|
* core: fix crash when "config_version" is present in a configuration file without a value
|
||||||
|
* core: display an error on startup if environment variable "HOME" is not set
|
||||||
|
* irc: remove trailing "\r\n" in signals "irc_out" and "irc_outtags" when messages are queued
|
||||||
|
* irc: fix target buffer of IRC message 337 (whois reply: "is hiding their idle time")
|
||||||
|
* relay: close properly connection with the IRC client in case of server disconnection (issue #2038)
|
||||||
|
* ruby: fix use of NULL variable when displaying exception
|
||||||
|
|
||||||
[[v4.0.6]]
|
[[v4.0.6]]
|
||||||
== Version 4.0.6 (2023-10-26)
|
== Version 4.0.6 (2023-10-26)
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,16 @@ It is recommended to read it when upgrading to a new stable version. +
|
|||||||
For a complete list of changes, please look at ChangeLog.
|
For a complete list of changes, please look at ChangeLog.
|
||||||
|
|
||||||
|
|
||||||
|
[[v4.0.8]]
|
||||||
|
== Version 4.0.8 (2024-01-20)
|
||||||
|
|
||||||
|
No release notes.
|
||||||
|
|
||||||
|
[[v4.0.7]]
|
||||||
|
== Version 4.0.7 (2023-12-03)
|
||||||
|
|
||||||
|
No release notes.
|
||||||
|
|
||||||
[[v4.0.6]]
|
[[v4.0.6]]
|
||||||
== Version 4.0.6 (2023-10-26)
|
== Version 4.0.6 (2023-10-26)
|
||||||
|
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ if(PKG_CONFIG_FOUND)
|
|||||||
# set specific search path for macOS
|
# set specific search path for macOS
|
||||||
set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:/usr/local/opt/ruby/lib/pkgconfig")
|
set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:/usr/local/opt/ruby/lib/pkgconfig")
|
||||||
endif()
|
endif()
|
||||||
pkg_search_module(RUBY ruby-3.2 ruby-3.1 ruby-3.0 ruby-2.7 ruby-2.6 ruby-2.5 ruby-2.4 ruby-2.3 ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9 ruby)
|
pkg_search_module(RUBY ruby-3.3 ruby-3.2 ruby-3.1 ruby-3.0 ruby-2.7 ruby-2.6 ruby-2.5 ruby-2.4 ruby-2.3 ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9 ruby)
|
||||||
if(RUBY_FOUND AND ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
if(RUBY_FOUND AND ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||||
# FIXME: weird hack: hardcoding the Ruby lib location on macOS
|
# FIXME: weird hack: hardcoding the Ruby lib location on macOS
|
||||||
set(RUBY_LDFLAGS "${RUBY_LDFLAGS} -L/usr/local/opt/ruby/lib")
|
set(RUBY_LDFLAGS "${RUBY_LDFLAGS} -L/usr/local/opt/ruby/lib")
|
||||||
|
|||||||
@@ -1,3 +1,25 @@
|
|||||||
|
weechat (4.0.5-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
|
||||||
|
-- Emmanuel Bouthenot <kolter@debian.org> Sun, 24 Sep 2023 07:49:41 +0000
|
||||||
|
|
||||||
|
weechat (4.0.2-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release (Closes: #1040248)
|
||||||
|
|
||||||
|
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 22 Jul 2023 05:48:35 +0000
|
||||||
|
|
||||||
|
weechat (4.0.1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
* Remove NEWS file, no longer required
|
||||||
|
* Update build dependency from libncursesw5-dev to libncurses-dev
|
||||||
|
* Bump Standards-Version to 4.6.2
|
||||||
|
* Remove all patches (no longer required)
|
||||||
|
|
||||||
|
-- Emmanuel Bouthenot <kolter@debian.org> Tue, 04 Jul 2023 19:02:41 +0000
|
||||||
|
|
||||||
weechat (3.8-1) unstable; urgency=medium
|
weechat (3.8-1) unstable; urgency=medium
|
||||||
|
|
||||||
* New upstream release
|
* New upstream release
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2023-09-14 20:21+0200\n"
|
"POT-Creation-Date: 2023-10-30 23:09+0100\n"
|
||||||
"PO-Revision-Date: 2023-06-25 00:48+0200\n"
|
"PO-Revision-Date: 2023-06-25 00:48+0200\n"
|
||||||
"Last-Translator: Ondřej Súkup <mimi.vx@gmail.com>\n"
|
"Last-Translator: Ondřej Súkup <mimi.vx@gmail.com>\n"
|
||||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||||
@@ -4538,6 +4538,11 @@ msgid ""
|
|||||||
"Error: unable to create a temporary home directory (using template: \"%s\")\n"
|
"Error: unable to create a temporary home directory (using template: \"%s\")\n"
|
||||||
msgstr "%s%s: nemohu vytvořit adresář pro logy (\"%s\")"
|
msgstr "%s%s: nemohu vytvořit adresář pro logy (\"%s\")"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "Environment variable \"%s\" is not defined"
|
||||||
|
msgid "Error: environment variable \"HOME\" is not defined\n"
|
||||||
|
msgstr "Proměnná prostředí \"%s\" není definována"
|
||||||
|
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "Error: \"%s\" is not a directory\n"
|
msgid "Error: \"%s\" is not a directory\n"
|
||||||
msgstr "Chyba: domovský adresář (%s) není adresářem\n"
|
msgstr "Chyba: domovský adresář (%s) není adresářem\n"
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2023-09-14 20:21+0200\n"
|
"POT-Creation-Date: 2023-10-30 23:09+0100\n"
|
||||||
"PO-Revision-Date: 2023-07-05 21:25+0200\n"
|
"PO-Revision-Date: 2023-07-05 21:25+0200\n"
|
||||||
"Last-Translator: Nils Görs <weechatter@arcor.de>\n"
|
"Last-Translator: Nils Görs <weechatter@arcor.de>\n"
|
||||||
"Language-Team: German <kde-i18n-de@kde.org>\n"
|
"Language-Team: German <kde-i18n-de@kde.org>\n"
|
||||||
@@ -5709,6 +5709,11 @@ msgstr ""
|
|||||||
"Fehler: es kann kein temporäres Heimatverzeichnis angelegt werden (mit "
|
"Fehler: es kann kein temporäres Heimatverzeichnis angelegt werden (mit "
|
||||||
"Befehl: \"%s\")\n"
|
"Befehl: \"%s\")\n"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "Environment variable \"%s\" is not defined"
|
||||||
|
msgid "Error: environment variable \"HOME\" is not defined\n"
|
||||||
|
msgstr "Umgebungsvariable \"%s\" ist nicht definiert"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Error: \"%s\" is not a directory\n"
|
msgid "Error: \"%s\" is not a directory\n"
|
||||||
msgstr "Fehler: \"%s\" ist kein Verzeichnis\n"
|
msgstr "Fehler: \"%s\" ist kein Verzeichnis\n"
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2023-09-14 20:21+0200\n"
|
"POT-Creation-Date: 2023-10-30 23:09+0100\n"
|
||||||
"PO-Revision-Date: 2023-06-17 11:47+0200\n"
|
"PO-Revision-Date: 2023-06-17 11:47+0200\n"
|
||||||
"Last-Translator: Santiago Forero <santiago@forero.xyz>\n"
|
"Last-Translator: Santiago Forero <santiago@forero.xyz>\n"
|
||||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||||
@@ -5163,6 +5163,11 @@ msgid ""
|
|||||||
"Error: unable to create a temporary home directory (using template: \"%s\")\n"
|
"Error: unable to create a temporary home directory (using template: \"%s\")\n"
|
||||||
msgstr "%s%s: imposible crear directorio para registros (\"%s\")"
|
msgstr "%s%s: imposible crear directorio para registros (\"%s\")"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "Environment variable \"%s\" is not defined"
|
||||||
|
msgid "Error: environment variable \"HOME\" is not defined\n"
|
||||||
|
msgstr "Variable \"%s\" no definida"
|
||||||
|
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "Error: \"%s\" is not a directory\n"
|
msgid "Error: \"%s\" is not a directory\n"
|
||||||
msgstr "Error: home (%s) no es un directorio\n"
|
msgstr "Error: home (%s) no es un directorio\n"
|
||||||
|
|||||||
@@ -21,8 +21,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2023-09-14 20:21+0200\n"
|
"POT-Creation-Date: 2023-10-30 23:09+0100\n"
|
||||||
"PO-Revision-Date: 2023-09-14 20:21+0200\n"
|
"PO-Revision-Date: 2023-10-30 23:23+0100\n"
|
||||||
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
|
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
|
||||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||||
"Language: fr\n"
|
"Language: fr\n"
|
||||||
@@ -5577,6 +5577,9 @@ msgstr ""
|
|||||||
"Erreur : impossible de créer le répertoire de base temporaire (en utilisant "
|
"Erreur : impossible de créer le répertoire de base temporaire (en utilisant "
|
||||||
"le modèle : \"%s\")\n"
|
"le modèle : \"%s\")\n"
|
||||||
|
|
||||||
|
msgid "Error: environment variable \"HOME\" is not defined\n"
|
||||||
|
msgstr "Erreur : la variable d'environnement \"HOME\" n'est pas définie\n"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Error: \"%s\" is not a directory\n"
|
msgid "Error: \"%s\" is not a directory\n"
|
||||||
msgstr "Erreur : \"%s\" n'est pas un répertoire\n"
|
msgstr "Erreur : \"%s\" n'est pas un répertoire\n"
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2023-09-14 20:21+0200\n"
|
"POT-Creation-Date: 2023-10-30 23:09+0100\n"
|
||||||
"PO-Revision-Date: 2023-06-17 11:47+0200\n"
|
"PO-Revision-Date: 2023-06-17 11:47+0200\n"
|
||||||
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
|
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
|
||||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||||
@@ -4080,6 +4080,10 @@ msgid ""
|
|||||||
"Error: unable to create a temporary home directory (using template: \"%s\")\n"
|
"Error: unable to create a temporary home directory (using template: \"%s\")\n"
|
||||||
msgstr "%s nem sikerült a szervert létrehozni\n"
|
msgstr "%s nem sikerült a szervert létrehozni\n"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Error: environment variable \"HOME\" is not defined\n"
|
||||||
|
msgstr " . típus: szám\n"
|
||||||
|
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "Error: \"%s\" is not a directory\n"
|
msgid "Error: \"%s\" is not a directory\n"
|
||||||
msgstr "%s nem sikerült a \"%s\" könyvtárat létrehozni\n"
|
msgstr "%s nem sikerült a \"%s\" könyvtárat létrehozni\n"
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2023-09-14 20:21+0200\n"
|
"POT-Creation-Date: 2023-10-30 23:09+0100\n"
|
||||||
"PO-Revision-Date: 2023-06-17 11:47+0200\n"
|
"PO-Revision-Date: 2023-06-17 11:47+0200\n"
|
||||||
"Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\n"
|
"Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\n"
|
||||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||||
@@ -4800,6 +4800,10 @@ msgid ""
|
|||||||
"Error: unable to create a temporary home directory (using template: \"%s\")\n"
|
"Error: unable to create a temporary home directory (using template: \"%s\")\n"
|
||||||
msgstr "%s%s: impossibile creare la directory per i log (\"%s\")"
|
msgstr "%s%s: impossibile creare la directory per i log (\"%s\")"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Error: environment variable \"HOME\" is not defined\n"
|
||||||
|
msgstr "Variabili"
|
||||||
|
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "Error: \"%s\" is not a directory\n"
|
msgid "Error: \"%s\" is not a directory\n"
|
||||||
msgstr "Errore: home (%s) non è una directory\n"
|
msgstr "Errore: home (%s) non è una directory\n"
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2023-09-14 20:21+0200\n"
|
"POT-Creation-Date: 2023-10-30 23:09+0100\n"
|
||||||
"PO-Revision-Date: 2023-06-17 11:47+0200\n"
|
"PO-Revision-Date: 2023-06-17 11:47+0200\n"
|
||||||
"Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n"
|
"Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n"
|
||||||
"Language-Team: Japanese <https://github.com/l/weechat/tree/master/"
|
"Language-Team: Japanese <https://github.com/l/weechat/tree/master/"
|
||||||
@@ -5407,6 +5407,11 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"エラー: 一時的なホームディレクリ (テンプレート: \"%s\") を作成できません\n"
|
"エラー: 一時的なホームディレクリ (テンプレート: \"%s\") を作成できません\n"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "Environment variable \"%s\" is not defined"
|
||||||
|
msgid "Error: environment variable \"HOME\" is not defined\n"
|
||||||
|
msgstr "環境変数 \"%s\" が定義されていません"
|
||||||
|
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "Error: \"%s\" is not a directory\n"
|
msgid "Error: \"%s\" is not a directory\n"
|
||||||
msgstr "エラー: ホーム (%s) はディレクトリではありません\n"
|
msgstr "エラー: ホーム (%s) はディレクトリではありません\n"
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2023-09-14 20:21+0200\n"
|
"POT-Creation-Date: 2023-10-30 23:09+0100\n"
|
||||||
"PO-Revision-Date: 2023-06-17 11:47+0200\n"
|
"PO-Revision-Date: 2023-06-17 11:47+0200\n"
|
||||||
"Last-Translator: Krzysztof Korościk <soltys@soltys.info>\n"
|
"Last-Translator: Krzysztof Korościk <soltys@soltys.info>\n"
|
||||||
"Language-Team: Polish <kde-i18n-doc@kde.org>\n"
|
"Language-Team: Polish <kde-i18n-doc@kde.org>\n"
|
||||||
@@ -5850,6 +5850,11 @@ msgstr ""
|
|||||||
"Błąd: nie można utworzyć tymczasowego katalogu domowego (używając szablonu: "
|
"Błąd: nie można utworzyć tymczasowego katalogu domowego (używając szablonu: "
|
||||||
"\"%s\")\n"
|
"\"%s\")\n"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "Environment variable \"%s\" is not defined"
|
||||||
|
msgid "Error: environment variable \"HOME\" is not defined\n"
|
||||||
|
msgstr "Zmienna środowiskowa \"%s\" nie jest zdefiniowana"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Error: \"%s\" is not a directory\n"
|
msgid "Error: \"%s\" is not a directory\n"
|
||||||
msgstr "Błąd: „%s” nie jest katalogiem\n"
|
msgstr "Błąd: „%s” nie jest katalogiem\n"
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2023-09-14 20:21+0200\n"
|
"POT-Creation-Date: 2023-10-30 23:09+0100\n"
|
||||||
"PO-Revision-Date: 2023-06-17 11:47+0200\n"
|
"PO-Revision-Date: 2023-06-17 11:47+0200\n"
|
||||||
"Last-Translator: Vasco Almeida <vascomalmeida@sapo.pt>\n"
|
"Last-Translator: Vasco Almeida <vascomalmeida@sapo.pt>\n"
|
||||||
"Language-Team: Portuguese <>\n"
|
"Language-Team: Portuguese <>\n"
|
||||||
@@ -5437,6 +5437,11 @@ msgid ""
|
|||||||
"Error: unable to create a temporary home directory (using template: \"%s\")\n"
|
"Error: unable to create a temporary home directory (using template: \"%s\")\n"
|
||||||
msgstr "%s%s: não foi possível criar diretório para registos (\"%s\")"
|
msgstr "%s%s: não foi possível criar diretório para registos (\"%s\")"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "Environment variable \"%s\" is not defined"
|
||||||
|
msgid "Error: environment variable \"HOME\" is not defined\n"
|
||||||
|
msgstr "A variável de ambiente \"%s\" não está definida"
|
||||||
|
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "Error: \"%s\" is not a directory\n"
|
msgid "Error: \"%s\" is not a directory\n"
|
||||||
msgstr "Erro: a base (%s) não é um diretório\n"
|
msgstr "Erro: a base (%s) não é um diretório\n"
|
||||||
|
|||||||
+5
-1
@@ -21,7 +21,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2023-09-14 20:21+0200\n"
|
"POT-Creation-Date: 2023-10-30 23:09+0100\n"
|
||||||
"PO-Revision-Date: 2023-06-17 11:47+0200\n"
|
"PO-Revision-Date: 2023-06-17 11:47+0200\n"
|
||||||
"Last-Translator: Érico Nogueira <ericonr@disroot.org>\n"
|
"Last-Translator: Érico Nogueira <ericonr@disroot.org>\n"
|
||||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||||
@@ -4807,6 +4807,10 @@ msgid ""
|
|||||||
"Error: unable to create a temporary home directory (using template: \"%s\")\n"
|
"Error: unable to create a temporary home directory (using template: \"%s\")\n"
|
||||||
msgstr "%s%s: não foi possível criar diretório para registros (\"%s\")"
|
msgstr "%s%s: não foi possível criar diretório para registros (\"%s\")"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Error: environment variable \"HOME\" is not defined\n"
|
||||||
|
msgstr "Variáveis"
|
||||||
|
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "Error: \"%s\" is not a directory\n"
|
msgid "Error: \"%s\" is not a directory\n"
|
||||||
msgstr "Erro: (%s) não é um diretório\n"
|
msgstr "Erro: (%s) não é um diretório\n"
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2023-09-14 20:21+0200\n"
|
"POT-Creation-Date: 2023-10-30 23:09+0100\n"
|
||||||
"PO-Revision-Date: 2023-06-17 11:47+0200\n"
|
"PO-Revision-Date: 2023-06-17 11:47+0200\n"
|
||||||
"Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n"
|
"Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n"
|
||||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||||
@@ -4108,6 +4108,10 @@ msgid ""
|
|||||||
"Error: unable to create a temporary home directory (using template: \"%s\")\n"
|
"Error: unable to create a temporary home directory (using template: \"%s\")\n"
|
||||||
msgstr "%s не могу создать сервер \"%s\"\n"
|
msgstr "%s не могу создать сервер \"%s\"\n"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Error: environment variable \"HOME\" is not defined\n"
|
||||||
|
msgstr " . тип: целочисленный\n"
|
||||||
|
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "Error: \"%s\" is not a directory\n"
|
msgid "Error: \"%s\" is not a directory\n"
|
||||||
msgstr "%s домашний каталог (%s) не является директорией\n"
|
msgstr "%s домашний каталог (%s) не является директорией\n"
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2023-09-14 20:21+0200\n"
|
"POT-Creation-Date: 2023-10-30 23:09+0100\n"
|
||||||
"PO-Revision-Date: 2023-06-17 11:47+0200\n"
|
"PO-Revision-Date: 2023-06-17 11:47+0200\n"
|
||||||
"Last-Translator: Ivan Pešić <ivan.pesic@gmail.com>\n"
|
"Last-Translator: Ivan Pešić <ivan.pesic@gmail.com>\n"
|
||||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||||
@@ -5504,6 +5504,11 @@ msgstr ""
|
|||||||
"Грешка: не може да се креира привремени почетни директоријум (користећи "
|
"Грешка: не може да се креира привремени почетни директоријум (користећи "
|
||||||
"шаблон: \"%s\")\n"
|
"шаблон: \"%s\")\n"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "Environment variable \"%s\" is not defined"
|
||||||
|
msgid "Error: environment variable \"HOME\" is not defined\n"
|
||||||
|
msgstr "Није дефинисана променљива окружења „%s”"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Error: \"%s\" is not a directory\n"
|
msgid "Error: \"%s\" is not a directory\n"
|
||||||
msgstr "Грешка: „%s” није директоријум\n"
|
msgstr "Грешка: „%s” није директоријум\n"
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2023-09-14 20:21+0200\n"
|
"POT-Creation-Date: 2023-10-30 23:09+0100\n"
|
||||||
"PO-Revision-Date: 2023-06-17 11:47+0200\n"
|
"PO-Revision-Date: 2023-06-17 11:47+0200\n"
|
||||||
"Last-Translator: Emir SARI <emir_sari@icloud.com>\n"
|
"Last-Translator: Emir SARI <emir_sari@icloud.com>\n"
|
||||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||||
@@ -5488,6 +5488,11 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Hata: Geçici bir ev dizini oluşturulamıyor (kullanılan şablon: \"%s\")\n"
|
"Hata: Geçici bir ev dizini oluşturulamıyor (kullanılan şablon: \"%s\")\n"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
#| msgid "Environment variable \"%s\" is not defined"
|
||||||
|
msgid "Error: environment variable \"HOME\" is not defined\n"
|
||||||
|
msgstr "Ortam değişkeni \"%s\" tanımlanmamış"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Error: \"%s\" is not a directory\n"
|
msgid "Error: \"%s\" is not a directory\n"
|
||||||
msgstr "Hata: \"%s\" bir dizin değil\n"
|
msgstr "Hata: \"%s\" bir dizin değil\n"
|
||||||
|
|||||||
+4
-1
@@ -21,7 +21,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2023-09-14 20:21+0200\n"
|
"POT-Creation-Date: 2023-10-30 23:09+0100\n"
|
||||||
"PO-Revision-Date: 2014-08-16 10:27+0200\n"
|
"PO-Revision-Date: 2014-08-16 10:27+0200\n"
|
||||||
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
|
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
|
||||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||||
@@ -3730,6 +3730,9 @@ msgid ""
|
|||||||
"Error: unable to create a temporary home directory (using template: \"%s\")\n"
|
"Error: unable to create a temporary home directory (using template: \"%s\")\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Error: environment variable \"HOME\" is not defined\n"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Error: \"%s\" is not a directory\n"
|
msgid "Error: \"%s\" is not a directory\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ include_directories(${GNUTLS_INCLUDE_PATH})
|
|||||||
|
|
||||||
include_directories(${CURL_INCLUDE_DIRS})
|
include_directories(${CURL_INCLUDE_DIRS})
|
||||||
|
|
||||||
include_directories(${ZSTD_INCLUDE_DIRS})
|
include_directories(${LIBZSTD_INCLUDE_DIRS})
|
||||||
|
|
||||||
include_directories("${CMAKE_BINARY_DIR}")
|
include_directories("${CMAKE_BINARY_DIR}")
|
||||||
add_library(weechat_core STATIC ${LIB_CORE_SRC})
|
add_library(weechat_core STATIC ${LIB_CORE_SRC})
|
||||||
|
|||||||
@@ -146,6 +146,7 @@ hook_process_hashtable (struct t_weechat_plugin *plugin,
|
|||||||
ptr_value = hashtable_get (options, "buffer_flush");
|
ptr_value = hashtable_get (options, "buffer_flush");
|
||||||
if (ptr_value && ptr_value[0])
|
if (ptr_value && ptr_value[0])
|
||||||
{
|
{
|
||||||
|
error = NULL;
|
||||||
number = strtol (ptr_value, &error, 10);
|
number = strtol (ptr_value, &error, 10);
|
||||||
if (error && !error[0]
|
if (error && !error[0]
|
||||||
&& (number >= 1) && (number <= HOOK_PROCESS_BUFFER_SIZE))
|
&& (number >= 1) && (number <= HOOK_PROCESS_BUFFER_SIZE))
|
||||||
|
|||||||
@@ -736,6 +736,7 @@ COMMAND_CALLBACK(buffer)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
ptr_buffer = gui_buffer_search_by_number_or_name (argv[i]);
|
ptr_buffer = gui_buffer_search_by_number_or_name (argv[i]);
|
||||||
|
error = NULL;
|
||||||
(void) strtol (argv[i], &error, 10);
|
(void) strtol (argv[i], &error, 10);
|
||||||
clear_number = (error && !error[0]);
|
clear_number = (error && !error[0]);
|
||||||
}
|
}
|
||||||
@@ -971,6 +972,7 @@ COMMAND_CALLBACK(buffer)
|
|||||||
ptr_buffer = gui_buffer_search_by_number_or_name (argv[i]);
|
ptr_buffer = gui_buffer_search_by_number_or_name (argv[i]);
|
||||||
if (ptr_buffer)
|
if (ptr_buffer)
|
||||||
{
|
{
|
||||||
|
error = NULL;
|
||||||
(void) strtol (argv[i], &error, 10);
|
(void) strtol (argv[i], &error, 10);
|
||||||
if (error && !error[0])
|
if (error && !error[0])
|
||||||
{
|
{
|
||||||
@@ -1009,6 +1011,7 @@ COMMAND_CALLBACK(buffer)
|
|||||||
ptr_buffer = gui_buffer_search_by_number_or_name (argv[i]);
|
ptr_buffer = gui_buffer_search_by_number_or_name (argv[i]);
|
||||||
if (ptr_buffer)
|
if (ptr_buffer)
|
||||||
{
|
{
|
||||||
|
error = NULL;
|
||||||
(void) strtol (argv[i], &error, 10);
|
(void) strtol (argv[i], &error, 10);
|
||||||
if (error && !error[0])
|
if (error && !error[0])
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -3155,6 +3155,10 @@ config_file_parse_version (const char *version)
|
|||||||
long number;
|
long number;
|
||||||
char *error;
|
char *error;
|
||||||
|
|
||||||
|
if (!version)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
error = NULL;
|
||||||
number = strtoll (version, &error, 10);
|
number = strtoll (version, &error, 10);
|
||||||
if (!error || error[0])
|
if (!error || error[0])
|
||||||
return -1;
|
return -1;
|
||||||
@@ -3566,6 +3570,10 @@ config_file_read_internal (struct t_config_file *config_file, int reload)
|
|||||||
filename, line_number,
|
filename, line_number,
|
||||||
line);
|
line);
|
||||||
config_file_backup (filename);
|
config_file_backup (filename);
|
||||||
|
if (option)
|
||||||
|
free (option);
|
||||||
|
if (value)
|
||||||
|
free (value);
|
||||||
goto end_file;
|
goto end_file;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -3583,6 +3591,10 @@ config_file_read_internal (struct t_config_file *config_file, int reload)
|
|||||||
config_file->version_read,
|
config_file->version_read,
|
||||||
config_file->version);
|
config_file->version);
|
||||||
config_file_backup (filename);
|
config_file_backup (filename);
|
||||||
|
if (option)
|
||||||
|
free (option);
|
||||||
|
if (value)
|
||||||
|
free (value);
|
||||||
goto end_file;
|
goto end_file;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+16
-5
@@ -440,6 +440,9 @@ dir_find_xdg_dirs (char **config_dir, char **data_dir, char **cache_dir,
|
|||||||
*runtime_dir = NULL;
|
*runtime_dir = NULL;
|
||||||
|
|
||||||
ptr_home = getenv ("HOME");
|
ptr_home = getenv ("HOME");
|
||||||
|
if (!ptr_home)
|
||||||
|
goto error_home;
|
||||||
|
|
||||||
xdg_config_home = getenv ("XDG_CONFIG_HOME");
|
xdg_config_home = getenv ("XDG_CONFIG_HOME");
|
||||||
xdg_data_home = getenv ("XDG_DATA_HOME");
|
xdg_data_home = getenv ("XDG_DATA_HOME");
|
||||||
xdg_cache_home = getenv ("XDG_CACHE_HOME");
|
xdg_cache_home = getenv ("XDG_CACHE_HOME");
|
||||||
@@ -460,7 +463,7 @@ dir_find_xdg_dirs (char **config_dir, char **data_dir, char **cache_dir,
|
|||||||
}
|
}
|
||||||
*config_dir = strdup (path);
|
*config_dir = strdup (path);
|
||||||
if (!*config_dir)
|
if (!*config_dir)
|
||||||
goto error;
|
goto error_memory;
|
||||||
|
|
||||||
/* set data dir: $XDG_DATA_HOME/weechat or $HOME/.local/share/weechat */
|
/* set data dir: $XDG_DATA_HOME/weechat or $HOME/.local/share/weechat */
|
||||||
if (xdg_data_home && xdg_data_home[0])
|
if (xdg_data_home && xdg_data_home[0])
|
||||||
@@ -478,7 +481,7 @@ dir_find_xdg_dirs (char **config_dir, char **data_dir, char **cache_dir,
|
|||||||
}
|
}
|
||||||
*data_dir = strdup (path);
|
*data_dir = strdup (path);
|
||||||
if (!*data_dir)
|
if (!*data_dir)
|
||||||
goto error;
|
goto error_memory;
|
||||||
|
|
||||||
/* set cache dir: $XDG_CACHE_HOME/weechat or $HOME/.cache/weechat */
|
/* set cache dir: $XDG_CACHE_HOME/weechat or $HOME/.cache/weechat */
|
||||||
if (xdg_cache_home && xdg_cache_home[0])
|
if (xdg_cache_home && xdg_cache_home[0])
|
||||||
@@ -495,7 +498,7 @@ dir_find_xdg_dirs (char **config_dir, char **data_dir, char **cache_dir,
|
|||||||
}
|
}
|
||||||
*cache_dir = strdup (path);
|
*cache_dir = strdup (path);
|
||||||
if (!*cache_dir)
|
if (!*cache_dir)
|
||||||
goto error;
|
goto error_memory;
|
||||||
|
|
||||||
/* set runtime dir: $XDG_RUNTIME_DIR/weechat or same as cache dir */
|
/* set runtime dir: $XDG_RUNTIME_DIR/weechat or same as cache dir */
|
||||||
if (xdg_runtime_dir && xdg_runtime_dir[0])
|
if (xdg_runtime_dir && xdg_runtime_dir[0])
|
||||||
@@ -510,10 +513,19 @@ dir_find_xdg_dirs (char **config_dir, char **data_dir, char **cache_dir,
|
|||||||
*runtime_dir = strdup (*cache_dir);
|
*runtime_dir = strdup (*cache_dir);
|
||||||
}
|
}
|
||||||
if (!*runtime_dir)
|
if (!*runtime_dir)
|
||||||
goto error;
|
goto error_memory;
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
error_home:
|
||||||
|
string_fprintf (stderr,
|
||||||
|
_("Error: environment variable \"HOME\" is not defined\n"));
|
||||||
|
goto error;
|
||||||
|
|
||||||
|
error_memory:
|
||||||
|
string_fprintf (stderr, _("Error: not enough memory\n"));
|
||||||
|
goto error;
|
||||||
|
|
||||||
error:
|
error:
|
||||||
if (*config_dir)
|
if (*config_dir)
|
||||||
{
|
{
|
||||||
@@ -535,7 +547,6 @@ error:
|
|||||||
free (*runtime_dir);
|
free (*runtime_dir);
|
||||||
*runtime_dir = NULL;
|
*runtime_dir = NULL;
|
||||||
}
|
}
|
||||||
string_fprintf (stderr, _("Error: not enough memory\n"));
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+7
-4
@@ -602,10 +602,13 @@ doc_gen_user_options (const char *path, const char *lang)
|
|||||||
free (default_value);
|
free (default_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
string_fprintf (
|
if (old_config)
|
||||||
file,
|
{
|
||||||
"// end::%s_options[]\n",
|
string_fprintf (
|
||||||
old_config->name);
|
file,
|
||||||
|
"// end::%s_options[]\n",
|
||||||
|
old_config->name);
|
||||||
|
}
|
||||||
|
|
||||||
arraylist_free (list_options);
|
arraylist_free (list_options);
|
||||||
|
|
||||||
|
|||||||
@@ -413,6 +413,7 @@ eval_string_cut (const char *text, int screen)
|
|||||||
if (!tmp)
|
if (!tmp)
|
||||||
return strdup ("");
|
return strdup ("");
|
||||||
|
|
||||||
|
error = NULL;
|
||||||
number = strtol (tmp, &error, 10);
|
number = strtol (tmp, &error, 10);
|
||||||
if (!error || error[0] || (number < 0))
|
if (!error || error[0] || (number < 0))
|
||||||
{
|
{
|
||||||
@@ -453,6 +454,7 @@ eval_string_repeat (const char *text)
|
|||||||
if (!tmp)
|
if (!tmp)
|
||||||
return strdup ("");
|
return strdup ("");
|
||||||
|
|
||||||
|
error = NULL;
|
||||||
number = strtol (tmp, &error, 10);
|
number = strtol (tmp, &error, 10);
|
||||||
if (!error || error[0] || (number < 0))
|
if (!error || error[0] || (number < 0))
|
||||||
{
|
{
|
||||||
@@ -538,6 +540,7 @@ eval_string_split (const char *text)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
error = NULL;
|
||||||
number = strtol (str_number, &error, 10);
|
number = strtol (str_number, &error, 10);
|
||||||
if (!error || error[0] || (number == 0))
|
if (!error || error[0] || (number == 0))
|
||||||
goto end;
|
goto end;
|
||||||
@@ -578,6 +581,7 @@ eval_string_split (const char *text)
|
|||||||
}
|
}
|
||||||
else if (strncmp (list_flags[i], "max_items=", 10) == 0)
|
else if (strncmp (list_flags[i], "max_items=", 10) == 0)
|
||||||
{
|
{
|
||||||
|
error = NULL;
|
||||||
max_items = strtol (list_flags[i] + 10, &error, 10);
|
max_items = strtol (list_flags[i] + 10, &error, 10);
|
||||||
if (!error || error[0] || (max_items < 0))
|
if (!error || error[0] || (max_items < 0))
|
||||||
goto end;
|
goto end;
|
||||||
@@ -686,6 +690,7 @@ eval_string_split_shell (const char *text)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
error = NULL;
|
||||||
number = strtol (str_number, &error, 10);
|
number = strtol (str_number, &error, 10);
|
||||||
if (!error || error[0] || (number == 0))
|
if (!error || error[0] || (number == 0))
|
||||||
goto end;
|
goto end;
|
||||||
@@ -766,6 +771,7 @@ eval_string_regex_group (const char *text, struct t_eval_context *eval_context)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
error = NULL;
|
||||||
number = strtol (text, &error, 10);
|
number = strtol (text, &error, 10);
|
||||||
if (!error || error[0])
|
if (!error || error[0])
|
||||||
number = -1;
|
number = -1;
|
||||||
@@ -897,6 +903,7 @@ eval_string_base_encode (const char *text)
|
|||||||
if (!base)
|
if (!base)
|
||||||
goto end;
|
goto end;
|
||||||
|
|
||||||
|
error = NULL;
|
||||||
number = strtol (base, &error, 10);
|
number = strtol (base, &error, 10);
|
||||||
if (!error || error[0])
|
if (!error || error[0])
|
||||||
goto end;
|
goto end;
|
||||||
@@ -946,6 +953,7 @@ eval_string_base_decode (const char *text)
|
|||||||
if (!base)
|
if (!base)
|
||||||
goto end;
|
goto end;
|
||||||
|
|
||||||
|
error = NULL;
|
||||||
number = strtol (base, &error, 10);
|
number = strtol (base, &error, 10);
|
||||||
if (!error || error[0])
|
if (!error || error[0])
|
||||||
goto end;
|
goto end;
|
||||||
@@ -1087,6 +1095,7 @@ eval_string_random (const char *text)
|
|||||||
tmp = string_strndup (text, pos - text);
|
tmp = string_strndup (text, pos - text);
|
||||||
if (!tmp)
|
if (!tmp)
|
||||||
goto error;
|
goto error;
|
||||||
|
error = NULL;
|
||||||
min_number = strtoll (tmp, &error, 10);
|
min_number = strtoll (tmp, &error, 10);
|
||||||
if (!error || error[0])
|
if (!error || error[0])
|
||||||
{
|
{
|
||||||
@@ -1095,6 +1104,7 @@ eval_string_random (const char *text)
|
|||||||
}
|
}
|
||||||
free (tmp);
|
free (tmp);
|
||||||
|
|
||||||
|
error = NULL;
|
||||||
max_number = strtoll (pos + 1, &error, 10);
|
max_number = strtoll (pos + 1, &error, 10);
|
||||||
if (!error || error[0])
|
if (!error || error[0])
|
||||||
goto error;
|
goto error;
|
||||||
@@ -2618,6 +2628,7 @@ eval_expression (const char *expr, struct t_hashtable *pointers,
|
|||||||
ptr_value = hashtable_get (options, "debug");
|
ptr_value = hashtable_get (options, "debug");
|
||||||
if (ptr_value && ptr_value[0])
|
if (ptr_value && ptr_value[0])
|
||||||
{
|
{
|
||||||
|
error = NULL;
|
||||||
number = strtol (ptr_value, &error, 10);
|
number = strtol (ptr_value, &error, 10);
|
||||||
if (error && !error[0] && (number >= 1))
|
if (error && !error[0] && (number >= 1))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -3279,6 +3279,7 @@ string_parse_size (const char *size)
|
|||||||
if (!str_number)
|
if (!str_number)
|
||||||
goto end;
|
goto end;
|
||||||
|
|
||||||
|
error = NULL;
|
||||||
number = strtoll (str_number, &error, 10);
|
number = strtoll (str_number, &error, 10);
|
||||||
if (!error || error[0])
|
if (!error || error[0])
|
||||||
goto end;
|
goto end;
|
||||||
|
|||||||
@@ -643,6 +643,8 @@ gui_chat_display_word (struct t_gui_window *window,
|
|||||||
nick_offline);
|
nick_offline);
|
||||||
}
|
}
|
||||||
ptr_data[pos_saved_char] = saved_char;
|
ptr_data[pos_saved_char] = saved_char;
|
||||||
|
if (pos_saved_char == 0)
|
||||||
|
break;
|
||||||
ptr_data += pos_saved_char;
|
ptr_data += pos_saved_char;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -664,6 +666,8 @@ gui_chat_display_word (struct t_gui_window *window,
|
|||||||
apply_style_inactive,
|
apply_style_inactive,
|
||||||
nick_offline);
|
nick_offline);
|
||||||
}
|
}
|
||||||
|
if (!ptr_data[0])
|
||||||
|
break;
|
||||||
ptr_data += strlen (ptr_data);
|
ptr_data += strlen (ptr_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -74,6 +74,8 @@ char *gui_mouse_button_codes[][2] =
|
|||||||
{ "*", "alt-button2" },
|
{ "*", "alt-button2" },
|
||||||
{ ")", "alt-button3" },
|
{ ")", "alt-button3" },
|
||||||
{ "8", "alt-ctrl-button1" },
|
{ "8", "alt-ctrl-button1" },
|
||||||
|
{ ":", "alt-ctrl-button2" },
|
||||||
|
{ "9", "alt-ctrl-button3" },
|
||||||
{ NULL, NULL } };
|
{ NULL, NULL } };
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -2145,6 +2145,7 @@ gui_buffer_set_unread (struct t_gui_buffer *buffer, const char *argument)
|
|||||||
else if (argument[0] == '-')
|
else if (argument[0] == '-')
|
||||||
{
|
{
|
||||||
/* move the unread marker N lines towards the first line */
|
/* move the unread marker N lines towards the first line */
|
||||||
|
error = NULL;
|
||||||
number = strtol (argument, &error, 10);
|
number = strtol (argument, &error, 10);
|
||||||
if (error && !error[0] && (number < 0))
|
if (error && !error[0] && (number < 0))
|
||||||
{
|
{
|
||||||
@@ -2172,6 +2173,7 @@ gui_buffer_set_unread (struct t_gui_buffer *buffer, const char *argument)
|
|||||||
else if (argument[0] == '+')
|
else if (argument[0] == '+')
|
||||||
{
|
{
|
||||||
/* move the unread marker N lines towards the last line */
|
/* move the unread marker N lines towards the last line */
|
||||||
|
error = NULL;
|
||||||
number = strtol (argument, &error, 10);
|
number = strtol (argument, &error, 10);
|
||||||
if (error && !error[0] && (number > 0))
|
if (error && !error[0] && (number > 0))
|
||||||
{
|
{
|
||||||
@@ -2197,6 +2199,7 @@ gui_buffer_set_unread (struct t_gui_buffer *buffer, const char *argument)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* move the unread marker N lines from the end towards the first line */
|
/* move the unread marker N lines from the end towards the first line */
|
||||||
|
error = NULL;
|
||||||
number = strtol (argument, &error, 10);
|
number = strtol (argument, &error, 10);
|
||||||
if (error && !error[0] && (number > 0))
|
if (error && !error[0] && (number > 0))
|
||||||
{
|
{
|
||||||
@@ -2885,6 +2888,7 @@ gui_buffer_search_by_number_or_name (const char *string)
|
|||||||
|
|
||||||
ptr_buffer = NULL;
|
ptr_buffer = NULL;
|
||||||
|
|
||||||
|
error = NULL;
|
||||||
number = strtol (string, &error, 10);
|
number = strtol (string, &error, 10);
|
||||||
if (error && !error[0])
|
if (error && !error[0])
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -597,6 +597,9 @@ gui_chat_printf_date_tags_internal (struct t_gui_buffer *buffer,
|
|||||||
char *modifier_data, *string, *new_string, *pos_newline;
|
char *modifier_data, *string, *new_string, *pos_newline;
|
||||||
struct t_gui_line *new_line;
|
struct t_gui_line *new_line;
|
||||||
|
|
||||||
|
if (!buffer)
|
||||||
|
return;
|
||||||
|
|
||||||
new_line = NULL;
|
new_line = NULL;
|
||||||
string = NULL;
|
string = NULL;
|
||||||
modifier_data = NULL;
|
modifier_data = NULL;
|
||||||
@@ -1076,6 +1079,7 @@ gui_chat_hsignal_quote_line_cb (const void *pointer, void *data,
|
|||||||
hashtable_get (hashtable, "_chat_line_date") : NULL;
|
hashtable_get (hashtable, "_chat_line_date") : NULL;
|
||||||
if (date)
|
if (date)
|
||||||
{
|
{
|
||||||
|
error = NULL;
|
||||||
number = strtol (date, &error, 10);
|
number = strtol (date, &error, 10);
|
||||||
if (error && !error[0])
|
if (error && !error[0])
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ gui_history_buffer_add (struct t_gui_buffer *buffer, const char *string)
|
|||||||
free (buffer->last_history->text);
|
free (buffer->last_history->text);
|
||||||
free (buffer->last_history);
|
free (buffer->last_history);
|
||||||
buffer->last_history = ptr_history;
|
buffer->last_history = ptr_history;
|
||||||
buffer->num_history++;
|
buffer->num_history--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -75,8 +75,8 @@ char *gui_key_modifier_list[] =
|
|||||||
{ "meta-", "ctrl-", "shift-", NULL };
|
{ "meta-", "ctrl-", "shift-", NULL };
|
||||||
|
|
||||||
char *gui_key_alias_list[] =
|
char *gui_key_alias_list[] =
|
||||||
{ "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8", "f9", "f10", "f11",
|
{ "f10", "f11", "f12", "f13", "f14", "f15", "f16", "f17", "f18", "f19", "f20",
|
||||||
"f12", "f13", "f14", "f15", "f16", "f17", "f18", "f19", "f20",
|
"f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8", "f9",
|
||||||
"home", "insert", "delete", "end", "backspace", "pgup", "pgdn",
|
"home", "insert", "delete", "end", "backspace", "pgup", "pgdn",
|
||||||
"up", "down", "right", "left", "tab", "return", "comma", "space", NULL };
|
"up", "down", "right", "left", "tab", "return", "comma", "space", NULL };
|
||||||
|
|
||||||
|
|||||||
@@ -753,6 +753,7 @@ buflist_bar_item_end ()
|
|||||||
for (i = 0; i < BUFLIST_BAR_NUM_ITEMS; i++)
|
for (i = 0; i < BUFLIST_BAR_NUM_ITEMS; i++)
|
||||||
{
|
{
|
||||||
weechat_bar_item_remove (buflist_bar_item_buflist[i]);
|
weechat_bar_item_remove (buflist_bar_item_buflist[i]);
|
||||||
|
buflist_bar_item_buflist[i] = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
weechat_hashtable_free (buflist_hashtable_pointers);
|
weechat_hashtable_free (buflist_hashtable_pointers);
|
||||||
|
|||||||
@@ -842,6 +842,7 @@ buflist_config_free ()
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
weechat_config_free (buflist_config_file);
|
weechat_config_free (buflist_config_file);
|
||||||
|
buflist_config_file = NULL;
|
||||||
|
|
||||||
if (buflist_config_signals_refresh)
|
if (buflist_config_signals_refresh)
|
||||||
buflist_config_free_signals_refresh ();
|
buflist_config_free_signals_refresh ();
|
||||||
@@ -857,9 +858,18 @@ buflist_config_free ()
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (buflist_config_format_buffer_eval)
|
if (buflist_config_format_buffer_eval)
|
||||||
|
{
|
||||||
free (buflist_config_format_buffer_eval);
|
free (buflist_config_format_buffer_eval);
|
||||||
|
buflist_config_format_buffer_eval = NULL;
|
||||||
|
}
|
||||||
if (buflist_config_format_buffer_current_eval)
|
if (buflist_config_format_buffer_current_eval)
|
||||||
|
{
|
||||||
free (buflist_config_format_buffer_current_eval);
|
free (buflist_config_format_buffer_current_eval);
|
||||||
|
buflist_config_format_buffer_current_eval = NULL;
|
||||||
|
}
|
||||||
if (buflist_config_format_hotlist_eval)
|
if (buflist_config_format_hotlist_eval)
|
||||||
|
{
|
||||||
free (buflist_config_format_hotlist_eval);
|
free (buflist_config_format_hotlist_eval);
|
||||||
|
buflist_config_format_hotlist_eval = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,6 +62,7 @@ buflist_focus_cb (const void *pointer, void *data, struct t_hashtable *info)
|
|||||||
ptr_bar_item_line = weechat_hashtable_get (info, "_bar_item_line");
|
ptr_bar_item_line = weechat_hashtable_get (info, "_bar_item_line");
|
||||||
if (!ptr_bar_item_line)
|
if (!ptr_bar_item_line)
|
||||||
goto end;
|
goto end;
|
||||||
|
error = NULL;
|
||||||
item_line = strtol (ptr_bar_item_line, &error, 10);
|
item_line = strtol (ptr_bar_item_line, &error, 10);
|
||||||
if (!error || error[0])
|
if (!error || error[0])
|
||||||
goto end;
|
goto end;
|
||||||
@@ -250,9 +251,11 @@ buflist_hsignal_cb (const void *pointer, void *data, const char *signal,
|
|||||||
return WEECHAT_RC_OK;
|
return WEECHAT_RC_OK;
|
||||||
ptr_buffer = (struct t_gui_buffer *)value;
|
ptr_buffer = (struct t_gui_buffer *)value;
|
||||||
|
|
||||||
|
error = NULL;
|
||||||
number = strtol (ptr_number, &error, 10);
|
number = strtol (ptr_number, &error, 10);
|
||||||
if (!error || error[0])
|
if (!error || error[0])
|
||||||
return WEECHAT_RC_OK;
|
return WEECHAT_RC_OK;
|
||||||
|
error = NULL;
|
||||||
number2 = strtol (ptr_number2, &error, 10);
|
number2 = strtol (ptr_number2, &error, 10);
|
||||||
if (!error || error[0])
|
if (!error || error[0])
|
||||||
return WEECHAT_RC_OK;
|
return WEECHAT_RC_OK;
|
||||||
|
|||||||
@@ -532,5 +532,12 @@ weechat_plugin_end (struct t_weechat_plugin *plugin)
|
|||||||
buflist_config_write ();
|
buflist_config_write ();
|
||||||
buflist_config_free ();
|
buflist_config_free ();
|
||||||
|
|
||||||
|
buflist_hdata_window = NULL;
|
||||||
|
buflist_hdata_buffer = NULL;
|
||||||
|
buflist_hdata_hotlist = NULL;
|
||||||
|
buflist_hdata_bar = NULL;
|
||||||
|
buflist_hdata_bar_item = NULL;
|
||||||
|
buflist_hdata_bar_window = NULL;
|
||||||
|
|
||||||
return WEECHAT_RC_OK;
|
return WEECHAT_RC_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -637,11 +637,18 @@ weechat_plugin_end (struct t_weechat_plugin *plugin)
|
|||||||
charset_config_write ();
|
charset_config_write ();
|
||||||
|
|
||||||
weechat_config_free (charset_config_file);
|
weechat_config_free (charset_config_file);
|
||||||
|
charset_config_file = NULL;
|
||||||
|
|
||||||
if (charset_terminal)
|
if (charset_terminal)
|
||||||
|
{
|
||||||
free (charset_terminal);
|
free (charset_terminal);
|
||||||
|
charset_terminal = NULL;
|
||||||
|
}
|
||||||
if (charset_internal)
|
if (charset_internal)
|
||||||
|
{
|
||||||
free (charset_internal);
|
free (charset_internal);
|
||||||
|
charset_internal = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
return WEECHAT_RC_OK;
|
return WEECHAT_RC_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -206,6 +206,7 @@ void
|
|||||||
exec_config_free ()
|
exec_config_free ()
|
||||||
{
|
{
|
||||||
weechat_config_free (exec_config_file);
|
weechat_config_free (exec_config_file);
|
||||||
|
exec_config_file = NULL;
|
||||||
|
|
||||||
if (exec_config_cmd_options)
|
if (exec_config_cmd_options)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -157,4 +157,5 @@ void
|
|||||||
fifo_config_free ()
|
fifo_config_free ()
|
||||||
{
|
{
|
||||||
weechat_config_free (fifo_config_file);
|
weechat_config_free (fifo_config_file);
|
||||||
|
fifo_config_file = NULL;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -367,6 +367,9 @@ weechat_plugin_init (struct t_weechat_plugin *plugin, int argc, char *argv[])
|
|||||||
|
|
||||||
weechat_plugin = plugin;
|
weechat_plugin = plugin;
|
||||||
|
|
||||||
|
fifo_quiet = 0;
|
||||||
|
fifo_fd = -1;
|
||||||
|
|
||||||
if (!fifo_config_init ())
|
if (!fifo_config_init ())
|
||||||
return WEECHAT_RC_ERROR;
|
return WEECHAT_RC_ERROR;
|
||||||
|
|
||||||
|
|||||||
@@ -241,4 +241,5 @@ void
|
|||||||
fset_bar_item_end ()
|
fset_bar_item_end ()
|
||||||
{
|
{
|
||||||
weechat_bar_item_remove (fset_bar_item_fset);
|
weechat_bar_item_remove (fset_bar_item_fset);
|
||||||
|
fset_bar_item_fset = NULL;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1626,9 +1626,21 @@ fset_buffer_init ()
|
|||||||
void
|
void
|
||||||
fset_buffer_end ()
|
fset_buffer_end ()
|
||||||
{
|
{
|
||||||
weechat_hashtable_free (fset_buffer_hashtable_pointers);
|
if (fset_buffer)
|
||||||
fset_buffer_hashtable_pointers = NULL;
|
{
|
||||||
|
weechat_buffer_close (fset_buffer);
|
||||||
|
fset_buffer = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
weechat_hashtable_free (fset_buffer_hashtable_extra_vars);
|
if (fset_buffer_hashtable_pointers)
|
||||||
fset_buffer_hashtable_extra_vars = NULL;
|
{
|
||||||
|
weechat_hashtable_free (fset_buffer_hashtable_pointers);
|
||||||
|
fset_buffer_hashtable_pointers = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (fset_buffer_hashtable_extra_vars)
|
||||||
|
{
|
||||||
|
weechat_hashtable_free (fset_buffer_hashtable_extra_vars);
|
||||||
|
fset_buffer_hashtable_extra_vars = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1169,6 +1169,7 @@ void
|
|||||||
fset_config_free ()
|
fset_config_free ()
|
||||||
{
|
{
|
||||||
weechat_config_free (fset_config_file);
|
weechat_config_free (fset_config_file);
|
||||||
|
fset_config_file = NULL;
|
||||||
|
|
||||||
if (fset_config_auto_refresh)
|
if (fset_config_auto_refresh)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1878,4 +1878,9 @@ fset_option_end ()
|
|||||||
weechat_hashtable_free (fset_option_timer_options_changed);
|
weechat_hashtable_free (fset_option_timer_options_changed);
|
||||||
fset_option_timer_options_changed = NULL;
|
fset_option_timer_options_changed = NULL;
|
||||||
}
|
}
|
||||||
|
if (fset_option_timer_hook)
|
||||||
|
{
|
||||||
|
weechat_unhook (fset_option_timer_hook);
|
||||||
|
fset_option_timer_hook = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1258,6 +1258,11 @@ weechat_plugin_init (struct t_weechat_plugin *plugin, int argc, char *argv[])
|
|||||||
|
|
||||||
weechat_guile_plugin = plugin;
|
weechat_guile_plugin = plugin;
|
||||||
|
|
||||||
|
guile_quiet = 0;
|
||||||
|
guile_eval_mode = 0;
|
||||||
|
guile_eval_send_input = 0;
|
||||||
|
guile_eval_exec_commands = 0;
|
||||||
|
|
||||||
/* set interpreter name and version */
|
/* set interpreter name and version */
|
||||||
weechat_hashtable_set (plugin->variables, "interpreter_name",
|
weechat_hashtable_set (plugin->variables, "interpreter_name",
|
||||||
plugin->name);
|
plugin->name);
|
||||||
@@ -1354,12 +1359,22 @@ weechat_plugin_end (struct t_weechat_plugin *plugin)
|
|||||||
|
|
||||||
/* free some data */
|
/* free some data */
|
||||||
if (guile_action_install_list)
|
if (guile_action_install_list)
|
||||||
|
{
|
||||||
free (guile_action_install_list);
|
free (guile_action_install_list);
|
||||||
|
guile_action_install_list = NULL;
|
||||||
|
}
|
||||||
if (guile_action_remove_list)
|
if (guile_action_remove_list)
|
||||||
|
{
|
||||||
free (guile_action_remove_list);
|
free (guile_action_remove_list);
|
||||||
|
guile_action_remove_list = NULL;
|
||||||
|
}
|
||||||
if (guile_action_autoload_list)
|
if (guile_action_autoload_list)
|
||||||
|
{
|
||||||
free (guile_action_autoload_list);
|
free (guile_action_autoload_list);
|
||||||
|
guile_action_autoload_list = NULL;
|
||||||
|
}
|
||||||
weechat_string_dyn_free (guile_buffer_output, 1);
|
weechat_string_dyn_free (guile_buffer_output, 1);
|
||||||
|
guile_buffer_output = NULL;
|
||||||
|
|
||||||
return WEECHAT_RC_OK;
|
return WEECHAT_RC_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3857,6 +3857,7 @@ void
|
|||||||
irc_config_free ()
|
irc_config_free ()
|
||||||
{
|
{
|
||||||
weechat_config_free (irc_config_file);
|
weechat_config_free (irc_config_file);
|
||||||
|
irc_config_file = NULL;
|
||||||
|
|
||||||
if (irc_config_hook_config_nick_color_options)
|
if (irc_config_hook_config_nick_color_options)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -343,6 +343,9 @@ irc_info_info_irc_server_isupport_cb (const void *pointer, void *data,
|
|||||||
(void) data;
|
(void) data;
|
||||||
(void) info_name;
|
(void) info_name;
|
||||||
|
|
||||||
|
if (!arguments || !arguments[0])
|
||||||
|
return NULL;
|
||||||
|
|
||||||
isupport_value = NULL;
|
isupport_value = NULL;
|
||||||
pos_comma = strchr (arguments, ',');
|
pos_comma = strchr (arguments, ',');
|
||||||
if (pos_comma)
|
if (pos_comma)
|
||||||
@@ -381,6 +384,9 @@ irc_info_info_irc_server_isupport_value_cb (const void *pointer, void *data,
|
|||||||
(void) data;
|
(void) data;
|
||||||
(void) info_name;
|
(void) info_name;
|
||||||
|
|
||||||
|
if (!arguments || !arguments[0])
|
||||||
|
return NULL;
|
||||||
|
|
||||||
isupport_value = NULL;
|
isupport_value = NULL;
|
||||||
pos_comma = strchr (arguments, ',');
|
pos_comma = strchr (arguments, ',');
|
||||||
if (pos_comma)
|
if (pos_comma)
|
||||||
@@ -419,6 +425,9 @@ irc_info_info_irc_server_cap_cb (const void *pointer, void *data,
|
|||||||
(void) data;
|
(void) data;
|
||||||
(void) info_name;
|
(void) info_name;
|
||||||
|
|
||||||
|
if (!arguments || !arguments[0])
|
||||||
|
return NULL;
|
||||||
|
|
||||||
has_cap = 0;
|
has_cap = 0;
|
||||||
pos_comma = strchr (arguments, ',');
|
pos_comma = strchr (arguments, ',');
|
||||||
if (pos_comma)
|
if (pos_comma)
|
||||||
@@ -457,6 +466,9 @@ irc_info_info_irc_server_cap_value_cb (const void *pointer, void *data,
|
|||||||
(void) data;
|
(void) data;
|
||||||
(void) info_name;
|
(void) info_name;
|
||||||
|
|
||||||
|
if (!arguments || !arguments[0])
|
||||||
|
return NULL;
|
||||||
|
|
||||||
cap_value = NULL;
|
cap_value = NULL;
|
||||||
pos_comma = strchr (arguments, ',');
|
pos_comma = strchr (arguments, ',');
|
||||||
if (pos_comma)
|
if (pos_comma)
|
||||||
@@ -1261,7 +1273,7 @@ irc_info_init ()
|
|||||||
"irc_is_message_ignored",
|
"irc_is_message_ignored",
|
||||||
N_("1 if the nick is ignored (message is not displayed)"),
|
N_("1 if the nick is ignored (message is not displayed)"),
|
||||||
N_("server,message (message is the raw IRC message)"),
|
N_("server,message (message is the raw IRC message)"),
|
||||||
&irc_info_info_irc_is_channel_cb, NULL, NULL);
|
&irc_info_info_irc_is_message_ignored_cb, NULL, NULL);
|
||||||
|
|
||||||
/* info_hashtable hooks */
|
/* info_hashtable hooks */
|
||||||
weechat_hook_info_hashtable (
|
weechat_hook_info_hashtable (
|
||||||
|
|||||||
@@ -625,6 +625,7 @@ irc_message_parse_cap_multiline_value (struct t_irc_server *server,
|
|||||||
ptr_value = (const char *)weechat_hashtable_get (values, "max-bytes");
|
ptr_value = (const char *)weechat_hashtable_get (values, "max-bytes");
|
||||||
if (ptr_value)
|
if (ptr_value)
|
||||||
{
|
{
|
||||||
|
error = NULL;
|
||||||
number = strtol (ptr_value, &error, 10);
|
number = strtol (ptr_value, &error, 10);
|
||||||
if (error && !error[0])
|
if (error && !error[0])
|
||||||
server->multiline_max_bytes = number;
|
server->multiline_max_bytes = number;
|
||||||
@@ -633,6 +634,7 @@ irc_message_parse_cap_multiline_value (struct t_irc_server *server,
|
|||||||
ptr_value = (const char *)weechat_hashtable_get (values, "max-lines");
|
ptr_value = (const char *)weechat_hashtable_get (values, "max-lines");
|
||||||
if (ptr_value)
|
if (ptr_value)
|
||||||
{
|
{
|
||||||
|
error = NULL;
|
||||||
number = strtol (ptr_value, &error, 10);
|
number = strtol (ptr_value, &error, 10);
|
||||||
if (error && !error[0])
|
if (error && !error[0])
|
||||||
server->multiline_max_lines = number;
|
server->multiline_max_lines = number;
|
||||||
@@ -1053,9 +1055,6 @@ irc_message_split_string (struct t_irc_message_split_context *context,
|
|||||||
if (suffix)
|
if (suffix)
|
||||||
max_length -= strlen (suffix);
|
max_length -= strlen (suffix);
|
||||||
|
|
||||||
if (max_length < 2)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
/* debug message */
|
/* debug message */
|
||||||
if (weechat_irc_plugin->debug >= 2)
|
if (weechat_irc_plugin->debug >= 2)
|
||||||
{
|
{
|
||||||
@@ -1067,17 +1066,23 @@ irc_message_split_string (struct t_irc_message_split_context *context,
|
|||||||
max_length);
|
max_length);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!arguments || !arguments[0])
|
if ((max_length < 2) || !arguments || !arguments[0])
|
||||||
{
|
{
|
||||||
snprintf (message, sizeof (message), "%s%s%s %s%s%s%s",
|
/*
|
||||||
|
* max length is not known (server probably sent values that are not
|
||||||
|
* consistent), or no arguments => in this case, we just return message
|
||||||
|
* as-is (no split)
|
||||||
|
*/
|
||||||
|
snprintf (message, sizeof (message), "%s%s%s %s%s%s%s%s",
|
||||||
(host) ? host : "",
|
(host) ? host : "",
|
||||||
(host) ? " " : "",
|
(host) ? " " : "",
|
||||||
command,
|
command,
|
||||||
(target) ? target : "",
|
(target) ? target : "",
|
||||||
(target && target[0]) ? " " : "",
|
(target && target[0]) ? " " : "",
|
||||||
(prefix) ? prefix : "",
|
(prefix) ? prefix : "",
|
||||||
|
(arguments) ? arguments : "",
|
||||||
(suffix) ? suffix : "");
|
(suffix) ? suffix : "");
|
||||||
irc_message_split_add (context, tags, message, "");
|
irc_message_split_add (context, tags, message, (arguments) ? arguments : "");
|
||||||
(context->number)++;
|
(context->number)++;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@@ -1678,8 +1683,9 @@ irc_message_split (struct t_irc_server *server, const char *message)
|
|||||||
}
|
}
|
||||||
|
|
||||||
multiline = (
|
multiline = (
|
||||||
((weechat_strcasecmp (command, "privmsg") == 0)
|
server
|
||||||
|| (weechat_strcasecmp (command, "notice") == 0))
|
&& ((weechat_strcasecmp (command, "privmsg") == 0)
|
||||||
|
|| (weechat_strcasecmp (command, "notice") == 0))
|
||||||
&& message
|
&& message
|
||||||
&& strchr (message, '\n')
|
&& strchr (message, '\n')
|
||||||
&& (index_args + 1 <= argc - 1)
|
&& (index_args + 1 <= argc - 1)
|
||||||
|
|||||||
@@ -1288,9 +1288,18 @@ void
|
|||||||
irc_notify_end ()
|
irc_notify_end ()
|
||||||
{
|
{
|
||||||
if (irc_notify_timer_ison)
|
if (irc_notify_timer_ison)
|
||||||
|
{
|
||||||
weechat_unhook (irc_notify_timer_ison);
|
weechat_unhook (irc_notify_timer_ison);
|
||||||
|
irc_notify_timer_ison = NULL;
|
||||||
|
}
|
||||||
if (irc_notify_timer_whois)
|
if (irc_notify_timer_whois)
|
||||||
|
{
|
||||||
weechat_unhook (irc_notify_timer_whois);
|
weechat_unhook (irc_notify_timer_whois);
|
||||||
|
irc_notify_timer_whois = NULL;
|
||||||
|
}
|
||||||
if (irc_notify_hsignal)
|
if (irc_notify_hsignal)
|
||||||
|
{
|
||||||
weechat_unhook (irc_notify_hsignal);
|
weechat_unhook (irc_notify_hsignal);
|
||||||
|
irc_notify_hsignal = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -341,6 +341,7 @@ irc_protocol_parse_time (const char *time)
|
|||||||
pos = strchr (time2, ',');
|
pos = strchr (time2, ',');
|
||||||
if (pos)
|
if (pos)
|
||||||
pos[0] = '\0';
|
pos[0] = '\0';
|
||||||
|
error = NULL;
|
||||||
value = strtol (time2, &error, 10);
|
value = strtol (time2, &error, 10);
|
||||||
if (error && !error[0] && (value >= 0))
|
if (error && !error[0] && (value >= 0))
|
||||||
time_value = (int)value;
|
time_value = (int)value;
|
||||||
@@ -7843,7 +7844,8 @@ irc_protocol_recv_command (struct t_irc_server *server,
|
|||||||
IRCB(331, 1, 0, 331), /* no topic for channel */
|
IRCB(331, 1, 0, 331), /* no topic for channel */
|
||||||
IRCB(332, 0, 1, 332), /* topic of channel */
|
IRCB(332, 0, 1, 332), /* topic of channel */
|
||||||
IRCB(333, 1, 0, 333), /* topic info (nick/date) */
|
IRCB(333, 1, 0, 333), /* topic info (nick/date) */
|
||||||
IRCB(335, 1, 0, whois_nick_msg), /* is a bot on */
|
IRCB(335, 1, 0, whois_nick_msg), /* whois (is a bot on) */
|
||||||
|
IRCB(337, 1, 0, whois_nick_msg), /* whois (is hiding idle time) */
|
||||||
IRCB(338, 1, 0, 338), /* whois (host) */
|
IRCB(338, 1, 0, 338), /* whois (host) */
|
||||||
IRCB(341, 1, 0, 341), /* inviting */
|
IRCB(341, 1, 0, 341), /* inviting */
|
||||||
IRCB(343, 1, 0, 330_343), /* is opered as */
|
IRCB(343, 1, 0, 330_343), /* is opered as */
|
||||||
|
|||||||
@@ -673,6 +673,11 @@ irc_raw_end ()
|
|||||||
{
|
{
|
||||||
irc_raw_message_free_all ();
|
irc_raw_message_free_all ();
|
||||||
|
|
||||||
|
if (irc_raw_buffer)
|
||||||
|
{
|
||||||
|
weechat_buffer_close (irc_raw_buffer);
|
||||||
|
irc_raw_buffer = NULL;
|
||||||
|
}
|
||||||
if (irc_raw_filter)
|
if (irc_raw_filter)
|
||||||
{
|
{
|
||||||
free (irc_raw_filter);
|
free (irc_raw_filter);
|
||||||
|
|||||||
@@ -462,6 +462,7 @@ irc_redirect_new_with_commands (struct t_irc_server *server,
|
|||||||
if (pos)
|
if (pos)
|
||||||
{
|
{
|
||||||
pos[0] = '\0';
|
pos[0] = '\0';
|
||||||
|
error = NULL;
|
||||||
value = strtol (pos + 1, &error, 10);
|
value = strtol (pos + 1, &error, 10);
|
||||||
if (!error || error[0])
|
if (!error || error[0])
|
||||||
value = -1;
|
value = -1;
|
||||||
@@ -1309,6 +1310,7 @@ irc_redirect_pattern_hsignal_cb (const void *pointer, void *data,
|
|||||||
timeout = 0;
|
timeout = 0;
|
||||||
if (str_timeout && str_timeout[0])
|
if (str_timeout && str_timeout[0])
|
||||||
{
|
{
|
||||||
|
error = NULL;
|
||||||
number = (int)strtol (str_timeout, &error, 10);
|
number = (int)strtol (str_timeout, &error, 10);
|
||||||
if (error && !error[0])
|
if (error && !error[0])
|
||||||
timeout = number;
|
timeout = number;
|
||||||
@@ -1379,6 +1381,7 @@ irc_redirect_command_hsignal_cb (const void *pointer, void *data,
|
|||||||
count = 1;
|
count = 1;
|
||||||
if (str_count && str_count[0])
|
if (str_count && str_count[0])
|
||||||
{
|
{
|
||||||
|
error = NULL;
|
||||||
number = (int)strtol (str_count, &error, 10);
|
number = (int)strtol (str_count, &error, 10);
|
||||||
if (error && !error[0])
|
if (error && !error[0])
|
||||||
count = number;
|
count = number;
|
||||||
@@ -1387,6 +1390,7 @@ irc_redirect_command_hsignal_cb (const void *pointer, void *data,
|
|||||||
timeout = 0;
|
timeout = 0;
|
||||||
if (str_timeout && str_timeout[0])
|
if (str_timeout && str_timeout[0])
|
||||||
{
|
{
|
||||||
|
error = NULL;
|
||||||
number = (int)strtol (str_timeout, &error, 10);
|
number = (int)strtol (str_timeout, &error, 10);
|
||||||
if (error && !error[0])
|
if (error && !error[0])
|
||||||
timeout = number;
|
timeout = number;
|
||||||
|
|||||||
@@ -2818,11 +2818,10 @@ irc_server_outqueue_send (struct t_irc_server *server)
|
|||||||
'\r');
|
'\r');
|
||||||
if (pos)
|
if (pos)
|
||||||
pos[0] = '\0';
|
pos[0] = '\0';
|
||||||
|
|
||||||
irc_raw_print (server, IRC_RAW_FLAG_SEND |
|
irc_raw_print (server, IRC_RAW_FLAG_SEND |
|
||||||
((server->outqueue[priority]->modified) ? IRC_RAW_FLAG_MODIFIED : 0),
|
((server->outqueue[priority]->modified) ? IRC_RAW_FLAG_MODIFIED : 0),
|
||||||
server->outqueue[priority]->message_after_mod);
|
server->outqueue[priority]->message_after_mod);
|
||||||
if (pos)
|
|
||||||
pos[0] = '\r';
|
|
||||||
|
|
||||||
/* send signal with command that will be sent to server */
|
/* send signal with command that will be sent to server */
|
||||||
(void) irc_server_send_signal (
|
(void) irc_server_send_signal (
|
||||||
@@ -2840,6 +2839,9 @@ irc_server_outqueue_send (struct t_irc_server *server)
|
|||||||
if (tags_to_send)
|
if (tags_to_send)
|
||||||
free (tags_to_send);
|
free (tags_to_send);
|
||||||
|
|
||||||
|
if (pos)
|
||||||
|
pos[0] = '\r';
|
||||||
|
|
||||||
/* send command */
|
/* send command */
|
||||||
irc_server_send (
|
irc_server_send (
|
||||||
server, server->outqueue[priority]->message_after_mod,
|
server, server->outqueue[priority]->message_after_mod,
|
||||||
|
|||||||
@@ -192,6 +192,9 @@ weechat_plugin_init (struct t_weechat_plugin *plugin, int argc, char *argv[])
|
|||||||
|
|
||||||
weechat_plugin = plugin;
|
weechat_plugin = plugin;
|
||||||
|
|
||||||
|
irc_signal_quit_received = 0;
|
||||||
|
irc_signal_upgrade_received = 0;
|
||||||
|
|
||||||
if (!irc_config_init ())
|
if (!irc_config_init ())
|
||||||
return WEECHAT_RC_ERROR;
|
return WEECHAT_RC_ERROR;
|
||||||
|
|
||||||
@@ -307,7 +310,10 @@ weechat_plugin_end (struct t_weechat_plugin *plugin)
|
|||||||
(void) plugin;
|
(void) plugin;
|
||||||
|
|
||||||
if (irc_hook_timer)
|
if (irc_hook_timer)
|
||||||
|
{
|
||||||
weechat_unhook (irc_hook_timer);
|
weechat_unhook (irc_hook_timer);
|
||||||
|
irc_hook_timer = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
if (irc_signal_upgrade_received)
|
if (irc_signal_upgrade_received)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -930,6 +930,11 @@ weechat_plugin_init (struct t_weechat_plugin *plugin, int argc, char *argv[])
|
|||||||
|
|
||||||
weechat_js_plugin = plugin;
|
weechat_js_plugin = plugin;
|
||||||
|
|
||||||
|
js_quiet = 0;
|
||||||
|
js_eval_mode = 0;
|
||||||
|
js_eval_send_input = 0;
|
||||||
|
js_eval_exec_commands = 0;
|
||||||
|
|
||||||
/* set interpreter name and version */
|
/* set interpreter name and version */
|
||||||
snprintf (str_interpreter, sizeof (str_interpreter),
|
snprintf (str_interpreter, sizeof (str_interpreter),
|
||||||
"%s (v8)", plugin->name);
|
"%s (v8)", plugin->name);
|
||||||
@@ -980,11 +985,20 @@ weechat_plugin_end (struct t_weechat_plugin *plugin)
|
|||||||
|
|
||||||
/* free some data */
|
/* free some data */
|
||||||
if (js_action_install_list)
|
if (js_action_install_list)
|
||||||
|
{
|
||||||
free (js_action_install_list);
|
free (js_action_install_list);
|
||||||
|
js_action_install_list = NULL;
|
||||||
|
}
|
||||||
if (js_action_remove_list)
|
if (js_action_remove_list)
|
||||||
|
{
|
||||||
free (js_action_remove_list);
|
free (js_action_remove_list);
|
||||||
|
js_action_remove_list = NULL;
|
||||||
|
}
|
||||||
if (js_action_autoload_list)
|
if (js_action_autoload_list)
|
||||||
|
{
|
||||||
free (js_action_autoload_list);
|
free (js_action_autoload_list);
|
||||||
|
js_action_autoload_list = NULL;
|
||||||
|
}
|
||||||
/* weechat_string_dyn_free (js_buffer_output, 1); */
|
/* weechat_string_dyn_free (js_buffer_output, 1); */
|
||||||
|
|
||||||
return WEECHAT_RC_OK;
|
return WEECHAT_RC_OK;
|
||||||
|
|||||||
@@ -261,7 +261,6 @@ logger_backlog_file (struct t_gui_buffer *buffer, const char *filename,
|
|||||||
struct t_arraylist *last_lines, *messages;
|
struct t_arraylist *last_lines, *messages;
|
||||||
int i, num_msgs, old_input_multiline;
|
int i, num_msgs, old_input_multiline;
|
||||||
|
|
||||||
num_msgs = 0;
|
|
||||||
last_lines = logger_tail_file (filename, lines);
|
last_lines = logger_tail_file (filename, lines);
|
||||||
if (!last_lines)
|
if (!last_lines)
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -752,4 +752,5 @@ void
|
|||||||
logger_config_free ()
|
logger_config_free ()
|
||||||
{
|
{
|
||||||
weechat_config_free (logger_config_file);
|
weechat_config_free (logger_config_file);
|
||||||
|
logger_config_file = NULL;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1243,6 +1243,11 @@ weechat_plugin_init (struct t_weechat_plugin *plugin, int argc, char *argv[])
|
|||||||
|
|
||||||
weechat_lua_plugin = plugin;
|
weechat_lua_plugin = plugin;
|
||||||
|
|
||||||
|
lua_quiet = 0;
|
||||||
|
lua_eval_mode = 0;
|
||||||
|
lua_eval_send_input = 0;
|
||||||
|
lua_eval_exec_commands = 0;
|
||||||
|
|
||||||
/* set interpreter name and version */
|
/* set interpreter name and version */
|
||||||
weechat_hashtable_set (plugin->variables, "interpreter_name",
|
weechat_hashtable_set (plugin->variables, "interpreter_name",
|
||||||
plugin->name);
|
plugin->name);
|
||||||
@@ -1304,12 +1309,22 @@ weechat_plugin_end (struct t_weechat_plugin *plugin)
|
|||||||
|
|
||||||
/* free some data */
|
/* free some data */
|
||||||
if (lua_action_install_list)
|
if (lua_action_install_list)
|
||||||
|
{
|
||||||
free (lua_action_install_list);
|
free (lua_action_install_list);
|
||||||
|
lua_action_install_list = NULL;
|
||||||
|
}
|
||||||
if (lua_action_remove_list)
|
if (lua_action_remove_list)
|
||||||
|
{
|
||||||
free (lua_action_remove_list);
|
free (lua_action_remove_list);
|
||||||
|
lua_action_remove_list = NULL;
|
||||||
|
}
|
||||||
if (lua_action_autoload_list)
|
if (lua_action_autoload_list)
|
||||||
|
{
|
||||||
free (lua_action_autoload_list);
|
free (lua_action_autoload_list);
|
||||||
|
lua_action_autoload_list = NULL;
|
||||||
|
}
|
||||||
weechat_string_dyn_free (lua_buffer_output, 1);
|
weechat_string_dyn_free (lua_buffer_output, 1);
|
||||||
|
lua_buffer_output = NULL;
|
||||||
|
|
||||||
return WEECHAT_RC_OK;
|
return WEECHAT_RC_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1264,6 +1264,11 @@ weechat_plugin_init (struct t_weechat_plugin *plugin, int argc, char *argv[])
|
|||||||
|
|
||||||
weechat_perl_plugin = plugin;
|
weechat_perl_plugin = plugin;
|
||||||
|
|
||||||
|
perl_quiet = 0;
|
||||||
|
perl_eval_mode = 0;
|
||||||
|
perl_eval_send_input = 0;
|
||||||
|
perl_eval_exec_commands = 0;
|
||||||
|
|
||||||
/* set interpreter name and version */
|
/* set interpreter name and version */
|
||||||
weechat_hashtable_set (plugin->variables, "interpreter_name",
|
weechat_hashtable_set (plugin->variables, "interpreter_name",
|
||||||
plugin->name);
|
plugin->name);
|
||||||
@@ -1368,12 +1373,22 @@ weechat_plugin_end (struct t_weechat_plugin *plugin)
|
|||||||
|
|
||||||
/* free some data */
|
/* free some data */
|
||||||
if (perl_action_install_list)
|
if (perl_action_install_list)
|
||||||
|
{
|
||||||
free (perl_action_install_list);
|
free (perl_action_install_list);
|
||||||
|
perl_action_install_list = NULL;
|
||||||
|
}
|
||||||
if (perl_action_remove_list)
|
if (perl_action_remove_list)
|
||||||
|
{
|
||||||
free (perl_action_remove_list);
|
free (perl_action_remove_list);
|
||||||
|
perl_action_remove_list = NULL;
|
||||||
|
}
|
||||||
if (perl_action_autoload_list)
|
if (perl_action_autoload_list)
|
||||||
|
{
|
||||||
free (perl_action_autoload_list);
|
free (perl_action_autoload_list);
|
||||||
|
perl_action_autoload_list = NULL;
|
||||||
|
}
|
||||||
weechat_string_dyn_free (perl_buffer_output, 1);
|
weechat_string_dyn_free (perl_buffer_output, 1);
|
||||||
|
perl_buffer_output = NULL;
|
||||||
|
|
||||||
return WEECHAT_RC_OK;
|
return WEECHAT_RC_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1308,6 +1308,11 @@ weechat_plugin_init (struct t_weechat_plugin *plugin, int argc, char *argv[])
|
|||||||
|
|
||||||
weechat_php_plugin = plugin;
|
weechat_php_plugin = plugin;
|
||||||
|
|
||||||
|
php_quiet = 0;
|
||||||
|
php_eval_mode = 0;
|
||||||
|
php_eval_send_input = 0;
|
||||||
|
php_eval_exec_commands = 0;
|
||||||
|
|
||||||
/* set interpreter name and version */
|
/* set interpreter name and version */
|
||||||
weechat_hashtable_set (plugin->variables, "interpreter_name",
|
weechat_hashtable_set (plugin->variables, "interpreter_name",
|
||||||
plugin->name);
|
plugin->name);
|
||||||
@@ -1382,11 +1387,20 @@ weechat_plugin_end (struct t_weechat_plugin *plugin)
|
|||||||
php_embed_shutdown ();
|
php_embed_shutdown ();
|
||||||
|
|
||||||
if (php_action_install_list)
|
if (php_action_install_list)
|
||||||
|
{
|
||||||
free (php_action_install_list);
|
free (php_action_install_list);
|
||||||
|
php_action_install_list = NULL;
|
||||||
|
}
|
||||||
if (php_action_remove_list)
|
if (php_action_remove_list)
|
||||||
|
{
|
||||||
free (php_action_remove_list);
|
free (php_action_remove_list);
|
||||||
|
php_action_remove_list = NULL;
|
||||||
|
}
|
||||||
if (php_action_autoload_list)
|
if (php_action_autoload_list)
|
||||||
|
{
|
||||||
free (php_action_autoload_list);
|
free (php_action_autoload_list);
|
||||||
|
php_action_autoload_list = NULL;
|
||||||
|
}
|
||||||
/* weechat_string_dyn_free (php_buffer_output, 1); */
|
/* weechat_string_dyn_free (php_buffer_output, 1); */
|
||||||
|
|
||||||
return WEECHAT_RC_OK;
|
return WEECHAT_RC_OK;
|
||||||
|
|||||||
@@ -1795,6 +1795,7 @@ plugin_script_end (struct t_weechat_plugin *weechat_plugin,
|
|||||||
/* write config file (file: "<language>.conf") */
|
/* write config file (file: "<language>.conf") */
|
||||||
weechat_config_write (*(plugin_data->config_file));
|
weechat_config_write (*(plugin_data->config_file));
|
||||||
weechat_config_free (*(plugin_data->config_file));
|
weechat_config_free (*(plugin_data->config_file));
|
||||||
|
*(plugin_data->config_file) = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -80,8 +80,8 @@
|
|||||||
return PyLong_FromLong((long)__int)
|
return PyLong_FromLong((long)__int)
|
||||||
#define API_RETURN_LONG(__long) \
|
#define API_RETURN_LONG(__long) \
|
||||||
return PyLong_FromLong(__long)
|
return PyLong_FromLong(__long)
|
||||||
#define API_RETURN_LONGLONG(__longlong) \
|
#define API_RETURN_ULONGLONG(__ulonglong) \
|
||||||
return PyLong_FromLongLong(__longlong)
|
return PyLong_FromUnsignedLongLong(__ulonglong)
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -376,14 +376,14 @@ API_FUNC(string_parse_size)
|
|||||||
char *size;
|
char *size;
|
||||||
unsigned long long value;
|
unsigned long long value;
|
||||||
|
|
||||||
API_INIT_FUNC(1, "string_parse_size", API_RETURN_LONGLONG(0));
|
API_INIT_FUNC(1, "string_parse_size", API_RETURN_ULONGLONG(0));
|
||||||
size = NULL;
|
size = NULL;
|
||||||
if (!PyArg_ParseTuple (args, "s", &size))
|
if (!PyArg_ParseTuple (args, "s", &size))
|
||||||
API_WRONG_ARGS(API_RETURN_LONGLONG(0));
|
API_WRONG_ARGS(API_RETURN_ULONGLONG(0));
|
||||||
|
|
||||||
value = weechat_string_parse_size (size);
|
value = weechat_string_parse_size (size);
|
||||||
|
|
||||||
API_RETURN_LONGLONG(value);
|
API_RETURN_ULONGLONG(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
API_FUNC(string_color_code_size)
|
API_FUNC(string_color_code_size)
|
||||||
|
|||||||
@@ -1471,6 +1471,11 @@ weechat_plugin_init (struct t_weechat_plugin *plugin, int argc, char *argv[])
|
|||||||
|
|
||||||
weechat_python_plugin = plugin;
|
weechat_python_plugin = plugin;
|
||||||
|
|
||||||
|
python_quiet = 0;
|
||||||
|
python_eval_mode = 0;
|
||||||
|
python_eval_send_input = 0;
|
||||||
|
python_eval_exec_commands = 0;
|
||||||
|
|
||||||
/* set interpreter name and version */
|
/* set interpreter name and version */
|
||||||
weechat_hashtable_set (plugin->variables, "interpreter_name",
|
weechat_hashtable_set (plugin->variables, "interpreter_name",
|
||||||
plugin->name);
|
plugin->name);
|
||||||
@@ -1582,12 +1587,22 @@ weechat_plugin_end (struct t_weechat_plugin *plugin)
|
|||||||
|
|
||||||
/* free some data */
|
/* free some data */
|
||||||
if (python_action_install_list)
|
if (python_action_install_list)
|
||||||
|
{
|
||||||
free (python_action_install_list);
|
free (python_action_install_list);
|
||||||
|
python_action_install_list = NULL;
|
||||||
|
}
|
||||||
if (python_action_remove_list)
|
if (python_action_remove_list)
|
||||||
|
{
|
||||||
free (python_action_remove_list);
|
free (python_action_remove_list);
|
||||||
|
python_action_remove_list = NULL;
|
||||||
|
}
|
||||||
if (python_action_autoload_list)
|
if (python_action_autoload_list)
|
||||||
|
{
|
||||||
free (python_action_autoload_list);
|
free (python_action_autoload_list);
|
||||||
|
python_action_autoload_list = NULL;
|
||||||
|
}
|
||||||
weechat_string_dyn_free (python_buffer_output, 1);
|
weechat_string_dyn_free (python_buffer_output, 1);
|
||||||
|
python_buffer_output = NULL;
|
||||||
|
|
||||||
return WEECHAT_RC_OK;
|
return WEECHAT_RC_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ list(APPEND LINK_LIBS ${GCRYPT_LDFLAGS})
|
|||||||
|
|
||||||
list(APPEND LINK_LIBS ${ZLIB_LIBRARY})
|
list(APPEND LINK_LIBS ${ZLIB_LIBRARY})
|
||||||
|
|
||||||
include_directories(${ZSTD_INCLUDE_DIRS})
|
include_directories(${LIBZSTD_INCLUDE_DIRS})
|
||||||
list(APPEND LINK_LIBS ${LIBZSTD_LDFLAGS})
|
list(APPEND LINK_LIBS ${LIBZSTD_LDFLAGS})
|
||||||
|
|
||||||
target_link_libraries(relay ${LINK_LIBS} coverage_config)
|
target_link_libraries(relay ${LINK_LIBS} coverage_config)
|
||||||
|
|||||||
@@ -616,6 +616,13 @@ relay_irc_signal_irc_disc_cb (const void *pointer, void *data,
|
|||||||
|
|
||||||
if (strcmp ((char *)signal_data, client->protocol_args) == 0)
|
if (strcmp ((char *)signal_data, client->protocol_args) == 0)
|
||||||
{
|
{
|
||||||
|
relay_irc_sendf (client,
|
||||||
|
":%s ERROR :WeeChat: disconnected from server \"%s\"",
|
||||||
|
RELAY_IRC_DATA(client, address),
|
||||||
|
client->protocol_args);
|
||||||
|
relay_irc_sendf (client,
|
||||||
|
":%s ERROR :Closing Link",
|
||||||
|
RELAY_IRC_DATA(client, address));
|
||||||
relay_client_set_status (client, RELAY_STATUS_DISCONNECTED);
|
relay_client_set_status (client, RELAY_STATUS_DISCONNECTED);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -247,6 +247,7 @@ relay_auth_parse_pbkdf2 (const char *parameters,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* parameter 2: iterations */
|
/* parameter 2: iterations */
|
||||||
|
error = NULL;
|
||||||
*iterations = (int)strtol (argv[1], &error, 10);
|
*iterations = (int)strtol (argv[1], &error, 10);
|
||||||
if (!error || error[0])
|
if (!error || error[0])
|
||||||
*iterations = 0;
|
*iterations = 0;
|
||||||
|
|||||||
@@ -1460,6 +1460,7 @@ void
|
|||||||
relay_config_free ()
|
relay_config_free ()
|
||||||
{
|
{
|
||||||
weechat_config_free (relay_config_file);
|
weechat_config_free (relay_config_file);
|
||||||
|
relay_config_file = NULL;
|
||||||
|
|
||||||
if (relay_config_regex_allowed_ips)
|
if (relay_config_regex_allowed_ips)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -162,6 +162,9 @@ relay_network_set_priority ()
|
|||||||
void
|
void
|
||||||
relay_network_init ()
|
relay_network_init ()
|
||||||
{
|
{
|
||||||
|
relay_network_init_ok = 0;
|
||||||
|
relay_network_init_tls_cert_key_ok = 0;
|
||||||
|
|
||||||
/* credentials */
|
/* credentials */
|
||||||
gnutls_certificate_allocate_credentials (&relay_gnutls_x509_cred);
|
gnutls_certificate_allocate_credentials (&relay_gnutls_x509_cred);
|
||||||
relay_network_set_tls_cert_key (0);
|
relay_network_set_tls_cert_key (0);
|
||||||
|
|||||||
@@ -203,6 +203,8 @@ weechat_plugin_init (struct t_weechat_plugin *plugin, int argc, char *argv[])
|
|||||||
|
|
||||||
weechat_plugin = plugin;
|
weechat_plugin = plugin;
|
||||||
|
|
||||||
|
relay_signal_upgrade_received = 0;
|
||||||
|
|
||||||
if (!relay_config_init ())
|
if (!relay_config_init ())
|
||||||
return WEECHAT_RC_ERROR;
|
return WEECHAT_RC_ERROR;
|
||||||
|
|
||||||
@@ -240,7 +242,10 @@ weechat_plugin_end (struct t_weechat_plugin *plugin)
|
|||||||
(void) plugin;
|
(void) plugin;
|
||||||
|
|
||||||
if (relay_hook_timer)
|
if (relay_hook_timer)
|
||||||
|
{
|
||||||
weechat_unhook (relay_hook_timer);
|
weechat_unhook (relay_hook_timer);
|
||||||
|
relay_hook_timer = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
relay_config_write ();
|
relay_config_write ();
|
||||||
|
|
||||||
@@ -254,7 +259,11 @@ weechat_plugin_end (struct t_weechat_plugin *plugin)
|
|||||||
relay_server_free_all ();
|
relay_server_free_all ();
|
||||||
|
|
||||||
if (relay_buffer)
|
if (relay_buffer)
|
||||||
|
{
|
||||||
weechat_buffer_close (relay_buffer);
|
weechat_buffer_close (relay_buffer);
|
||||||
|
relay_buffer = NULL;
|
||||||
|
}
|
||||||
|
relay_buffer_selected_line = 0;
|
||||||
|
|
||||||
relay_client_free_all ();
|
relay_client_free_all ();
|
||||||
|
|
||||||
|
|||||||
@@ -287,7 +287,7 @@ weechat_ruby_print_exception (VALUE err)
|
|||||||
err_class = StringValuePtr (class_name);
|
err_class = StringValuePtr (class_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strcmp (err_class, "SyntaxError") == 0)
|
if (err_class && (strcmp (err_class, "SyntaxError") == 0))
|
||||||
{
|
{
|
||||||
tmp3 = rb_inspect (err);
|
tmp3 = rb_inspect (err);
|
||||||
weechat_printf (NULL,
|
weechat_printf (NULL,
|
||||||
@@ -1336,6 +1336,11 @@ weechat_plugin_init (struct t_weechat_plugin *plugin, int argc, char *argv[])
|
|||||||
|
|
||||||
weechat_ruby_plugin = plugin;
|
weechat_ruby_plugin = plugin;
|
||||||
|
|
||||||
|
ruby_quiet = 0;
|
||||||
|
ruby_eval_mode = 0;
|
||||||
|
ruby_eval_send_input = 0;
|
||||||
|
ruby_eval_exec_commands = 0;
|
||||||
|
|
||||||
/* set interpreter name and version */
|
/* set interpreter name and version */
|
||||||
weechat_hashtable_set (plugin->variables, "interpreter_name",
|
weechat_hashtable_set (plugin->variables, "interpreter_name",
|
||||||
plugin->name);
|
plugin->name);
|
||||||
@@ -1439,12 +1444,22 @@ weechat_plugin_end (struct t_weechat_plugin *plugin)
|
|||||||
|
|
||||||
/* free some data */
|
/* free some data */
|
||||||
if (ruby_action_install_list)
|
if (ruby_action_install_list)
|
||||||
|
{
|
||||||
free (ruby_action_install_list);
|
free (ruby_action_install_list);
|
||||||
|
ruby_action_install_list = NULL;
|
||||||
|
}
|
||||||
if (ruby_action_remove_list)
|
if (ruby_action_remove_list)
|
||||||
|
{
|
||||||
free (ruby_action_remove_list);
|
free (ruby_action_remove_list);
|
||||||
|
ruby_action_remove_list = NULL;
|
||||||
|
}
|
||||||
if (ruby_action_autoload_list)
|
if (ruby_action_autoload_list)
|
||||||
|
{
|
||||||
free (ruby_action_autoload_list);
|
free (ruby_action_autoload_list);
|
||||||
|
ruby_action_autoload_list = NULL;
|
||||||
|
}
|
||||||
weechat_string_dyn_free (ruby_buffer_output, 1);
|
weechat_string_dyn_free (ruby_buffer_output, 1);
|
||||||
|
ruby_buffer_output = NULL;
|
||||||
|
|
||||||
return WEECHAT_RC_OK;
|
return WEECHAT_RC_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1314,6 +1314,11 @@ script_action_run_all ()
|
|||||||
script_buffer_open ();
|
script_buffer_open ();
|
||||||
script_buffer_refresh (1);
|
script_buffer_refresh (1);
|
||||||
}
|
}
|
||||||
|
if (script_buffer_detail_script)
|
||||||
|
{
|
||||||
|
/* back to list of scripts */
|
||||||
|
script_buffer_show_detail_script (NULL);
|
||||||
|
}
|
||||||
weechat_buffer_set (script_buffer, "display", "1");
|
weechat_buffer_set (script_buffer, "display", "1");
|
||||||
}
|
}
|
||||||
else if (weechat_strcmp (argv[0], "list") == 0)
|
else if (weechat_strcmp (argv[0], "list") == 0)
|
||||||
|
|||||||
@@ -840,4 +840,5 @@ void
|
|||||||
script_config_free ()
|
script_config_free ()
|
||||||
{
|
{
|
||||||
weechat_config_free (script_config_file);
|
weechat_config_free (script_config_file);
|
||||||
|
script_config_file = NULL;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -412,6 +412,27 @@ weechat_plugin_end (struct t_weechat_plugin *plugin)
|
|||||||
/* make C compiler happy */
|
/* make C compiler happy */
|
||||||
(void) plugin;
|
(void) plugin;
|
||||||
|
|
||||||
|
if (script_loaded)
|
||||||
|
{
|
||||||
|
weechat_hashtable_free (script_loaded);
|
||||||
|
script_loaded = NULL;
|
||||||
|
}
|
||||||
|
if (script_timer_refresh)
|
||||||
|
{
|
||||||
|
weechat_unhook (script_timer_refresh);
|
||||||
|
script_timer_refresh = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (script_buffer)
|
||||||
|
{
|
||||||
|
weechat_buffer_close (script_buffer);
|
||||||
|
script_buffer = NULL;
|
||||||
|
}
|
||||||
|
script_buffer_selected_line = 0;
|
||||||
|
script_buffer_detail_script = NULL;
|
||||||
|
script_buffer_detail_script_last_line = 0;
|
||||||
|
script_buffer_detail_script_line_diff = -1;
|
||||||
|
|
||||||
script_mouse_end ();
|
script_mouse_end ();
|
||||||
|
|
||||||
script_config_write ();
|
script_config_write ();
|
||||||
@@ -419,10 +440,16 @@ weechat_plugin_end (struct t_weechat_plugin *plugin)
|
|||||||
script_repo_remove_all ();
|
script_repo_remove_all ();
|
||||||
|
|
||||||
if (script_repo_filter)
|
if (script_repo_filter)
|
||||||
|
{
|
||||||
free (script_repo_filter);
|
free (script_repo_filter);
|
||||||
|
script_repo_filter = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
if (script_loaded)
|
if (script_loaded)
|
||||||
|
{
|
||||||
weechat_hashtable_free (script_loaded);
|
weechat_hashtable_free (script_loaded);
|
||||||
|
script_loaded = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
script_config_free ();
|
script_config_free ();
|
||||||
|
|
||||||
|
|||||||
@@ -654,9 +654,16 @@ void
|
|||||||
spell_config_free ()
|
spell_config_free ()
|
||||||
{
|
{
|
||||||
weechat_config_free (spell_config_file);
|
weechat_config_free (spell_config_file);
|
||||||
|
spell_config_file = NULL;
|
||||||
|
|
||||||
if (spell_commands_to_check)
|
if (spell_commands_to_check)
|
||||||
|
{
|
||||||
weechat_string_free_split (spell_commands_to_check);
|
weechat_string_free_split (spell_commands_to_check);
|
||||||
|
spell_commands_to_check = NULL;
|
||||||
|
}
|
||||||
if (spell_length_commands_to_check)
|
if (spell_length_commands_to_check)
|
||||||
|
{
|
||||||
free (spell_length_commands_to_check);
|
free (spell_length_commands_to_check);
|
||||||
|
spell_length_commands_to_check = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -501,5 +501,8 @@ void
|
|||||||
spell_speller_end ()
|
spell_speller_end ()
|
||||||
{
|
{
|
||||||
weechat_hashtable_free (spell_spellers);
|
weechat_hashtable_free (spell_spellers);
|
||||||
|
spell_spellers = NULL;
|
||||||
|
|
||||||
weechat_hashtable_free (spell_speller_buffer);
|
weechat_hashtable_free (spell_speller_buffer);
|
||||||
|
spell_speller_buffer = NULL;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1188,6 +1188,8 @@ weechat_plugin_init (struct t_weechat_plugin *plugin, int argc, char *argv[])
|
|||||||
|
|
||||||
weechat_plugin = plugin;
|
weechat_plugin = plugin;
|
||||||
|
|
||||||
|
spell_enabled = 0;
|
||||||
|
|
||||||
spell_warning_aspell_config ();
|
spell_warning_aspell_config ();
|
||||||
|
|
||||||
#ifdef USE_ENCHANT
|
#ifdef USE_ENCHANT
|
||||||
@@ -1260,10 +1262,15 @@ weechat_plugin_end (struct t_weechat_plugin *plugin)
|
|||||||
#ifdef USE_ENCHANT
|
#ifdef USE_ENCHANT
|
||||||
/* release enchant broker */
|
/* release enchant broker */
|
||||||
enchant_broker_free (broker);
|
enchant_broker_free (broker);
|
||||||
|
broker = NULL;
|
||||||
#endif /* USE_ENCHANT */
|
#endif /* USE_ENCHANT */
|
||||||
|
|
||||||
if (spell_nick_completer)
|
if (spell_nick_completer)
|
||||||
|
{
|
||||||
free (spell_nick_completer);
|
free (spell_nick_completer);
|
||||||
|
spell_nick_completer = NULL;
|
||||||
|
}
|
||||||
|
spell_len_nick_completer = 0;
|
||||||
|
|
||||||
return WEECHAT_RC_OK;
|
return WEECHAT_RC_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5510,7 +5510,8 @@ API_FUNC(hdata_long)
|
|||||||
{
|
{
|
||||||
Tcl_Obj *objp;
|
Tcl_Obj *objp;
|
||||||
char *hdata, *pointer, *name;
|
char *hdata, *pointer, *name;
|
||||||
int result, i;
|
long result;
|
||||||
|
int i;
|
||||||
|
|
||||||
API_INIT_FUNC(1, "hdata_long", API_RETURN_LONG(0));
|
API_INIT_FUNC(1, "hdata_long", API_RETURN_LONG(0));
|
||||||
if (objc < 4)
|
if (objc < 4)
|
||||||
|
|||||||
@@ -56,7 +56,6 @@ struct t_plugin_script *tcl_script_eval = NULL;
|
|||||||
int tcl_eval_mode = 0;
|
int tcl_eval_mode = 0;
|
||||||
int tcl_eval_send_input = 0;
|
int tcl_eval_send_input = 0;
|
||||||
int tcl_eval_exec_commands = 0;
|
int tcl_eval_exec_commands = 0;
|
||||||
struct t_gui_buffer *tcl_eval_buffer = NULL;
|
|
||||||
|
|
||||||
struct t_plugin_script *tcl_scripts = NULL;
|
struct t_plugin_script *tcl_scripts = NULL;
|
||||||
struct t_plugin_script *last_tcl_script = NULL;
|
struct t_plugin_script *last_tcl_script = NULL;
|
||||||
@@ -928,6 +927,11 @@ weechat_plugin_init (struct t_weechat_plugin *plugin, int argc, char *argv[])
|
|||||||
|
|
||||||
weechat_tcl_plugin = plugin;
|
weechat_tcl_plugin = plugin;
|
||||||
|
|
||||||
|
tcl_quiet = 0;
|
||||||
|
tcl_eval_mode = 0;
|
||||||
|
tcl_eval_send_input = 0;
|
||||||
|
tcl_eval_exec_commands = 0;
|
||||||
|
|
||||||
/* set interpreter name and version */
|
/* set interpreter name and version */
|
||||||
weechat_hashtable_set (plugin->variables, "interpreter_name",
|
weechat_hashtable_set (plugin->variables, "interpreter_name",
|
||||||
plugin->name);
|
plugin->name);
|
||||||
@@ -984,11 +988,20 @@ weechat_plugin_end (struct t_weechat_plugin *plugin)
|
|||||||
|
|
||||||
/* free some data */
|
/* free some data */
|
||||||
if (tcl_action_install_list)
|
if (tcl_action_install_list)
|
||||||
|
{
|
||||||
free (tcl_action_install_list);
|
free (tcl_action_install_list);
|
||||||
|
tcl_action_install_list = NULL;
|
||||||
|
}
|
||||||
if (tcl_action_remove_list)
|
if (tcl_action_remove_list)
|
||||||
|
{
|
||||||
free (tcl_action_remove_list);
|
free (tcl_action_remove_list);
|
||||||
|
tcl_action_remove_list = NULL;
|
||||||
|
}
|
||||||
if (tcl_action_autoload_list)
|
if (tcl_action_autoload_list)
|
||||||
|
{
|
||||||
free (tcl_action_autoload_list);
|
free (tcl_action_autoload_list);
|
||||||
|
tcl_action_autoload_list = NULL;
|
||||||
|
}
|
||||||
/* weechat_string_dyn_free (tcl_buffer_output, 1); */
|
/* weechat_string_dyn_free (tcl_buffer_output, 1); */
|
||||||
|
|
||||||
return WEECHAT_RC_OK;
|
return WEECHAT_RC_OK;
|
||||||
|
|||||||
@@ -394,6 +394,12 @@ trigger_buffer_display_trigger (struct t_trigger *trigger,
|
|||||||
void
|
void
|
||||||
trigger_buffer_end ()
|
trigger_buffer_end ()
|
||||||
{
|
{
|
||||||
|
if (trigger_buffer)
|
||||||
|
{
|
||||||
|
weechat_buffer_close (trigger_buffer);
|
||||||
|
trigger_buffer = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
if (trigger_buffer_filters)
|
if (trigger_buffer_filters)
|
||||||
{
|
{
|
||||||
weechat_string_free_split (trigger_buffer_filters);
|
weechat_string_free_split (trigger_buffer_filters);
|
||||||
|
|||||||
@@ -1534,5 +1534,8 @@ void
|
|||||||
trigger_callback_end ()
|
trigger_callback_end ()
|
||||||
{
|
{
|
||||||
if (trigger_callback_hashtable_options_conditions)
|
if (trigger_callback_hashtable_options_conditions)
|
||||||
|
{
|
||||||
weechat_hashtable_free (trigger_callback_hashtable_options_conditions);
|
weechat_hashtable_free (trigger_callback_hashtable_options_conditions);
|
||||||
|
trigger_callback_hashtable_options_conditions = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -105,6 +105,8 @@ struct t_trigger_context
|
|||||||
} \
|
} \
|
||||||
return __rc;
|
return __rc;
|
||||||
|
|
||||||
|
extern unsigned long trigger_context_id;
|
||||||
|
|
||||||
extern int trigger_callback_signal_cb (const void *pointer, void *data,
|
extern int trigger_callback_signal_cb (const void *pointer, void *data,
|
||||||
const char *signal,
|
const char *signal,
|
||||||
const char *type_data,
|
const char *type_data,
|
||||||
|
|||||||
@@ -656,16 +656,6 @@ trigger_command_trigger (const void *pointer, void *data,
|
|||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ptr_trigger = trigger_alloc (sargv[0]);
|
|
||||||
if (!ptr_trigger)
|
|
||||||
{
|
|
||||||
weechat_printf_date_tags (
|
|
||||||
NULL, 0, "no_trigger",
|
|
||||||
_("%s%s: failed to create trigger \"%s\""),
|
|
||||||
weechat_prefix ("error"), TRIGGER_PLUGIN_NAME,
|
|
||||||
sargv[0]);
|
|
||||||
goto end;
|
|
||||||
}
|
|
||||||
ptr_trigger = trigger_new (
|
ptr_trigger = trigger_new (
|
||||||
sargv[0], /* name */
|
sargv[0], /* name */
|
||||||
(weechat_strcmp (argv[1], "addoff") == 0) ? "off" : "on",
|
(weechat_strcmp (argv[1], "addoff") == 0) ? "off" : "on",
|
||||||
|
|||||||
@@ -831,4 +831,5 @@ void
|
|||||||
trigger_config_free ()
|
trigger_config_free ()
|
||||||
{
|
{
|
||||||
weechat_config_free (trigger_config_file);
|
weechat_config_free (trigger_config_file);
|
||||||
|
trigger_config_file = NULL;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1391,6 +1391,8 @@ weechat_plugin_init (struct t_weechat_plugin *plugin, int argc, char *argv[])
|
|||||||
|
|
||||||
weechat_plugin = plugin;
|
weechat_plugin = plugin;
|
||||||
|
|
||||||
|
trigger_enabled = 1;
|
||||||
|
|
||||||
trigger_callback_init ();
|
trigger_callback_init ();
|
||||||
|
|
||||||
trigger_command_init ();
|
trigger_command_init ();
|
||||||
@@ -1427,6 +1429,7 @@ weechat_plugin_end (struct t_weechat_plugin *plugin)
|
|||||||
trigger_free_all ();
|
trigger_free_all ();
|
||||||
trigger_config_free ();
|
trigger_config_free ();
|
||||||
trigger_callback_end ();
|
trigger_callback_end ();
|
||||||
|
trigger_context_id = 0;
|
||||||
|
|
||||||
return WEECHAT_RC_OK;
|
return WEECHAT_RC_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -218,4 +218,5 @@ void
|
|||||||
typing_config_free ()
|
typing_config_free ()
|
||||||
{
|
{
|
||||||
weechat_config_free (typing_config_file);
|
weechat_config_free (typing_config_file);
|
||||||
|
typing_config_file = NULL;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -580,6 +580,45 @@ typing_setup_hooks ()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Removes all hooks.
|
||||||
|
*/
|
||||||
|
|
||||||
|
void
|
||||||
|
typing_remove_hooks ()
|
||||||
|
{
|
||||||
|
if (typing_signal_buffer_closing)
|
||||||
|
{
|
||||||
|
weechat_unhook (typing_signal_buffer_closing);
|
||||||
|
typing_signal_buffer_closing = NULL;
|
||||||
|
}
|
||||||
|
if (typing_signal_input_text_changed)
|
||||||
|
{
|
||||||
|
weechat_unhook (typing_signal_input_text_changed);
|
||||||
|
typing_signal_input_text_changed = NULL;
|
||||||
|
}
|
||||||
|
if (typing_modifier_input_text_for_buffer)
|
||||||
|
{
|
||||||
|
weechat_unhook (typing_modifier_input_text_for_buffer);
|
||||||
|
typing_modifier_input_text_for_buffer = NULL;
|
||||||
|
}
|
||||||
|
if (typing_timer)
|
||||||
|
{
|
||||||
|
weechat_unhook (typing_timer);
|
||||||
|
typing_timer = NULL;
|
||||||
|
}
|
||||||
|
if (typing_signal_typing_set_nick)
|
||||||
|
{
|
||||||
|
weechat_unhook (typing_signal_typing_set_nick);
|
||||||
|
typing_signal_typing_set_nick = NULL;
|
||||||
|
}
|
||||||
|
if (typing_signal_typing_reset_buffer)
|
||||||
|
{
|
||||||
|
weechat_unhook (typing_signal_typing_reset_buffer);
|
||||||
|
typing_signal_typing_reset_buffer = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Initializes typing plugin.
|
* Initializes typing plugin.
|
||||||
*/
|
*/
|
||||||
@@ -615,6 +654,8 @@ weechat_plugin_end (struct t_weechat_plugin *plugin)
|
|||||||
/* make C compiler happy */
|
/* make C compiler happy */
|
||||||
(void) plugin;
|
(void) plugin;
|
||||||
|
|
||||||
|
typing_remove_hooks ();
|
||||||
|
|
||||||
typing_config_write ();
|
typing_config_write ();
|
||||||
typing_config_free ();
|
typing_config_free ();
|
||||||
|
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ xfer_network_convert_integer_to_ipv4 (const char *str_address)
|
|||||||
if (!str_address || !str_address[0])
|
if (!str_address || !str_address[0])
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
error = NULL;
|
||||||
number = strtoll (str_address, &error, 10);
|
number = strtoll (str_address, &error, 10);
|
||||||
if (!error || error[0] || (number <= 0) || (number > UINT32_MAX))
|
if (!error || error[0] || (number <= 0) || (number > UINT32_MAX))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|||||||
@@ -1791,6 +1791,8 @@ weechat_plugin_init (struct t_weechat_plugin *plugin, int argc, char *argv[])
|
|||||||
|
|
||||||
weechat_plugin = plugin;
|
weechat_plugin = plugin;
|
||||||
|
|
||||||
|
xfer_signal_upgrade_received = 0;
|
||||||
|
|
||||||
if (!xfer_config_init ())
|
if (!xfer_config_init ())
|
||||||
return WEECHAT_RC_ERROR;
|
return WEECHAT_RC_ERROR;
|
||||||
|
|
||||||
@@ -1833,6 +1835,13 @@ weechat_plugin_end (struct t_weechat_plugin *plugin)
|
|||||||
/* make C compiler happy */
|
/* make C compiler happy */
|
||||||
(void) plugin;
|
(void) plugin;
|
||||||
|
|
||||||
|
if (xfer_buffer)
|
||||||
|
{
|
||||||
|
weechat_buffer_close (xfer_buffer);
|
||||||
|
xfer_buffer = NULL;
|
||||||
|
}
|
||||||
|
xfer_buffer_selected_line = 0;
|
||||||
|
|
||||||
xfer_config_write ();
|
xfer_config_write ();
|
||||||
|
|
||||||
if (xfer_signal_upgrade_received)
|
if (xfer_signal_upgrade_received)
|
||||||
@@ -1843,6 +1852,7 @@ weechat_plugin_end (struct t_weechat_plugin *plugin)
|
|||||||
xfer_free_all ();
|
xfer_free_all ();
|
||||||
|
|
||||||
weechat_config_free (xfer_config_file);
|
weechat_config_free (xfer_config_file);
|
||||||
|
xfer_config_file = NULL;
|
||||||
|
|
||||||
return WEECHAT_RC_OK;
|
return WEECHAT_RC_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -848,6 +848,7 @@ TEST(CoreString, ExpandHome)
|
|||||||
int length_home;
|
int length_home;
|
||||||
|
|
||||||
home = getenv ("HOME");
|
home = getenv ("HOME");
|
||||||
|
CHECK(home);
|
||||||
length_home = strlen (home);
|
length_home = strlen (home);
|
||||||
|
|
||||||
POINTERS_EQUAL(NULL, string_expand_home (NULL));
|
POINTERS_EQUAL(NULL, string_expand_home (NULL));
|
||||||
@@ -872,6 +873,7 @@ TEST(CoreString, EvalPathHome)
|
|||||||
struct t_hashtable *extra_vars, *options;
|
struct t_hashtable *extra_vars, *options;
|
||||||
|
|
||||||
home = getenv ("HOME");
|
home = getenv ("HOME");
|
||||||
|
CHECK(home);
|
||||||
length_home = strlen (home);
|
length_home = strlen (home);
|
||||||
|
|
||||||
length_weechat_config_dir = strlen (weechat_config_dir);
|
length_weechat_config_dir = strlen (weechat_config_dir);
|
||||||
|
|||||||
@@ -1051,18 +1051,32 @@ TEST(GuiKey, SeemsValid)
|
|||||||
LONGS_EQUAL(0, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "meta-cb"));
|
LONGS_EQUAL(0, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "meta-cb"));
|
||||||
LONGS_EQUAL(0, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "meta-updown"));
|
LONGS_EQUAL(0, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "meta-updown"));
|
||||||
LONGS_EQUAL(0, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "@chat:button1"));
|
LONGS_EQUAL(0, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "@chat:button1"));
|
||||||
|
LONGS_EQUAL(0, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "meta-test"));
|
||||||
|
LONGS_EQUAL(0, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "ctrl-test"));
|
||||||
|
LONGS_EQUAL(0, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "shift-test"));
|
||||||
|
|
||||||
/* valid keys */
|
/* valid keys */
|
||||||
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "a"));
|
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "a"));
|
||||||
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "A"));
|
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "A"));
|
||||||
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "é"));
|
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "é"));
|
||||||
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "/"));
|
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "/"));
|
||||||
|
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "f1"));
|
||||||
|
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "f10"));
|
||||||
|
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "f11"));
|
||||||
|
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "f2"));
|
||||||
|
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "f20"));
|
||||||
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "meta-a"));
|
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "meta-a"));
|
||||||
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "meta-ctrl-a"));
|
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "meta-ctrl-a"));
|
||||||
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "meta-c,b"));
|
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "meta-c,b"));
|
||||||
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "meta-w,meta-up"));
|
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "meta-w,meta-up"));
|
||||||
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "ctrl-left"));
|
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "ctrl-left"));
|
||||||
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "ctrl-u"));
|
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "ctrl-u"));
|
||||||
|
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "shift-home"));
|
||||||
|
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "shift-f1"));
|
||||||
|
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "shift-f10"));
|
||||||
|
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "shift-f11"));
|
||||||
|
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "shift-f2"));
|
||||||
|
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_DEFAULT, "shift-f20"));
|
||||||
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_CURSOR, "@chat:q"));
|
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_CURSOR, "@chat:q"));
|
||||||
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_MOUSE, "@chat:button1"));
|
LONGS_EQUAL(1, gui_key_seems_valid (GUI_KEY_CONTEXT_MOUSE, "@chat:button1"));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1137,6 +1137,7 @@ TEST(IrcMessage, Split)
|
|||||||
struct t_hashtable *hashtable;
|
struct t_hashtable *hashtable;
|
||||||
const char *ptr_msg, *pos1, *pos2;
|
const char *ptr_msg, *pos1, *pos2;
|
||||||
char batch_ref[512], msg[4096];
|
char batch_ref[512], msg[4096];
|
||||||
|
int old_nick_max_length;
|
||||||
|
|
||||||
server = irc_server_alloc ("test_split_msg");
|
server = irc_server_alloc ("test_split_msg");
|
||||||
CHECK(server);
|
CHECK(server);
|
||||||
@@ -1552,6 +1553,21 @@ TEST(IrcMessage, Split)
|
|||||||
(const char *)hashtable_get (hashtable, "args1"));
|
(const char *)hashtable_get (hashtable, "args1"));
|
||||||
hashtable_free (hashtable);
|
hashtable_free (hashtable);
|
||||||
|
|
||||||
|
/* PRIVMSG with small content but inconsistent max length: no split */
|
||||||
|
old_nick_max_length = server->nick_max_length;
|
||||||
|
server->nick_max_length = 4096;
|
||||||
|
hashtable = irc_message_split (server, "PRIVMSG #channel :test");
|
||||||
|
CHECK(hashtable);
|
||||||
|
LONGS_EQUAL(3, hashtable->items_count);
|
||||||
|
STRCMP_EQUAL("1",
|
||||||
|
(const char *)hashtable_get (hashtable, "count"));
|
||||||
|
STRCMP_EQUAL("PRIVMSG #channel :test",
|
||||||
|
(const char *)hashtable_get (hashtable, "msg1"));
|
||||||
|
STRCMP_EQUAL("test",
|
||||||
|
(const char *)hashtable_get (hashtable, "args1"));
|
||||||
|
hashtable_free (hashtable);
|
||||||
|
server->nick_max_length = old_nick_max_length;
|
||||||
|
|
||||||
/* PRIVMSG with 512 bytes of content: 1 split */
|
/* PRIVMSG with 512 bytes of content: 1 split */
|
||||||
hashtable = irc_message_split (server,
|
hashtable = irc_message_split (server,
|
||||||
"PRIVMSG #channel :" LOREM_IPSUM_512);
|
"PRIVMSG #channel :" LOREM_IPSUM_512);
|
||||||
@@ -1981,6 +1997,21 @@ TEST(IrcMessage, Split)
|
|||||||
hashtable_remove (server->cap_list, "batch");
|
hashtable_remove (server->cap_list, "batch");
|
||||||
hashtable_remove (server->cap_list, "draft/multiline");
|
hashtable_remove (server->cap_list, "draft/multiline");
|
||||||
|
|
||||||
|
/* PRIVMSG with newlines but no server: BATCH is not used */
|
||||||
|
hashtable = irc_message_split (NULL, "PRIVMSG #channel :test\n\nline 3");
|
||||||
|
CHECK(hashtable);
|
||||||
|
LONGS_EQUAL(7, hashtable->items_count);
|
||||||
|
STRCMP_EQUAL("3", (const char *)hashtable_get (hashtable, "count"));
|
||||||
|
STRCMP_EQUAL("PRIVMSG #channel :test",
|
||||||
|
(const char *)hashtable_get (hashtable, "msg1"));
|
||||||
|
STRCMP_EQUAL("test", (const char *)hashtable_get (hashtable, "args1"));
|
||||||
|
STRCMP_EQUAL("PRIVMSG #channel :",
|
||||||
|
(const char *)hashtable_get (hashtable, "msg2"));
|
||||||
|
STRCMP_EQUAL("", (const char *)hashtable_get (hashtable, "args2"));
|
||||||
|
STRCMP_EQUAL("PRIVMSG #channel :line 3",
|
||||||
|
(const char *)hashtable_get (hashtable, "msg3"));
|
||||||
|
STRCMP_EQUAL("line 3", (const char *)hashtable_get (hashtable, "args3"));
|
||||||
|
|
||||||
/* 005: no split */
|
/* 005: no split */
|
||||||
hashtable = irc_message_split (server, "005 nick " MSG_005);
|
hashtable = irc_message_split (server, "005 nick " MSG_005);
|
||||||
CHECK(hashtable);
|
CHECK(hashtable);
|
||||||
|
|||||||
@@ -3564,7 +3564,8 @@ TEST(IrcProtocolWithServer, 221)
|
|||||||
* 319: whois (channels)
|
* 319: whois (channels)
|
||||||
* 320: whois (identified user)
|
* 320: whois (identified user)
|
||||||
* 326: whois (has oper privs)
|
* 326: whois (has oper privs)
|
||||||
* 335: is a bot on
|
* 335: whois (is a bot on)
|
||||||
|
* 337: whois ((is hiding idle time)
|
||||||
* 378: whois (connecting from)
|
* 378: whois (connecting from)
|
||||||
* 379: whois (using modes)
|
* 379: whois (using modes)
|
||||||
* 671: whois (secure connection)
|
* 671: whois (secure connection)
|
||||||
@@ -3623,6 +3624,10 @@ TEST(IrcProtocolWithServer, whois_nick_msg)
|
|||||||
CHECK_ERROR_PARAMS("335", 0, 2);
|
CHECK_ERROR_PARAMS("335", 0, 2);
|
||||||
RECV(":server 335 alice");
|
RECV(":server 335 alice");
|
||||||
CHECK_ERROR_PARAMS("335", 1, 2);
|
CHECK_ERROR_PARAMS("335", 1, 2);
|
||||||
|
RECV(":server 337");
|
||||||
|
CHECK_ERROR_PARAMS("337", 0, 2);
|
||||||
|
RECV(":server 337 alice");
|
||||||
|
CHECK_ERROR_PARAMS("337", 1, 2);
|
||||||
RECV(":server 378");
|
RECV(":server 378");
|
||||||
CHECK_ERROR_PARAMS("378", 0, 2);
|
CHECK_ERROR_PARAMS("378", 0, 2);
|
||||||
RECV(":server 378 alice");
|
RECV(":server 378 alice");
|
||||||
@@ -3689,6 +3694,10 @@ TEST(IrcProtocolWithServer, whois_nick_msg)
|
|||||||
CHECK_SRV("--", "[bob] is a bot", "irc_335,irc_numeric,log3");
|
CHECK_SRV("--", "[bob] is a bot", "irc_335,irc_numeric,log3");
|
||||||
RECV(":server 335 alice bob");
|
RECV(":server 335 alice bob");
|
||||||
CHECK_SRV("--", "bob", "irc_335,irc_numeric,log3");
|
CHECK_SRV("--", "bob", "irc_335,irc_numeric,log3");
|
||||||
|
RECV(":server 337 alice bob :is hiding their idle time");
|
||||||
|
CHECK_SRV("--", "[bob] is hiding their idle time", "irc_337,irc_numeric,log3");
|
||||||
|
RECV(":server 337 alice bob");
|
||||||
|
CHECK_SRV("--", "bob", "irc_337,irc_numeric,log3");
|
||||||
RECV(":server 378 alice bob");
|
RECV(":server 378 alice bob");
|
||||||
CHECK_SRV("--", "bob", "irc_378,irc_numeric,log3");
|
CHECK_SRV("--", "bob", "irc_378,irc_numeric,log3");
|
||||||
RECV(":server 378 alice bob :connecting from");
|
RECV(":server 378 alice bob :connecting from");
|
||||||
|
|||||||
+2
-2
@@ -39,8 +39,8 @@
|
|||||||
# devel-number the devel version as hex number ("0x04010000" for "4.1.0-dev")
|
# devel-number the devel version as hex number ("0x04010000" for "4.1.0-dev")
|
||||||
#
|
#
|
||||||
|
|
||||||
WEECHAT_STABLE="4.0.6"
|
WEECHAT_STABLE="4.0.8"
|
||||||
WEECHAT_DEVEL="4.0.6"
|
WEECHAT_DEVEL="4.0.9-dev"
|
||||||
|
|
||||||
STABLE_MAJOR=$(echo "${WEECHAT_STABLE}" | cut -d"." -f1)
|
STABLE_MAJOR=$(echo "${WEECHAT_STABLE}" | cut -d"." -f1)
|
||||||
STABLE_MINOR=$(echo "${WEECHAT_STABLE}" | cut -d"." -f2)
|
STABLE_MINOR=$(echo "${WEECHAT_STABLE}" | cut -d"." -f2)
|
||||||
|
|||||||
Reference in New Issue
Block a user