1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-13 06:34:47 +02:00

Compare commits

..

2 Commits

Author SHA1 Message Date
Sébastien Helleu 72dce52901 core, plugins: replace "%p" by "%lx" in calls to sscanf 2025-05-15 20:12:12 +02:00
Sébastien Helleu de7150c65b Revert "core, plugins: replace "%lx" by "%p" in calls to sscanf"
This reverts commit e64ab3c675.

This was causing incorrect conversion of strings "0x..." to pointers on systems
like Solaris/ILLUMOS.

And as a side effect, buffers were sometimes empty in weechat relay clients
like glowing-bear.
2025-05-15 20:10:32 +02:00
56 changed files with 243 additions and 342 deletions
-1
View File
@@ -29,7 +29,6 @@ Alphabetically:
- Asakura
- Bazerka
- Benoit Papillault (benoit)
- Caleb Josue Ruiz Torres
- Chris Hills
- Christian Duerr
- Christian Heinz
-5
View File
@@ -13,12 +13,9 @@ SPDX-License-Identifier: GPL-3.0-or-later
- **breaking:** core: fix buffer overflow in function utf8_next_char and return NULL for empty string
- **breaking:** core: fix integer overflow and return "unsigned long" in function util_version_number
- core: write configuration files on disk only if there are changes ([#2250](https://github.com/weechat/weechat/issues/2250))
- core: always enable partial completion for templates in option weechat.completion.partial_completion_templates, add option weechat.completion.partial_completion_auto_expand to expand word on new completion ([#2253](https://github.com/weechat/weechat/issues/2253))
- core: add script name in output of `/debug hooks <plugin>`
### Added
- core: add support of specifier `%@` for UTC time in function util_strftimeval
- api: add function file_compare
- irc: add support of strikethrough text in IRC messages ([#2248](https://github.com/weechat/weechat/issues/2248))
- buflist: add variables `${number_zero}` and `${number_zero2}` (zero-padded buffer number)
@@ -37,8 +34,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
- core: fix memory leak in function util_parse_delay
- irc: display nick changes and quit messages when option irc.look.ignore_tag_messages is enabled ([#2241](https://github.com/weechat/weechat/issues/2241))
- perl: fix build when multiplicity is not available ([#2243](https://github.com/weechat/weechat/issues/2243))
- relay/weechat: fix empty buffers in client when WeeChat is running on Solaris/illumos
- build: fix build on Solaris/illumos (issue #2251)
## Version 4.6.3 (2025-05-11)
-21
View File
@@ -208,7 +208,6 @@ include(FindPkgConfig)
include(CheckIncludeFiles)
include(CheckFunctionExists)
include(CheckSymbolExists)
include(CheckLibraryExists)
check_include_files("langinfo.h" HAVE_LANGINFO_CODESET)
check_include_files("sys/resource.h" HAVE_SYS_RESOURCE_H)
@@ -219,33 +218,13 @@ check_symbol_exists("malloc_trim" "malloc.h" HAVE_MALLOC_TRIM)
check_function_exists(mallinfo HAVE_MALLINFO)
check_function_exists(mallinfo2 HAVE_MALLINFO2)
check_symbol_exists("htonll" "sys/types.h;netinet/in.h;inttypes.h" HAVE_HTONLL)
check_symbol_exists("eat_newline_glitch" "term.h" HAVE_EAT_NEWLINE_GLITCH)
# Check if res_init requires libresolv
check_function_exists(res_init, LIBC_HAS_RES_INIT)
if(NOT LIBC_HAS_RES_INIT)
find_library(RESOLV_LIBRARY resolv)
if(RESOLV_LIBRARY)
check_library_exists("${RESOLV_LIBRARY}" res_init "" LIBRESOLV_HAS_RES_INIT)
if(LIBRESOLV_HAS_RES_INIT)
list(APPEND EXTRA_LIBS ${RESOLV_LIBRARY})
endif()
endif()
endif()
# Check for Large File Support
if(ENABLE_LARGEFILE)
add_definitions(-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D_LARGE_FILES)
endif()
# _XPG4_2 is needed for macros like CMSG_SPACE
# __EXTENSIONS__ is needed for constants like NI_MAXHOST and for struct timeval
if(CMAKE_HOST_SOLARIS)
add_definitions(-D_XPG4_2 -D__EXTENSIONS__)
endif()
# Check for libgcrypt
pkg_check_modules(LIBGCRYPT REQUIRED libgcrypt)
include_directories(${LIBGCRYPT_INCLUDE_DIRS})
+36
View File
@@ -0,0 +1,36 @@
#
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
# SPDX-FileCopyrightText: 2009 Julien Louis <ptitlouis@sysif.net>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
# WeeChat is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# WeeChat is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find Python
# This module finds if Python is installed and determines where the include files
# and libraries are. It also determines what the name of the library is. This
# code sets the following variables:
#
# PYTHON_EXECUTABLE = full path to the python binary
# PYTHON_INCLUDE_DIRS = path to where python.h can be found
# PYTHON_LIBRARIES = path to where libpython.so* can be found
# PYTHON_LDFLAGS = python compiler options for linking
pkg_check_modules(PYTHON python3-embed IMPORTED_TARGET GLOBAL)
if(NOT PYTHON_FOUND)
pkg_check_modules(PYTHON python3 IMPORTED_TARGET GLOBAL)
endif()
-1
View File
@@ -49,7 +49,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
#cmakedefine HAVE_MALLINFO2
#cmakedefine HAVE_MALLOC_H
#cmakedefine HAVE_MALLOC_TRIM
#cmakedefine HAVE_HTONLL
#cmakedefine HAVE_EAT_NEWLINE_GLITCH
#cmakedefine HAVE_ASPELL_VERSION_STRING
#cmakedefine HAVE_ENCHANT_GET_VERSION
-1
View File
@@ -38,7 +38,6 @@ if(ENABLE_MAN OR ENABLE_DOC)
if(ASCIIDOCTOR_FOUND)
# common asciidoctor arguments
set(ASCIIDOCTOR_ARGS
-v
-a experimental
-a reproducible
-a "prewrap!"
+3 -3
View File
@@ -625,7 +625,7 @@ Einige Umgebungsvariablen werden von WeeChat genutzt, sofern sie definiert wurde
[width="100%",cols="1m,6",options="header"]
|===
| Name | Beschreibung
| WEECHAT_HOME | Das WeeChat Verzeichnis (beinhaltet Konfigurationsdateien, Protokolldateien, Skripten, ...). Gleiches Verhalten wie <<build,CMake option>> `WEECHAT_HOME`.
| WEECHAT_HOME | Das WeeChat Verzeichnis (beinhaltet Konfigurationsdateien, Protokolldateien, Skripten, ...). Gleiches Verhalten wie <<compile_with_cmake,CMake option>> `WEECHAT_HOME`.
| WEECHAT_PASSPHRASE | Die Passphrase zum Entschlüsseln von schutzwürdigen Daten.
| WEECHAT_EXTRA_LIBDIR | Ein zusätzliches Verzeichnis um Erweiterungen zu installieren (vom "plugins" Verzeichnis in dieses Verzeichnis).
|===
@@ -3822,7 +3822,7 @@ WeeChat unterstützt folgende https://ircv3.net/irc/[IRCv3 extensions ^↗^^]:
* <<irc_ircv3_batch,batch>>
* <<irc_ircv3_cap_notify,cap-notify>>
* <<irc_ircv3_chghost,chghost>>
* <<irc_ircv3_draft_multiline,draft/multiline>>
* <<irc_ircv3_draft/multiline,draft/multiline>>
* <<irc_ircv3_echo_message,echo-message>>
* <<irc_ircv3_extended_join,extended-join>>
* <<irc_ircv3_invite_notify,invite-notify>>
@@ -3869,7 +3869,7 @@ Spezifikation: https://ircv3.net/specs/extensions/account-tag[account-tag ^↗^
Diese Fähigkeit ermöglicht es dem Server, einen Account als Nachrichten-Tag an Befehle zu hängen,
die an den Client gesendet werden. +
WeeChat analysiert dieses Tag und speichert es in der Nachricht, aber es wird nicht verwendet oder
angezeigt. Mit dem <<command_weechat_filter,/filter>> Befehl kann man diese Nachrichten explizit filtern,
angezeigt. Mit dem <<command_filter,/filter>> Befehl kann man diese Nachrichten explizit filtern,
in dem die Accounts nutzt.
Beispiel einer empfangenen IRC-Rohnachricht:
+4 -6
View File
@@ -2165,7 +2165,7 @@ Arguments:
Return value:
* array of strings, NULL if problem (must be freed by calling
<<_string_free_split_command,string_free_split_command>> after use)
<<_free_split_command,free_split_command>> after use)
C example:
@@ -4803,7 +4803,7 @@ This function is not available in scripting API.
==== util_strftimeval
_WeeChat ≥ 4.2.0, updated in 4.3.0, 4.7.0._
_WeeChat ≥ 4.2.0, updated in 4.3.0._
Format date and time like function `strftime` in C library, using `struct timeval`
as input, and supporting extra specifiers.
@@ -4820,8 +4820,6 @@ Arguments:
* _string_: buffer where the formatted string is stored
* _max_: string size
* _format_: format, the same as _strftime_ function, with these extra specifiers:
** `%@`: return the date expressed in Coordinated Universal Time (UTC)
instead of date relative to the user's specified timezone _(WeeChat ≥ 4.7.0)_
** `%.N` where `N` is between 1 and 6: zero-padded microseconds on N digits
(for example `%.3` for milliseconds)
** `%f`: alias of `%.6`
@@ -4838,8 +4836,8 @@ C example:
char time[256];
struct timeval tv;
gettimeofday (&tv, NULL);
weechat_util_strftimeval (time, sizeof (time), "%@%FT%T.%fZ", &tv);
/* result: 2023-12-26T18:10:04.460509Z */
weechat_util_strftimeval (time, sizeof (time), "%FT%T.%f", &tv);
/* result: 2023-12-26T18:10:04.460509 */
----
[NOTE]
+3 -3
View File
@@ -621,7 +621,7 @@ Some environment variables are used by WeeChat if they are defined:
[width="100%",cols="1m,6",options="header"]
|===
| Name | Description
| WEECHAT_HOME | The WeeChat home (with configuration files, logs, scripts, etc.). Same behavior as <<build,CMake option>> `WEECHAT_HOME`.
| WEECHAT_HOME | The WeeChat home (with configuration files, logs, scripts, etc.). Same behavior as <<compile_with_cmake,CMake option>> `WEECHAT_HOME`.
| WEECHAT_PASSPHRASE | The passphrase used to decrypt secured data.
| WEECHAT_EXTRA_LIBDIR | An extra directory to load plugins (from the "plugins" directory in this path).
|===
@@ -3760,7 +3760,7 @@ WeeChat supports the following https://ircv3.net/irc/[IRCv3 extensions ^↗^^]:
* <<irc_ircv3_batch,batch>>
* <<irc_ircv3_cap_notify,cap-notify>>
* <<irc_ircv3_chghost,chghost>>
* <<irc_ircv3_draft_multiline,draft/multiline>>
* <<irc_ircv3_draft/multiline,draft/multiline>>
* <<irc_ircv3_echo_message,echo-message>>
* <<irc_ircv3_extended_join,extended-join>>
* <<irc_ircv3_invite_notify,invite-notify>>
@@ -3808,7 +3808,7 @@ Specification: https://ircv3.net/specs/extensions/account-tag[account-tag ^↗^
This capability allows the server to send account as message tag to commands
sent to the client. +
WeeChat parses this tag and saves it in the message, but it is not used or
displayed. It can be used in <<command_weechat_filter,/filter>> command to filter
displayed. It can be used in <<command_filter,/filter>> command to filter
messages matching specific accounts.
Example of raw IRC message received:
+4 -6
View File
@@ -2205,7 +2205,7 @@ Paramètres :
Valeur de retour :
* tableau de chaînes, NULL en cas de problème (doit être supprimé par un appel à
<<_string_free_split_command,string_free_split_command>> après utilisation)
<<_free_split_command,free_split_command>> après utilisation)
Exemple en C :
@@ -4882,7 +4882,7 @@ Cette fonction n'est pas disponible dans l'API script.
==== util_strftimeval
_WeeChat ≥ 4.2.0, mis à jour dans la 4.3.0, 4.7.0._
_WeeChat ≥ 4.2.0, mis à jour dans la 4.3.0._
Formatter la date et l'heure comme la fonction `strftime` de la bibliothèque C,
en utilisant un `struct timeval` en entrée et en supportant des caractères de
@@ -4901,8 +4901,6 @@ Paramètres :
* _max_ : taille de la chaîne
* _format_ : format, le même que celui de la fonction _strftime_, avec des
caractères de conversion supplémentaires :
** `%@`: retourner la date exprimée en Temps Universel Coordonné (UTC)
au lieu de la date relative au fuseau horaire de l'utilisateur _(WeeChat ≥ 4.7.0)_
** `%.N` où `N` est entre 1 and 6: microsecondes remplies avec des zéros sur
N chiffres (par exemple `%.3` pour les millisecondes)
** `%f` : alias de `%.6`
@@ -4919,8 +4917,8 @@ Exemple en C :
char time[256];
struct timeval tv;
gettimeofday (&tv, NULL);
weechat_util_strftimeval (time, sizeof (time), "%@%FT%T.%fZ", &tv);
/* résultat : 2023-12-26T18:10:04.460509Z */
weechat_util_strftimeval (time, sizeof (time), "%FT%T.%f", &tv);
/* résultat : 2023-12-26T18:10:04.460509 */
----
[NOTE]
+3 -3
View File
@@ -624,7 +624,7 @@ Des variables d'environnement sont utilisées par WeeChat si elles sont définie
[width="100%",cols="1m,6",options="header"]
|===
| Nom | Description
| WEECHAT_HOME | Le répertoire "maison" de WeeChat (avec les fichiers de configuration, logs, scripts, etc.). Même comportement que <<build,l'option CMake>> `WEECHAT_HOME`.
| WEECHAT_HOME | Le répertoire "maison" de WeeChat (avec les fichiers de configuration, logs, scripts, etc.). Même comportement que <<compile_with_cmake,l'option CMake>> `WEECHAT_HOME`.
| WEECHAT_PASSPHRASE | La phrase secrète utilisée pour déchiffrer les données sécurisées.
| WEECHAT_EXTRA_LIBDIR | Un répertoire supplémentaire pour charger les extensions (depuis le répertoire "plugins" sous ce chemin).
|===
@@ -3869,7 +3869,7 @@ WeeChat supporte les https://ircv3.net/irc/[extensions IRCv3 ^↗^^] suivantes
* <<irc_ircv3_batch,batch>>
* <<irc_ircv3_cap_notify,cap-notify>>
* <<irc_ircv3_chghost,chghost>>
* <<irc_ircv3_draft_multiline,draft/multiline>>
* <<irc_ircv3_draft/multiline,draft/multiline>>
* <<irc_ircv3_echo_message,echo-message>>
* <<irc_ircv3_extended_join,extended-join>>
* <<irc_ircv3_invite_notify,invite-notify>>
@@ -3917,7 +3917,7 @@ Spécification : https://ircv3.net/specs/extensions/account-tag[account-tag ^
Cette capacité autorise le serveur à envoyer le compte comme étiquette de message
dans les commandes envoyées au client. +
WeeChat extrait cette étiquette et la sauve dans le message, mais elle n'est pas
utilisée ni affichée. Elle peut être utilisée dans la commande <<command_weechat_filter,/filter>>
utilisée ni affichée. Elle peut être utilisée dans la commande <<command_filter,/filter>>
pour filtrer les messages correspondants à des comptes spécifiques.
Exemple de message IRC brut reçu :
+4 -6
View File
@@ -2297,7 +2297,7 @@ Argomenti:
Valore restituito:
* array di stringhe, NULL in caso di problemi (deve essere liberata chiamando
<<_string_free_split_command,string_free_split_command>> dopo l'uso)
<<_free_split_command,free_split_command>> dopo l'uso)
Esempio in C:
@@ -5023,7 +5023,7 @@ Questa funzione non è disponibile nelle API per lo scripting.
// TRANSLATION MISSING
==== util_strftimeval
_WeeChat ≥ 4.2.0, updated in 4.3.0, 4.7.0._
_WeeChat ≥ 4.2.0, updated in 4.3.0._
Format date and time like function `strftime` in C library, using `struct timeval`
as input, and supporting extra specifiers.
@@ -5040,8 +5040,6 @@ Arguments:
* _string_: buffer where the formatted string is stored
* _max_: string size
* _format_: format, the same as _strftime_ function, with these extra specifiers:
** `%@`: return the date expressed in Coordinated Universal Time (UTC)
instead of date relative to the user's specified timezone _(WeeChat ≥ 4.7.0)_
** `%.N` where `N` is between 1 and 6: zero-padded microseconds on N digits
(for example `%.3` for milliseconds)
** `%f`: alias of `%.6`
@@ -5058,8 +5056,8 @@ C example:
char time[256];
struct timeval tv;
gettimeofday (&tv, NULL);
weechat_util_strftimeval (time, sizeof (time), "%@%FT%T.%fZ", &tv);
/* result: 2023-12-26T18:10:04.460509Z */
weechat_util_strftimeval (time, sizeof (time), "%FT%T.%f", &tv);
/* result: 2023-12-26T18:10:04.460509 */
----
[NOTE]
+3 -3
View File
@@ -686,7 +686,7 @@ Some environment variables are used by WeeChat if they are defined:
[width="100%",cols="1m,6",options="header"]
|===
| Name | Description
| WEECHAT_HOME | The WeeChat home (with configuration files, logs, scripts, ...). Same behavior as <<build,CMake option>> `WEECHAT_HOME`.
| WEECHAT_HOME | The WeeChat home (with configuration files, logs, scripts, ...). Same behavior as <<compile_with_cmake,CMake option>> `WEECHAT_HOME`.
| WEECHAT_PASSPHRASE | The passphrase used to decrypt secured data.
| WEECHAT_EXTRA_LIBDIR | An extra directory to load plugins (from the "plugins" directory in this path).
|===
@@ -4110,7 +4110,7 @@ WeeChat supports the following https://ircv3.net/irc/[IRCv3 extensions ^↗^^]:
* <<irc_ircv3_batch,batch>>
* <<irc_ircv3_cap_notify,cap-notify>>
* <<irc_ircv3_chghost,chghost>>
* <<irc_ircv3_draft_multiline,draft/multiline>>
* <<irc_ircv3_draft/multiline,draft/multiline>>
* <<irc_ircv3_echo_message,echo-message>>
* <<irc_ircv3_extended_join,extended-join>>
* <<irc_ircv3_invite_notify,invite-notify>>
@@ -4158,7 +4158,7 @@ Specification: https://ircv3.net/specs/extensions/account-tag[account-tag ^↗^
This capability allows the server to send account as message tag to commands
sent to the client. +
WeeChat parses this tag and saves it in the message, but it is not used or
displayed. It can be used in <<command_weechat_filter,/filter>> command to filter
displayed. It can be used in <<command_filter,/filter>> command to filter
messages matching specific accounts.
Example of raw IRC message received:
+4 -6
View File
@@ -2232,7 +2232,7 @@ char **weechat_string_split_command (const char *command, char separator);
戻り値:
* 文字列の配列、分割に失敗した場合は NULL (使用後には必ず
<<_string_free_split_command,string_free_split_command>> を呼び出して領域を開放してください)
<<_free_split_command,free_split_command>> を呼び出して領域を開放してください)
C 言語での使用例:
@@ -4937,7 +4937,7 @@ weechat_printf (NULL, "date: %s",
// TRANSLATION MISSING
==== util_strftimeval
_WeeChat ≥ 4.2.0, updated in 4.3.0, 4.7.0._
_WeeChat ≥ 4.2.0, updated in 4.3.0._
Format date and time like function `strftime` in C library, using `struct timeval`
as input, and supporting extra specifiers.
@@ -4954,8 +4954,6 @@ Arguments:
* _string_: buffer where the formatted string is stored
* _max_: string size
* _format_: format, the same as _strftime_ function, with these extra specifiers:
** `%@`: return the date expressed in Coordinated Universal Time (UTC)
instead of date relative to the user's specified timezone _(WeeChat ≥ 4.7.0)_
** `%.N` where `N` is between 1 and 6: zero-padded microseconds on N digits
(for example `%.3` for milliseconds)
** `%f`: alias of `%.6`
@@ -4972,8 +4970,8 @@ C example:
char time[256];
struct timeval tv;
gettimeofday (&tv, NULL);
weechat_util_strftimeval (time, sizeof (time), "%@%FT%T.%fZ", &tv);
/* result: 2023-12-26T18:10:04.460509Z */
weechat_util_strftimeval (time, sizeof (time), "%FT%T.%f", &tv);
/* result: 2023-12-26T18:10:04.460509 */
----
[NOTE]
+3 -3
View File
@@ -659,7 +659,7 @@ include::includes/cmdline_options.ja.adoc[tag=debug]
|===
| 変数名 | 説明
// TRANSLATION MISSING
| WEECHAT_HOME | WeeChat ホームディレクトリ (ここには設定ファイル、ログ、スクリプトなどがあります) Same behavior as <<build,CMake option>> `WEECHAT_HOME`.
| WEECHAT_HOME | WeeChat ホームディレクトリ (ここには設定ファイル、ログ、スクリプトなどがあります) Same behavior as <<compile_with_cmake,CMake option>> `WEECHAT_HOME`.
| WEECHAT_PASSPHRASE | 暗号化データを復号化するためのパスフレーズ
| WEECHAT_EXTRA_LIBDIR | プラグインをロードするための追加ディレクトリパス (設定したパス内の "plugins" ディレクトリからロードします)
|===
@@ -3982,7 +3982,7 @@ WeeChat supports the following https://ircv3.net/irc/[IRCv3 extensions ^↗^^]:
* <<irc_ircv3_cap_notify,cap-notify>>
* <<irc_ircv3_batch,batch>>
* <<irc_ircv3_chghost,chghost>>
* <<irc_ircv3_draft_multiline,draft/multiline>>
* <<irc_ircv3_draft/multiline,draft/multiline>>
* <<irc_ircv3_echo_message,echo-message>>
* <<irc_ircv3_extended_join,extended-join>>
* <<irc_ircv3_invite_notify,invite-notify>>
@@ -4030,7 +4030,7 @@ Specification: https://ircv3.net/specs/extensions/account-tag[account-tag ^↗^
This capability allows the server to send account as message tag to commands
sent to the client. +
WeeChat parses this tag and saves it in the message, but it is not used or
displayed. It can be used in <<command_weechat_filter,/filter>> command to filter
displayed. It can be used in <<command_filter,/filter>> command to filter
messages matching specific accounts.
Example of raw IRC message received:
+3 -3
View File
@@ -620,7 +620,7 @@ Niektóre zmienne śwodowiskowe są używane przez WeeChat o ile zostały zdefin
[width="100%",cols="1m,6",options="header"]
|===
| Nazwa | Opis
| WEECHAT_HOME | Katalog domowy WeeChat (z plikami konfiguracyjnymi, logami, skryptami, ...). Działa tak samo jak <<build,opcja CMake>> `WEECHAT_HOME`.
| WEECHAT_HOME | Katalog domowy WeeChat (z plikami konfiguracyjnymi, logami, skryptami, ...). Działa tak samo jak <<compile_with_cmake,opcja CMake>> `WEECHAT_HOME`.
| WEECHAT_PASSPHRASE | Hasło używane do odszyfrowania zabezpieczonych danych.
| WEECHAT_EXTRA_LIBDIR | Dodatkowy katalog do ładowania wtyczek (z katalogu "plugins" znajdującego się pod tą ścieżką).
|===
@@ -3785,7 +3785,7 @@ WeeChat wspiera następujące https://ircv3.net/irc/[rozszerzenia IRCv3 ^↗^^]
* <<irc_ircv3_batch,batch>>
* <<irc_ircv3_cap_notify,cap-notify>>
* <<irc_ircv3_chghost,chghost>>
* <<irc_ircv3_draft_multiline,draft/multiline>>
* <<irc_ircv3_draft/multiline,draft/multiline>>
* <<irc_ircv3_echo_message,echo-message>>
* <<irc_ircv3_extended_join,extended-join>>
* <<irc_ircv3_invite_notify,invite-notify>>
@@ -3833,7 +3833,7 @@ Specyfikacja: https://ircv3.net/specs/extensions/account-tag[account-tag ^↗^^
Ta właściwość pozwala serwerowi na wysyłanie komend konta jako tagów wiadomości
do komend wysyłanych do klienta. +
WeeChat parsuje te tagi i zapisuje je w wiadomości ale nie jest on używany ani
wyświetlany. Można ich użyć w komendzie <<command_weechat_filter,/filter>> do filtrowania
wyświetlany. Można ich użyć w komendzie <<command_filter,/filter>> do filtrowania
wiadmości pasujących do konkretnych kont:
Przykład otrzymanej nieprzetworzonej wiadomości:
+4 -7
View File
@@ -2086,7 +2086,7 @@ char **weechat_string_split_command (const char *command, char separator);
Повратна вредност:
* низ стрингова, NULL у случају проблема (након употребе мора да се ослободи позивом <<_string_free_split_command,string_free_split_command>>)
* низ стрингова, NULL у случају проблема (након употребе мора да се ослободи позивом <<_free_split_command,free_split_command>>)
C пример:
@@ -4663,7 +4663,7 @@ weechat_printf (NULL, "date: %s",
==== util_strftimeval
_WeeChat ≥ 4.2.0, ажурирано у 4.3.0, 4.7.0._
_WeeChat ≥ 4.2.0, ажурирано у 4.3.0._
Форматира датум и време као функција `strftime` из C библиотеке, користећи `struct timeval`
као улаз уз подршку за додатне спецификаторе.
@@ -4680,9 +4680,6 @@ int weechat_util_strftimeval (char *string, int max, const char *format, struct
* _string_: бафер у који се смешта форматирани стринг
* _max_: величина стринга
* _format_: формат, исто као за _strftime_ функцију, са следећим додатним спецификаторима:
// TRANSLATION MISSING
** `%@`: return the date expressed in Coordinated Universal Time (UTC)
instead of date relative to the user's specified timezone _(WeeChat ≥ 4.7.0)_
** `%.N` где је `N` између 1 и 6: микросекунде допуњене нулама на N цифара
(на пример `%.3` за милисекунде)
** `%f`: алијас за `%.6`
@@ -4699,8 +4696,8 @@ C пример:
char time[256];
struct timeval tv;
gettimeofday (&tv, NULL);
weechat_util_strftimeval (time, sizeof (time), "%@%FT%T.%fZ", &tv);
/* резултат: 2023-12-26T18:10:04.460509Z */
weechat_util_strftimeval (time, sizeof (time), "%FT%T.%f", &tv);
/* резултат: 2023-12-26T18:10:04.460509 */
----
[NOTE]
+3 -3
View File
@@ -595,7 +595,7 @@ include::includes/cmdline_options.sr.adoc[tag=debug]
[width="100%", cols="1m,6", options="header"]
|===
| Име | Опис
| WEECHAT_HOME | WeeChat почетни директоријум (са конфигурационим фајловима, логовима, скриптама, итд.). Исто понашање као <<build,CMake опција>> `WEECHAT_HOME`.
| WEECHAT_HOME | WeeChat почетни директоријум (са конфигурационим фајловима, логовима, скриптама, итд.). Исто понашање као <<compile_with_cmake,CMake опција>> `WEECHAT_HOME`.
| WEECHAT_PASSPHRASE | Тајна реченица која се користи за дешифровање обезбеђених података.
| WEECHAT_EXTRA_LIBDIR | Додатни директоријум из кога се учитавају додаци (из „plugins” директоријума на овој путањи).
|===
@@ -3556,7 +3556,7 @@ WeeChat подржава следећа https://ircv3.net/irc/[IRCv3 проши
* <<irc_ircv3_batch,batch>>
* <<irc_ircv3_cap_notify,cap-notify>>
* <<irc_ircv3_chghost,chghost>>
* <<irc_ircv3_draft_multiline,draft/multiline>>
* <<irc_ircv3_draft/multiline,draft/multiline>>
* <<irc_ircv3_echo_message,echo-message>>
* <<irc_ircv3_extended_join,extended-join>>
* <<irc_ircv3_invite_notify,invite-notify>>
@@ -3602,7 +3602,7 @@ WeeChat такве поруке приказује ако је опција
Ова могућност оспособљава сервер да шаље налог као ознаку поруке у командама које шаље клијенту. +
WeeChat парсира ову ознаку у чува је у поруци, али се она не користи нити приказује. Може да се
користи у <<command_weechat_filter,/filter>> команди за филтрирање порука које се подударају са
користи у <<command_filter,/filter>> команди за филтрирање порука које се подударају са
одређеним налозима.
Пример примљене сирове IRC поруке:
+2 -1
View File
@@ -81,7 +81,8 @@ foreach(pofile ${PO_FILES})
add_custom_command(
OUTPUT "${mofile}"
COMMAND "${MSGMERGE_EXECUTABLE}" ARGS --quiet -o "${CMAKE_CURRENT_BINARY_DIR}/${pofile}" "${CMAKE_CURRENT_SOURCE_DIR}/${pofile}" ${POT_FILE_PATH}
COMMAND "${MSGFMT_EXECUTABLE}" ARGS -c --statistics --verbose -o "${mofile}" "${CMAKE_CURRENT_BINARY_DIR}/${pofile}"
COMMAND "${MSGFMT_EXECUTABLE}" ARGS -o "${mofile}" "${CMAKE_CURRENT_BINARY_DIR}/${pofile}"
COMMAND "${MSGFMT_EXECUTABLE}" ARGS -c --statistics --verbose --output-file=/dev/null "${CMAKE_CURRENT_BINARY_DIR}/${pofile}"
DEPENDS "${POT_FILE_PATH}" "${CMAKE_CURRENT_SOURCE_DIR}/${pofile}"
COMMENT "Compiling ${polang}.po"
)
+4 -6
View File
@@ -23,7 +23,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-06-30 09:32+0200\n"
"POT-Creation-Date: 2025-05-04 09:21+0200\n"
"PO-Revision-Date: 2025-05-04 09:24+0200\n"
"Last-Translator: Ondřej Súkup <mimi.vx@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5440,10 +5440,6 @@ msgstr ""
msgid "send alert (BEL) when a partial completion occurs"
msgstr "upozornit uživatele pokud nastane částečné doplnění"
msgid ""
"automatically expand word after partial completion when completing again"
msgstr ""
msgid ""
"partially complete command names (stop when many commands found begin with "
"same letters)"
@@ -6379,13 +6375,15 @@ msgstr "Myš je vypnuta"
msgid " TERM='%s', size: %dx%d"
msgstr " TERM='%s', velikost: %dx%d"
#, c-format
msgid "Running WeeChat in background..."
msgstr ""
#, fuzzy
#, fuzzy, c-format
msgid "fork error"
msgstr "chyba"
#, c-format
msgid "OK"
msgstr "OK"
+7 -7
View File
@@ -28,7 +28,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-06-30 09:32+0200\n"
"POT-Creation-Date: 2025-05-04 09:21+0200\n"
"PO-Revision-Date: 2025-05-05 09:24+0200\n"
"Last-Translator: Nils Görs <weechatter@arcor.de>\n"
"Language-Team: German <kde-i18n-de@kde.org>\n"
@@ -6199,10 +6199,6 @@ msgid "send alert (BEL) when a partial completion occurs"
msgstr ""
"erzeugt eine Mitteilung (BEL) wenn eine teilweise Vervollständigung auftritt"
msgid ""
"automatically expand word after partial completion when completing again"
msgstr ""
msgid ""
"partially complete command names (stop when many commands found begin with "
"same letters)"
@@ -7232,12 +7228,15 @@ msgstr "Maus ist inaktiv"
msgid " TERM='%s', size: %dx%d"
msgstr " TERM='%s', Größe: %dx%d"
#, c-format
msgid "Running WeeChat in background..."
msgstr "WeeChat wird im Hintergrund ausgeführt..."
#, c-format
msgid "fork error"
msgstr "Fork-Fehler"
#, c-format
msgid "OK"
msgstr "OK"
@@ -7838,8 +7837,8 @@ msgstr ""
msgid " - ${number_zero2}: like ${number2} but the number is zero-padded"
msgstr ""
" - ${number_zero2}: wie ${number2}, aber die Zahl wird mit Nullen "
"aufgefüllt"
" - ${number_zero2}: wie ${number2}, aber die Zahl wird mit Nullen"
" aufgefüllt"
msgid ""
" - ${number_displayed}: \"1\" if the number is displayed, otherwise \"0\""
@@ -18964,3 +18963,4 @@ msgstr ""
"%s%s Datei \"%s\" zum Fortsetzen der Übertragung wird nicht akzeptiert "
"(Port: %d, Startposition: %llu): xfer nicht gefunden oder nicht bereit für "
"Transfer"
+6 -8
View File
@@ -24,7 +24,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-06-30 09:32+0200\n"
"POT-Creation-Date: 2025-05-04 09:21+0200\n"
"PO-Revision-Date: 2025-05-04 09:25+0200\n"
"Last-Translator: Santiago Forero <santiago@forero.xyz>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -170,7 +170,7 @@ msgid ""
"%sRenumbering is allowed only if option weechat.look.buffer_auto_renumber is "
"off"
msgstr ""
"%sEl renombrado es permitido solo si la opción "
"%sEl renombrado es permitido solo sila opción "
"weechat.look.buffer_auto_renumber está desactivada (off)"
#, c-format
@@ -846,7 +846,7 @@ msgstr "%sError: opción \"%s\" no encontrada"
#, fuzzy
#| msgid "Option changed: "
msgid "Option unchanged: "
msgstr "Opción sin cambios: "
msgstr "Opción cambiada: "
msgid "Option changed: "
msgstr "Opción cambiada: "
@@ -5577,10 +5577,6 @@ msgstr ""
msgid "send alert (BEL) when a partial completion occurs"
msgstr "alertar al usuario cuando ocurre un completado parcial"
msgid ""
"automatically expand word after partial completion when completing again"
msgstr ""
msgid ""
"partially complete command names (stop when many commands found begin with "
"same letters)"
@@ -6563,13 +6559,15 @@ msgstr "Ratón desactivado"
msgid " TERM='%s', size: %dx%d"
msgstr " TERM='%s', tamaño: %dx%d"
#, c-format
msgid "Running WeeChat in background..."
msgstr ""
#, fuzzy
#, fuzzy, c-format
msgid "fork error"
msgstr "error"
#, c-format
msgid "OK"
msgstr "OK"
+5 -8
View File
@@ -23,8 +23,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-06-30 09:32+0200\n"
"PO-Revision-Date: 2025-06-30 09:34+0200\n"
"POT-Creation-Date: 2025-05-04 09:21+0200\n"
"PO-Revision-Date: 2025-05-04 09:24+0200\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: fr\n"
@@ -6068,12 +6068,6 @@ msgstr ""
msgid "send alert (BEL) when a partial completion occurs"
msgstr "envoyer une alerte (BEL) lorsqu'une complétion partielle survient"
msgid ""
"automatically expand word after partial completion when completing again"
msgstr ""
"étendre automatiquement le mot après une complétion partielle lors d'une "
"nouvelle complétion"
msgid ""
"partially complete command names (stop when many commands found begin with "
"same letters)"
@@ -7095,12 +7089,15 @@ msgstr "La souris est désactivée"
msgid " TERM='%s', size: %dx%d"
msgstr " TERM='%s', taille : %dx%d"
#, c-format
msgid "Running WeeChat in background..."
msgstr "Lancement de WeeChat en tâche de fond..."
#, c-format
msgid "fork error"
msgstr "erreur de fork"
#, c-format
msgid "OK"
msgstr "OK"
+4 -6
View File
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-06-30 09:32+0200\n"
"POT-Creation-Date: 2025-05-04 09:21+0200\n"
"PO-Revision-Date: 2025-05-04 09:25+0200\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5144,10 +5144,6 @@ msgstr ""
msgid "send alert (BEL) when a partial completion occurs"
msgstr ""
msgid ""
"automatically expand word after partial completion when completing again"
msgstr ""
msgid ""
"partially complete command names (stop when many commands found begin with "
"same letters)"
@@ -6041,13 +6037,15 @@ msgstr "Nincs aliasz definiálva.\n"
msgid " TERM='%s', size: %dx%d"
msgstr ""
#, c-format
msgid "Running WeeChat in background..."
msgstr ""
#, fuzzy
#, fuzzy, c-format
msgid "fork error"
msgstr "%sSzerver: %s%s\n"
#, c-format
msgid "OK"
msgstr "Rendben"
+4 -6
View File
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-06-30 09:32+0200\n"
"POT-Creation-Date: 2025-05-04 09:21+0200\n"
"PO-Revision-Date: 2025-05-04 09:25+0200\n"
"Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5560,10 +5560,6 @@ msgstr ""
msgid "send alert (BEL) when a partial completion occurs"
msgstr "avvisa l'utente quando si verifica un completamento parziale"
msgid ""
"automatically expand word after partial completion when completing again"
msgstr ""
msgid ""
"partially complete command names (stop when many commands found begin with "
"same letters)"
@@ -6501,13 +6497,15 @@ msgstr "Mouse disabilitato"
msgid " TERM='%s', size: %dx%d"
msgstr " TERM='%s', dimensione %dx%d"
#, c-format
msgid "Running WeeChat in background..."
msgstr ""
#, fuzzy
#, fuzzy, c-format
msgid "fork error"
msgstr "errore"
#, c-format
msgid "OK"
msgstr "OK"
+4 -5
View File
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-06-30 09:32+0200\n"
"POT-Creation-Date: 2025-05-04 09:21+0200\n"
"PO-Revision-Date: 2025-05-04 09:25+0200\n"
"Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n"
"Language-Team: Japanese <https://github.com/l/weechat/tree/master/"
@@ -5740,10 +5740,6 @@ msgstr ""
msgid "send alert (BEL) when a partial completion occurs"
msgstr "補完候補が複数あった場合に警告 (BEL) を送信"
msgid ""
"automatically expand word after partial completion when completing again"
msgstr ""
msgid ""
"partially complete command names (stop when many commands found begin with "
"same letters)"
@@ -6716,12 +6712,15 @@ msgstr "マウスを無効化しました"
msgid " TERM='%s', size: %dx%d"
msgstr " TERM='%s'、サイズ: %dx%d"
#, c-format
msgid "Running WeeChat in background..."
msgstr "WeeChat をバックグラウンドで実行中..."
#, c-format
msgid "fork error"
msgstr "フォークエラー"
#, c-format
msgid "OK"
msgstr "成功"
+4 -5
View File
@@ -24,7 +24,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-06-30 09:32+0200\n"
"POT-Creation-Date: 2025-05-04 09:21+0200\n"
"PO-Revision-Date: 2025-05-04 09:25+0200\n"
"Last-Translator: Krzysztof Korościk <soltys@soltys.info>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -6037,10 +6037,6 @@ msgstr ""
msgid "send alert (BEL) when a partial completion occurs"
msgstr "wyślij alarm (BEL), kiedy nastąpi częściowe dopełnienie"
msgid ""
"automatically expand word after partial completion when completing again"
msgstr ""
msgid ""
"partially complete command names (stop when many commands found begin with "
"same letters)"
@@ -7084,12 +7080,15 @@ msgstr "Obsługa myszy wyłączona"
msgid " TERM='%s', size: %dx%d"
msgstr " TERM='%s', rozmiar: %dx%d"
#, c-format
msgid "Running WeeChat in background..."
msgstr "Uruchamianie WeeChat w tle..."
#, c-format
msgid "fork error"
msgstr "nie udało się utworzyć procesu"
#, c-format
msgid "OK"
msgstr "OK"
+4 -6
View File
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-06-30 09:32+0200\n"
"POT-Creation-Date: 2025-05-04 09:21+0200\n"
"PO-Revision-Date: 2025-05-04 09:25+0200\n"
"Last-Translator: Vasco Almeida <vascomalmeida@sapo.pt>\n"
"Language-Team: Portuguese <>\n"
@@ -5778,10 +5778,6 @@ msgstr ""
msgid "send alert (BEL) when a partial completion occurs"
msgstr "alertar o utilizador ao completar parcialmente"
msgid ""
"automatically expand word after partial completion when completing again"
msgstr ""
msgid ""
"partially complete command names (stop when many commands found begin with "
"same letters)"
@@ -6758,13 +6754,15 @@ msgstr "O rato está desativado"
msgid " TERM='%s', size: %dx%d"
msgstr " TERM='%s', tamanho: %dx%d"
#, c-format
msgid "Running WeeChat in background..."
msgstr ""
#, fuzzy
#, fuzzy, c-format
msgid "fork error"
msgstr "erro"
#, c-format
msgid "OK"
msgstr "OK"
+4 -6
View File
@@ -23,7 +23,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-06-30 09:32+0200\n"
"POT-Creation-Date: 2025-05-04 09:21+0200\n"
"PO-Revision-Date: 2025-05-04 09:25+0200\n"
"Last-Translator: Érico Nogueira <ericonr@disroot.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5481,10 +5481,6 @@ msgstr ""
msgid "send alert (BEL) when a partial completion occurs"
msgstr "alertar usuário quando uma completação parcial ocorre"
msgid ""
"automatically expand word after partial completion when completing again"
msgstr ""
msgid ""
"partially complete command names (stop when many commands found begin with "
"same letters)"
@@ -6408,13 +6404,15 @@ msgstr "Mouse está desabilitado"
msgid " TERM='%s', size: %dx%d"
msgstr " TERM='%s', tamanho: %dx%d"
#, c-format
msgid "Running WeeChat in background..."
msgstr ""
#, fuzzy
#, fuzzy, c-format
msgid "fork error"
msgstr "%s%s: erro: %s"
#, c-format
msgid "OK"
msgstr "OK"
+4 -6
View File
@@ -23,7 +23,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-06-30 09:32+0200\n"
"POT-Creation-Date: 2025-05-04 09:21+0200\n"
"PO-Revision-Date: 2025-05-04 09:25+0200\n"
"Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5178,10 +5178,6 @@ msgstr ""
msgid "send alert (BEL) when a partial completion occurs"
msgstr ""
msgid ""
"automatically expand word after partial completion when completing again"
msgstr ""
msgid ""
"partially complete command names (stop when many commands found begin with "
"same letters)"
@@ -6079,13 +6075,15 @@ msgstr "Сокращения не заданы.\n"
msgid " TERM='%s', size: %dx%d"
msgstr ""
#, c-format
msgid "Running WeeChat in background..."
msgstr ""
#, fuzzy
#, fuzzy, c-format
msgid "fork error"
msgstr "%sСервер: %s%s\n"
#, c-format
msgid "OK"
msgstr "OK"
+4 -5
View File
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-06-30 09:32+0200\n"
"POT-Creation-Date: 2025-05-04 09:21+0200\n"
"PO-Revision-Date: 2025-05-04 09:25+0200\n"
"Last-Translator: Ivan Pešić <ivan.pesic@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5861,10 +5861,6 @@ msgstr ""
msgid "send alert (BEL) when a partial completion occurs"
msgstr "шаље упозорење (BEL) када се догоди делимично довршавање"
msgid ""
"automatically expand word after partial completion when completing again"
msgstr ""
msgid ""
"partially complete command names (stop when many commands found begin with "
"same letters)"
@@ -6869,12 +6865,15 @@ msgstr "Миш је искључен"
msgid " TERM='%s', size: %dx%d"
msgstr " TERM=%s, величина: %dx%d"
#, c-format
msgid "Running WeeChat in background..."
msgstr "WeeChat се извршава у позадини..."
#, c-format
msgid "fork error"
msgstr "грешка при рачвању"
#, c-format
msgid "OK"
msgstr "ОК"
+4 -5
View File
@@ -23,7 +23,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-06-30 09:32+0200\n"
"POT-Creation-Date: 2025-05-04 09:21+0200\n"
"PO-Revision-Date: 2025-05-04 09:25+0200\n"
"Last-Translator: Emir SARI <emir_sari@icloud.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5734,10 +5734,6 @@ msgstr ""
msgid "send alert (BEL) when a partial completion occurs"
msgstr "kısmi bir tamamlama gerçekleştiğinde uyarı (BEL) gönder"
msgid ""
"automatically expand word after partial completion when completing again"
msgstr ""
msgid ""
"partially complete command names (stop when many commands found begin with "
"same letters)"
@@ -6761,12 +6757,15 @@ msgstr "Fare devre dışı"
msgid " TERM='%s', size: %dx%d"
msgstr " TERM='%s', boyut: %dx%d"
#, c-format
msgid "Running WeeChat in background..."
msgstr "WeeChat arka planda çalışıyor..."
#, c-format
msgid "fork error"
msgstr "çatal hatası"
#, c-format
msgid "OK"
msgstr "TAMAM"
+4 -5
View File
@@ -23,7 +23,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2025-06-30 09:32+0200\n"
"POT-Creation-Date: 2025-05-04 09:21+0200\n"
"PO-Revision-Date: 2014-08-16 10:27+0200\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -4804,10 +4804,6 @@ msgstr ""
msgid "send alert (BEL) when a partial completion occurs"
msgstr ""
msgid ""
"automatically expand word after partial completion when completing again"
msgstr ""
msgid ""
"partially complete command names (stop when many commands found begin with "
"same letters)"
@@ -5626,12 +5622,15 @@ msgstr ""
msgid " TERM='%s', size: %dx%d"
msgstr ""
#, c-format
msgid "Running WeeChat in background..."
msgstr ""
#, c-format
msgid "fork error"
msgstr ""
#, c-format
msgid "OK"
msgstr ""
-8
View File
@@ -313,7 +313,6 @@ struct t_config_option *config_completion_nick_first_only = NULL;
struct t_config_option *config_completion_nick_ignore_chars = NULL;
struct t_config_option *config_completion_nick_ignore_words = NULL;
struct t_config_option *config_completion_partial_completion_alert = NULL;
struct t_config_option *config_completion_partial_completion_auto_expand = NULL;
struct t_config_option *config_completion_partial_completion_command = NULL;
struct t_config_option *config_completion_partial_completion_command_arg = NULL;
struct t_config_option *config_completion_partial_completion_count = NULL;
@@ -5244,13 +5243,6 @@ config_weechat_init_options (void)
N_("send alert (BEL) when a partial completion occurs"),
NULL, 0, 0, "on", NULL, 0,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
config_completion_partial_completion_auto_expand = config_file_new_option (
weechat_config_file, weechat_config_section_completion,
"partial_completion_auto_expand", "boolean",
N_("automatically expand word after partial completion when "
"completing again"),
NULL, 0, 0, "on", NULL, 0,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
config_completion_partial_completion_command = config_file_new_option (
weechat_config_file, weechat_config_section_completion,
"partial_completion_command", "boolean",
-1
View File
@@ -362,7 +362,6 @@ extern struct t_config_option *config_completion_nick_first_only;
extern struct t_config_option *config_completion_nick_ignore_chars;
extern struct t_config_option *config_completion_nick_ignore_words;
extern struct t_config_option *config_completion_partial_completion_alert;
extern struct t_config_option *config_completion_partial_completion_auto_expand;
extern struct t_config_option *config_completion_partial_completion_command;
extern struct t_config_option *config_completion_partial_completion_command_arg;
extern struct t_config_option *config_completion_partial_completion_count;
+6 -10
View File
@@ -36,18 +36,10 @@
/* Bring in htobe64 */
#ifdef __ANDROID__
#define _BSD_SOURCE
#define BE_INT64 htobe64
#include <endian.h>
#elif defined(__APPLE__)
#include <libkern/OSByteOrder.h>
#define BE_INT64 OSSwapHostToBigInt64
#elif defined(HAVE_HTONLL)
#include <sys/types.h>
#include <netinet/in.h>
#include <inttypes.h>
#define BE_INT64 htonll
#else
#define BE_INT64 htobe64
#define htobe64 OSSwapHostToBigInt64
#endif
#include "weechat.h"
@@ -57,6 +49,10 @@
#include "core-string.h"
#include "../plugins/plugin.h"
#ifdef htonll
#define htobe64 htonll
#endif
char *weecrypto_hash_algo_string[] = {
"crc32",
"md5",
@@ -540,7 +536,7 @@ weecrypto_totp_generate_internal (const char *secret, int length_secret,
int rc, offset, length;
unsigned long bin_code;
moving_factor_swapped = BE_INT64 (moving_factor);
moving_factor_swapped = htobe64 (moving_factor);
rc = weecrypto_hmac (secret, length_secret,
&moving_factor_swapped, sizeof (moving_factor_swapped),
GCRY_MD_SHA1,
-6
View File
@@ -611,12 +611,6 @@ debug_hooks_plugin_types (const char *plugin_mask, const char **hook_types)
(ptr_hook->plugin) ?
ptr_hook->plugin->name : PLUGIN_CORE,
-1);
if (ptr_hook->subplugin)
{
string_dyn_concat (result_type, "(", -1);
string_dyn_concat (result_type, ptr_hook->subplugin, -1);
string_dyn_concat (result_type, ")", -1);
}
string_dyn_concat (result_type, ": ", -1);
string_dyn_concat (result_type, desc, -1);
string_dyn_concat (result_type, "\n", -1);
+7
View File
@@ -28,6 +28,13 @@
#include "config.h"
#endif
/* _XPG4_2 is needed on SunOS for macros like CMSG_SPACE */
/* __EXTENSIONS__ is needed on SunOS for constants like NI_MAXHOST */
#ifdef __sun
#define _XPG4_2
#define __EXTENSIONS__
#endif
#include <unistd.h>
#include <fcntl.h>
#include <stdlib.h>
-2
View File
@@ -666,9 +666,7 @@ struct t_url_option url_options[] =
#endif
URL_DEF_OPTION(PINNEDPUBLICKEY, STRING, NULL),
URL_DEF_OPTION(SSL_VERIFYSTATUS, LONG, NULL),
#if LIBCURL_VERSION_NUM < 0x080F00 /* < 8.15.0 */
URL_DEF_OPTION(SSL_FALSESTART, LONG, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x073400 /* 7.52.0 */
URL_DEF_OPTION(PROXY_CAINFO, STRING, NULL),
URL_DEF_OPTION(PROXY_CAPATH, STRING, NULL),
+5 -16
View File
@@ -168,8 +168,6 @@ util_get_time_string (const time_t *date)
/*
* Formats date and time like strftime (but with timeval structure as input)
* and adds extra specifiers:
* - "%@": return the date expressed in Coordinated Universal Time (UTC)
* instead of date relative to the user's specified timezone
* - "%.1" to "%.6": first N digits of microseconds, zero-padded
* - "%f": alias of "%.6" (microseconds, zero-padded to 6 digits)
* - "%!": timestamp as integer, in seconds (value of tv->tv_sec)
@@ -180,15 +178,14 @@ util_strftimeval (char *string, int max, const char *format, struct timeval *tv)
{
char **format2, str_temp[32];
const char *ptr_format;
struct tm *date_time;
int length, bytes, local_time;
struct tm *local_time;
int length, bytes;
long usec;
if (!string || (max <= 0) || !format || !tv)
return 0;
string[0] = '\0';
local_time = 1;
if (!format[0])
return 0;
@@ -211,11 +208,6 @@ util_strftimeval (char *string, int max, const char *format, struct timeval *tv)
string_dyn_concat (format2, "%%", -1);
ptr_format += 2;
}
else if ((ptr_format[0] == '%') && (ptr_format[1] == '@'))
{
local_time = 0;
ptr_format += 2;
}
else if ((ptr_format[0] == '%') && (ptr_format[1] == '.'))
{
if ((ptr_format[2] >= '1') && (ptr_format[2] <= '6'))
@@ -252,17 +244,14 @@ util_strftimeval (char *string, int max, const char *format, struct timeval *tv)
}
}
if (local_time)
date_time = localtime (&(tv->tv_sec));
else
date_time = gmtime (&(tv->tv_sec));
if (!date_time)
local_time = localtime (&(tv->tv_sec));
if (!local_time)
{
string_dyn_free (format2, 1);
return 0;
}
bytes = strftime (string, max, *format2, date_time);
bytes = strftime (string, max, *format2, local_time);
string_dyn_free (format2, 1);
-2
View File
@@ -22,8 +22,6 @@
#ifndef WEECHAT_HOOK_URL_H
#define WEECHAT_HOOK_URL_H
#include <pthread.h>
struct t_weechat_plugin;
struct t_infolist_item;
struct t_hashtable;
+5
View File
@@ -53,6 +53,11 @@ if(ENABLE_ZSTD)
list(APPEND EXTRA_LIBS ${LIBZSTD_LDFLAGS})
endif()
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
# link with resolv lib on macOS
list(APPEND EXTRA_LIBS "resolv")
endif()
if(ENABLE_NCURSES)
subdirs(normal)
endif()
+6 -3
View File
@@ -49,20 +49,23 @@ daemonize (void)
pid_t pid;
int fd, i;
printf ("%s ", _("Running WeeChat in background..."));
printf (_("Running WeeChat in background..."));
printf (" ");
pid = fork ();
if (pid < 0)
{
printf ("%s\n", _("fork error"));
printf (_("fork error"));
printf ("\n");
exit (EXIT_FAILURE);
}
if (pid > 0)
{
/* parent process */
printf ("%s\n", _("OK"));
printf (_("OK"));
printf ("\n");
exit (EXIT_SUCCESS);
}
-1
View File
@@ -33,7 +33,6 @@ set(LIB_GUI_CURSES_SRC
find_package(Ncurses)
if(NCURSES_FOUND)
add_definitions(${NCURSES_CFLAGS})
check_include_files(ncursesw/ncurses.h NCURSESW_HEADERS)
if(NCURSESW_HEADERS)
add_definitions(-DHAVE_NCURSESW_CURSES_H)
+34 -74
View File
@@ -127,8 +127,8 @@ gui_completion_init (struct t_gui_completion *completion,
completion->args = NULL;
completion->direction = 0;
completion->add_space = 1;
completion->partial_completion = 0;
completion->template_partial_completion = 0;
completion->force_partial_completion = 0;
completion->reverse_partial_completion = 0;
completion->list = arraylist_new (
32, 1, 0,
@@ -631,7 +631,7 @@ gui_completion_build_list_template (struct t_gui_completion *completion,
config_hashtable_completion_partial_templates,
custom_completion))
{
completion->template_partial_completion = 1;
completion->reverse_partial_completion = 1;
}
gui_completion_custom (completion,
custom_completion,
@@ -907,6 +907,8 @@ gui_completion_find_context (struct t_gui_completion *completion,
const char *ptr_command, *ptr_data, *ptr_space, *ptr_newline, *prev_char;
/* look for context */
gui_completion_free_data (completion);
gui_completion_init (completion, completion->plugin, completion->buffer);
ptr_command = NULL;
command_arg = 0;
@@ -1239,7 +1241,7 @@ gui_completion_partial_build_list (struct t_gui_completion *completion,
void
gui_completion_complete (struct t_gui_completion *completion)
{
int length, word_found_seen, other_completion;
int length, word_found_seen, other_completion, partial_completion;
int common_prefix_size, index, index2;
struct t_gui_completion_word *ptr_completion_word, *ptr_completion_word2;
@@ -1247,15 +1249,34 @@ gui_completion_complete (struct t_gui_completion *completion)
word_found_seen = 0;
other_completion = 0;
partial_completion = completion->force_partial_completion;
if (!partial_completion)
{
if (completion->context == GUI_COMPLETION_COMMAND)
{
partial_completion = CONFIG_BOOLEAN(config_completion_partial_completion_command);
}
else if (completion->context == GUI_COMPLETION_COMMAND_ARG)
{
partial_completion = CONFIG_BOOLEAN(config_completion_partial_completion_command_arg);
}
else
partial_completion = CONFIG_BOOLEAN(config_completion_partial_completion_other);
}
if (completion->reverse_partial_completion)
partial_completion ^= 1;
common_prefix_size = 0;
if (completion->partial_completion
if (partial_completion
&& completion->list && (completion->list->size > 0))
{
common_prefix_size = gui_completion_common_prefix_size (completion->list,
NULL);
}
if (completion->partial_completion
if (partial_completion
&& completion->word_found
&& (utf8_strlen (completion->word_found) >= common_prefix_size))
{
@@ -1334,7 +1355,7 @@ gui_completion_complete (struct t_gui_completion *completion)
completion->position = 0;
/* stop after common prefix, if asked by user */
if (completion->partial_completion
if (partial_completion
&& ((utf8_strlen (completion->word_found) >= common_prefix_size))
&& (other_completion > 0))
{
@@ -1502,7 +1523,7 @@ gui_completion_search (struct t_gui_completion *completion, const char *data,
int position, int direction)
{
char *old_word_found;
int real_position, force_no_partial;
int real_position;
if (!completion || !data || (position < 0))
return 0;
@@ -1511,75 +1532,14 @@ gui_completion_search (struct t_gui_completion *completion, const char *data,
completion->direction = direction;
force_no_partial = 0;
if ((completion->context != GUI_COMPLETION_NULL)
&& (arraylist_size (completion->partial_list) > 0)
&& CONFIG_BOOLEAN(config_completion_partial_completion_auto_expand))
{
force_no_partial = 1;
arraylist_clear (completion->partial_list);
}
/* if new completion => look for base word */
if (real_position != completion->position)
{
free (completion->word_found);
completion->word_found = NULL;
completion->word_found_is_nick = 0;
gui_completion_free_data (completion);
gui_completion_init (completion, completion->plugin, completion->buffer);
completion->partial_completion = (direction < 0);
completion->direction = direction;
gui_completion_find_context (completion, data, real_position);
if (force_no_partial)
{
completion->partial_completion = 0;
completion->direction = 1;
}
else if (completion->template_partial_completion)
{
if (completion->direction < 0)
{
completion->partial_completion = 0;
completion->direction = 1;
}
else
{
completion->partial_completion = 1;
}
}
else
{
switch (completion->context)
{
case GUI_COMPLETION_NULL:
break;
case GUI_COMPLETION_COMMAND:
if (CONFIG_BOOLEAN(config_completion_partial_completion_command))
{
completion->partial_completion ^= 1;
if (completion->direction < 0)
completion->direction = 1;
}
break;
case GUI_COMPLETION_COMMAND_ARG:
if (CONFIG_BOOLEAN(config_completion_partial_completion_command_arg))
{
completion->partial_completion ^= 1;
if (completion->direction < 0)
completion->direction = 1;
}
break;
case GUI_COMPLETION_AUTO:
if (CONFIG_BOOLEAN(config_completion_partial_completion_other))
{
completion->partial_completion ^= 1;
if (completion->direction < 0)
completion->direction = 1;
}
break;
}
}
completion->force_partial_completion = (direction < 0);
}
/* completion */
@@ -1696,8 +1656,8 @@ gui_completion_hdata_completion_cb (const void *pointer, void *data,
HDATA_VAR(struct t_gui_completion, args, STRING, 0, NULL, NULL);
HDATA_VAR(struct t_gui_completion, direction, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_gui_completion, add_space, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_gui_completion, partial_completion, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_gui_completion, template_partial_completion, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_gui_completion, force_partial_completion, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_gui_completion, reverse_partial_completion, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_gui_completion, list, POINTER, 0, NULL, NULL);
HDATA_VAR(struct t_gui_completion, word_found, STRING, 0, NULL, NULL);
HDATA_VAR(struct t_gui_completion, word_found_is_nick, INTEGER, 0, NULL, NULL);
@@ -1785,8 +1745,8 @@ gui_completion_print_log (void)
log_printf (" args. . . . . . . . . . . : '%s'", ptr_completion->args);
log_printf (" direction . . . . . . . . : %d", ptr_completion->direction);
log_printf (" add_space . . . . . . . . : %d", ptr_completion->add_space);
log_printf (" partial_completion. . . . : %d", ptr_completion->partial_completion);
log_printf (" template_partial_completion: %d", ptr_completion->template_partial_completion);
log_printf (" force_partial_completion. : %d", ptr_completion->force_partial_completion);
log_printf (" reverse_partial_completion: %d", ptr_completion->reverse_partial_completion);
log_printf (" list. . . . . . . . . . . : %p", ptr_completion->list);
log_printf (" word_found. . . . . . . . : '%s'", ptr_completion->word_found);
log_printf (" word_found_is_nick. . . . : %d", ptr_completion->word_found_is_nick);
+2 -2
View File
@@ -56,8 +56,8 @@ struct t_gui_completion
char *args; /* command line args (including base word) */
int direction; /* +1=search next word, -1=previous word */
int add_space; /* add space after completion? */
int partial_completion; /* partial completion? */
int template_partial_completion; /* template with partial completion? */
int force_partial_completion; /* force partial completion? */
int reverse_partial_completion; /* reverse partial completion? */
/* for command argument completion */
struct t_arraylist *list; /* data list for completion */
+2 -6
View File
@@ -124,12 +124,8 @@ else()
endif()
if(ENABLE_SCRIPTS AND ENABLE_PYTHON)
if(CMAKE_VERSION VERSION_LESS "3.18.0")
find_package(Python 3.0 COMPONENTS Development)
else()
find_package(Python 3.0 COMPONENTS Development.Embed)
endif()
if(Python_FOUND)
find_package(Python)
if(PYTHON_FOUND)
add_subdirectory(python)
else()
message(SEND_ERROR "Python not found")
-1
View File
@@ -27,7 +27,6 @@ add_library(lua MODULE
set_target_properties(lua PROPERTIES PREFIX "")
if(LUA_FOUND)
add_definitions(${LUA_CFLAGS})
include_directories(${LUA_INCLUDE_DIRS})
target_link_libraries(lua ${LUA_LDFLAGS} weechat_plugins_scripts coverage_config)
endif()
+2 -4
View File
@@ -25,10 +25,8 @@ add_library(python MODULE
)
set_target_properties(python PROPERTIES PREFIX "")
if(Python_FOUND)
include_directories(${Python_INCLUDE_DIRS})
add_definitions(${Python_DEFINITIONS})
target_link_libraries(python ${Python_LIBRARIES} weechat_plugins_scripts coverage_config)
if(PYTHON_FOUND)
target_link_libraries(python PkgConfig::PYTHON weechat_plugins_scripts coverage_config)
endif()
install(TARGETS python LIBRARY DESTINATION "${WEECHAT_LIBDIR}/plugins")
+10 -2
View File
@@ -59,11 +59,15 @@
#define MSG_ADD_HDATA_TIME_USEC(__json_name, \
__var_name, __var_name_usec) \
tv.tv_sec = weechat_hdata_time (hdata, pointer, __var_name); \
time_value = weechat_hdata_time (hdata, pointer, __var_name); \
local_time = localtime (&time_value); \
time_value -= local_time->tm_gmtoff; \
local_time = localtime (&time_value); \
tv.tv_sec = mktime (local_time); \
tv.tv_usec = weechat_hdata_integer (hdata, pointer, \
__var_name_usec); \
weechat_util_strftimeval (str_time, sizeof (str_time), \
"%@%FT%T.%fZ", &tv); \
"%FT%T.%fZ", &tv); \
MSG_ADD_STR_BUF(__json_name, str_time);
#define MSG_ADD_HDATA_STR(__json_name, __var_name) \
@@ -485,7 +489,9 @@ relay_api_msg_line_data_to_json (struct t_gui_line_data *line_data,
const char *ptr_string;
char *string, str_time[256], str_var[64];
int i, tags_count;
time_t time_value;
struct timeval tv;
struct tm *local_time;
hdata = relay_hdata_line_data;
pointer = line_data;
@@ -788,7 +794,9 @@ relay_api_msg_hotlist_to_json (struct t_gui_hotlist *hotlist)
struct t_gui_hotlist *pointer;
struct t_gui_buffer *buffer;
cJSON *json, *json_count;
time_t time_value;
struct timeval tv;
struct tm *local_time;
char str_time[256], str_key[32];
int i, array_size;
long long buffer_id;
+1 -5
View File
@@ -25,10 +25,6 @@ if(NOT DEFINED ENV{LIB_FUZZING_ENGINE})
set(ENV{LIB_FUZZING_ENGINE} "-fsanitize=address,fuzzer")
endif()
if ("$ENV{LIB_FUZZING_ENGINE}" MATCHES "-fsanitize=.*fuzzer")
set(ENV{LIB_FUZZING_ENGINE} "$ENV{LIB_FUZZING_ENGINE};-fsanitize=fuzzer-no-link")
endif()
remove_definitions(-DHAVE_CONFIG_H)
include_directories(
${PROJECT_BINARY_DIR}
@@ -102,6 +98,6 @@ set(FUZZ_CORE_TARGETS calc eval crypto secure string utf8 util)
foreach(fuzz_target ${FUZZ_CORE_TARGETS})
add_executable(weechat_core_${fuzz_target}_fuzzer core/${fuzz_target}-fuzzer.cc)
target_link_libraries(weechat_core_${fuzz_target}_fuzzer ${FUZZ_TARGET_LINK} coverage_config)
set_target_properties(weechat_core_${fuzz_target}_fuzzer PROPERTIES LINK_OPTIONS "$ENV{LIB_FUZZING_ENGINE}")
set_target_properties(weechat_core_${fuzz_target}_fuzzer PROPERTIES LINK_FLAGS "$ENV{LIB_FUZZING_ENGINE}")
add_dependencies(weechat_core_${fuzz_target}_fuzzer ${FUZZ_TARGET_DEPS})
endforeach()
-4
View File
@@ -35,10 +35,6 @@ extern "C" int LLVMFuzzerTestOneInput (const uint8_t *data, size_t size)
{
char *str;
/* ignore huge data */
if (size > 65536)
return 0;
str = (char *)malloc (size + 1);
memcpy (str, data, size);
str[size] = '\0';
+17 -18
View File
@@ -61,10 +61,6 @@ LLVMFuzzerTestOneInput (const uint8_t *data, size_t size)
char *str, hash[1024], *encrypted, *decrypted;
int length_encrypted, length_decrypted;
/* ignore empty or huge data */
if ((size == 0) || (size > 65536))
return 0;
str = (char *)malloc (size + 1);
memcpy (str, data, size);
str[size] = '\0';
@@ -72,20 +68,23 @@ LLVMFuzzerTestOneInput (const uint8_t *data, size_t size)
if (size >= 8)
secure_derive_key (str, str, (unsigned char *)hash, sizeof (hash));
encrypted = NULL;
decrypted = NULL;
config_file_option_set (secure_config_crypt_salt, "on", 1);
secure_encrypt_data (str, size, GCRY_MD_SHA512, GCRY_CIPHER_AES256, "test", &encrypted, &length_encrypted);
secure_decrypt_data (encrypted, length_encrypted, GCRY_MD_SHA512, GCRY_CIPHER_AES256, "test", &decrypted, &length_decrypted);
assert ((size_t)length_decrypted == size);
assert (memcmp (decrypted, str, length_decrypted) == 0);
free (encrypted);
free (decrypted);
config_file_option_set (secure_config_crypt_salt, "off", 1);
encrypted = NULL;
secure_encrypt_data (str, size, GCRY_MD_SHA512, GCRY_CIPHER_AES256, "test", &encrypted, &length_encrypted);
free (encrypted);
config_file_option_reset (secure_config_crypt_salt, 1);
if (size > 0)
{
encrypted = NULL;
decrypted = NULL;
config_file_option_set (secure_config_crypt_salt, "on", 1);
secure_encrypt_data (str, size, GCRY_MD_SHA512, GCRY_CIPHER_AES256, "test", &encrypted, &length_encrypted);
secure_decrypt_data (encrypted, length_encrypted, GCRY_MD_SHA512, GCRY_CIPHER_AES256, "test", &decrypted, &length_decrypted);
assert ((size_t)length_decrypted == size);
assert (memcmp (decrypted, str, length_decrypted) == 0);
free (encrypted);
free (decrypted);
config_file_option_set (secure_config_crypt_salt, "off", 1);
encrypted = NULL;
secure_encrypt_data (str, size, GCRY_MD_SHA512, GCRY_CIPHER_AES256, "test", &encrypted, &length_encrypted);
free (encrypted);
config_file_option_reset (secure_config_crypt_salt, 1);
}
free (str);
-1
View File
@@ -344,7 +344,6 @@ TEST(CoreCalc, Expression)
WEE_CHECK_CALC("0.0000000008", "1/1234567890");
WEE_CHECK_CALC("0.0000000001", "1/12345678901");
WEE_CHECK_CALC("0", "1/123456789012");
WEE_CHECK_CALC("1.2222222222", "1+0.22222222222222222222222222222222222");
/* expressions with parentheses */
WEE_CHECK_CALC("6", "((6))");
-5
View File
@@ -187,11 +187,6 @@ TEST(CoreUtil, Strftimeval)
"%H:%M:%S", &tv));
STRCMP_EQUAL("10:29:09", str_time);
strcpy (str_time, "test");
LONGS_EQUAL(8, util_strftimeval (str_time, sizeof (str_time),
"%@%H:%M:%S", &tv));
STRCMP_EQUAL("10:29:09", str_time);
strcpy (str_time, "test");
LONGS_EQUAL(19, util_strftimeval (str_time, sizeof (str_time),
"%Y-%m-%d %H:%M:%S", &tv));
@@ -419,12 +419,12 @@ TEST(RelayApiMsg, LinesToJson)
gmtime_r (&(gui_buffers->own_lines->last_line->prev_line->data->date), &gm_time);
tv.tv_sec = mktime (&gm_time);
tv.tv_usec = gui_buffers->own_lines->last_line->prev_line->data->date_usec;
util_strftimeval (str_date, sizeof (str_date), "%@%FT%T.%fZ", &tv);
util_strftimeval (str_date, sizeof (str_date), "%FT%T.%fZ", &tv);
WEE_CHECK_OBJ_STR(str_date, json_line, "date");
gmtime_r (&(gui_buffers->own_lines->last_line->prev_line->data->date_printed), &gm_time);
tv.tv_sec = mktime (&gm_time);
tv.tv_usec = gui_buffers->own_lines->last_line->prev_line->data->date_usec_printed;
util_strftimeval (str_date, sizeof (str_date), "%@%FT%T.%fZ", &tv);
util_strftimeval (str_date, sizeof (str_date), "%FT%T.%fZ", &tv);
WEE_CHECK_OBJ_STR(str_date, json_line, "date_printed");
WEE_CHECK_OBJ_BOOL(0, json_line, "highlight");
WEE_CHECK_OBJ_STR("nick1", json_line, "prefix");
@@ -455,12 +455,12 @@ TEST(RelayApiMsg, LinesToJson)
gmtime_r (&(gui_buffers->own_lines->last_line->data->date), &gm_time);
tv.tv_sec = mktime (&gm_time);
tv.tv_usec = gui_buffers->own_lines->last_line->data->date_usec;
util_strftimeval (str_date, sizeof (str_date), "%@%FT%T.%fZ", &tv);
util_strftimeval (str_date, sizeof (str_date), "%FT%T.%fZ", &tv);
WEE_CHECK_OBJ_STR(str_date, json_line, "date");
gmtime_r (&(gui_buffers->own_lines->last_line->data->date_printed), &gm_time);
tv.tv_sec = mktime (&gm_time);
tv.tv_usec = gui_buffers->own_lines->last_line->data->date_usec_printed;
util_strftimeval (str_date, sizeof (str_date), "%@%FT%T.%fZ", &tv);
util_strftimeval (str_date, sizeof (str_date), "%FT%T.%fZ", &tv);
WEE_CHECK_OBJ_STR(str_date, json_line, "date_printed");
WEE_CHECK_OBJ_BOOL(0, json_line, "highlight");
WEE_CHECK_OBJ_STR("", json_line, "prefix");
@@ -626,7 +626,7 @@ TEST(RelayApiMsg, HotlistToJson)
gmtime_r (&time_value, &gm_time);
tv.tv_sec = mktime (&gm_time);
tv.tv_usec = hdata_integer (relay_hdata_hotlist, gui_hotlist, "time_usec");
util_strftimeval (str_date, sizeof (str_date), "%@%FT%T.%fZ", &tv);
util_strftimeval (str_date, sizeof (str_date), "%FT%T.%fZ", &tv);
WEE_CHECK_OBJ_STR(str_date, json, "date");
WEE_CHECK_OBJ_NUM(gui_buffers->id, json, "buffer_id");
json_count = cJSON_GetObjectItem (json, "count");