1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-29 22:36:38 +02:00

Add "version_number" for API function weechat_info_get to get WeeChat version as number

This commit is contained in:
Sebastien Helleu
2010-02-10 11:21:25 +01:00
parent f6868c40af
commit 3799d2c2a5
15 changed files with 124 additions and 12 deletions
+2
View File
@@ -27,6 +27,8 @@
| weechat | version | WeeChat version
| weechat | version_number | WeeChat version (as number)
| weechat | weechat_dir | WeeChat directory
| weechat | weechat_libdir | WeeChat "lib" directory
+2
View File
@@ -27,6 +27,8 @@
| weechat | version | version de WeeChat
| weechat | version_number | version de WeeChat (sous forme de nombre)
| weechat | weechat_dir | répertoire de WeeChat
| weechat | weechat_libdir | répertoire "lib" de WeeChat
+2
View File
@@ -27,6 +27,8 @@
| weechat | version | versione di WeeChat
| weechat | version_number | WeeChat version (as number)
| weechat | weechat_dir | cartella WeeChat
| weechat | weechat_libdir | cartella "lib" di WeeChat
+5 -1
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.2-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2010-02-09 16:35+0100\n"
"POT-Creation-Date: 2010-02-10 10:33+0100\n"
"PO-Revision-Date: 2010-01-23 11:56+0100\n"
"Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5083,6 +5083,10 @@ msgstr "seznam logovacích bufferů"
msgid "WeeChat version"
msgstr "verze WeeChat"
#, fuzzy
msgid "WeeChat version (as number)"
msgstr "verze WeeChat"
msgid "WeeChat compilation date"
msgstr "datum kompilace WeeChat"
+5 -1
View File
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.2-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2010-02-09 16:35+0100\n"
"POT-Creation-Date: 2010-02-10 10:33+0100\n"
"PO-Revision-Date: 2010-01-26 22:35+0100\n"
"Last-Translator: Nils G <weechatter@arcor.de>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5277,6 +5277,10 @@ msgstr "Liste der protokollierten Buffer"
msgid "WeeChat version"
msgstr "WeeChat Version"
#, fuzzy
msgid "WeeChat version (as number)"
msgstr "WeeChat Version"
msgid "WeeChat compilation date"
msgstr "Datum der WeeChat Kompilierung"
+5 -1
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.2-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2010-02-09 16:35+0100\n"
"POT-Creation-Date: 2010-02-10 10:33+0100\n"
"PO-Revision-Date: 2010-01-23 11:56+0100\n"
"Last-Translator: Elián Hanisch <lambdae2@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5185,6 +5185,10 @@ msgstr "lista de buffers con registro"
msgid "WeeChat version"
msgstr "versión de WeeChat"
#, fuzzy
msgid "WeeChat version (as number)"
msgstr "versión de WeeChat"
msgid "WeeChat compilation date"
msgstr "fecha de compilación de WeeChat"
+5 -2
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.2-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2010-02-09 16:35+0100\n"
"PO-Revision-Date: 2010-02-09 16:36+0100\n"
"POT-Creation-Date: 2010-02-10 10:33+0100\n"
"PO-Revision-Date: 2010-02-10 10:33+0100\n"
"Last-Translator: FlashCode <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"MIME-Version: 1.0\n"
@@ -5227,6 +5227,9 @@ msgstr "liste des enregistreurs de tampons (loggers)"
msgid "WeeChat version"
msgstr "version de WeeChat"
msgid "WeeChat version (as number)"
msgstr "version de WeeChat (sous forme de nombre)"
msgid "WeeChat compilation date"
msgstr "date de compilation de WeeChat"
+5 -1
View File
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.2-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2010-02-09 16:35+0100\n"
"POT-Creation-Date: 2010-02-10 10:33+0100\n"
"PO-Revision-Date: 2010-01-23 11:57+0100\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -4971,6 +4971,10 @@ msgstr "a pufferek időbélyege"
msgid "WeeChat version"
msgstr "WeeChat szlogen"
#, fuzzy
msgid "WeeChat version (as number)"
msgstr "WeeChat szlogen"
#, fuzzy
msgid "WeeChat compilation date"
msgstr "Konfigurációs fájl elmentve\n"
+5 -1
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Weechat 0.3.2-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2010-02-09 16:35+0100\n"
"POT-Creation-Date: 2010-02-10 10:33+0100\n"
"PO-Revision-Date: 2010-01-23 11:57+0100\n"
"Last-Translator: Marco Paolone <marcopaolone@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -5178,6 +5178,10 @@ msgstr "elenco dei buffer logger"
msgid "WeeChat version"
msgstr "versione di WeeChat"
#, fuzzy
msgid "WeeChat version (as number)"
msgstr "versione di WeeChat"
msgid "WeeChat compilation date"
msgstr "data di compilazione di WeeChat"
+5 -1
View File
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.2-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2010-02-09 16:35+0100\n"
"POT-Creation-Date: 2010-02-10 10:33+0100\n"
"PO-Revision-Date: 2010-01-23 11:57+0100\n"
"Last-Translator: Krzysztof Koroscik <soltys@szluug.org>\n"
"Language-Team: Polish\n"
@@ -5152,6 +5152,10 @@ msgstr "lista logowanych buforów"
msgid "WeeChat version"
msgstr "wersja WeeChat"
#, fuzzy
msgid "WeeChat version (as number)"
msgstr "wersja WeeChat"
msgid "WeeChat compilation date"
msgstr "data kompilacji WeeChat"
+5 -1
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.2-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2010-02-09 16:35+0100\n"
"POT-Creation-Date: 2010-02-10 10:33+0100\n"
"PO-Revision-Date: 2010-01-23 11:57+0100\n"
"Last-Translator: Pavel Shevchuk <stlwrt@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -4975,6 +4975,10 @@ msgstr "время в буферах"
msgid "WeeChat version"
msgstr "слоган WeeChat"
#, fuzzy
msgid "WeeChat version (as number)"
msgstr "слоган WeeChat"
#, fuzzy
msgid "WeeChat compilation date"
msgstr "Конфигурационный файл сохранён\n"
+4 -1
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2010-02-09 16:35+0100\n"
"POT-Creation-Date: 2010-02-10 10:33+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -4306,6 +4306,9 @@ msgstr ""
msgid "WeeChat version"
msgstr ""
msgid "WeeChat version (as number)"
msgstr ""
msgid "WeeChat compilation date"
msgstr ""
+59
View File
@@ -38,6 +38,7 @@
#include "wee-util.h"
#include "wee-config.h"
#include "wee-string.h"
#include "wee-utf8.h"
/*
@@ -408,3 +409,61 @@ util_file_get_content (const char *filename)
return buffer;
}
/*
* util_version_number: get version number (integer) with version as string
* (non-digit chars like "-dev" are ignored)
* for example:
* "0.3.2-dev" ==> 197120 (== 0x00030200)
* "0.3.2" ==> 197120 (== 0x00030200)
* "0.3.1.1" ==> 196865 (== 0x00030101)
* "0.3.1" ==> 196864 (== 0x00030100)
* "0.3.0" ==> 196608 (== 0x00030000)
*/
int
util_version_number (const char *version)
{
char **items, buf[64], *ptr_item, *error;
int num_items, i, version_int[4], index_buf;
long number;
items = string_split (version, ".", 0, 4, &num_items);
for (i = 0; i < 4; i++)
{
version_int[i] = 0;
if (items && (i < num_items))
{
ptr_item = items[i];
index_buf = 0;
while (ptr_item && ptr_item[0] && (index_buf < (int)sizeof (buf) - 1))
{
if (isdigit (ptr_item[0]))
{
buf[index_buf] = ptr_item[0];
index_buf++;
}
ptr_item = utf8_next_char (ptr_item);
}
buf[index_buf] = '\0';
if (buf[0])
{
error = NULL;
number = strtol (buf, &error, 10);
if (error && !error[0])
{
if (number < 0)
number = 0;
else if (number > 0xFF)
number = 0xFF;
version_int[i] = number;
}
}
}
}
if (items)
string_free_split (items);
return (version_int[0] << 24) | (version_int[1] << 16)
| (version_int[2] << 8) | version_int[3];
}
+1
View File
@@ -36,4 +36,5 @@ extern void util_exec_on_files (const char *directory, int hidden_files,
extern char *util_search_full_lib_name (const char *filename,
const char *sys_directory);
extern char *util_file_get_content (const char *filename);
extern int util_version_number (const char *version);
#endif /* wee-util.h */
+14 -2
View File
@@ -38,6 +38,7 @@
#include "../core/wee-infolist.h"
#include "../core/wee-input.h"
#include "../core/wee-string.h"
#include "../core/wee-util.h"
#include "../gui/gui-bar.h"
#include "../gui/gui-bar-item.h"
#include "../gui/gui-bar-window.h"
@@ -258,7 +259,7 @@ plugin_api_info_get_internal (void *data, const char *info_name,
const char *arguments)
{
time_t inactivity;
static char value[32];
static char value[32], version_number[32] = { '\0' };
/* make C compiler happy */
(void) data;
@@ -271,7 +272,16 @@ plugin_api_info_get_internal (void *data, const char *info_name,
{
return PACKAGE_VERSION;
}
if (string_strcasecmp (info_name, "date") == 0)
else if (string_strcasecmp (info_name, "version_number") == 0)
{
if (!version_number[0])
{
snprintf (version_number, sizeof (version_number), "%d",
util_version_number (PACKAGE_VERSION));
}
return version_number;
}
else if (string_strcasecmp (info_name, "date") == 0)
{
return __DATE__;
}
@@ -920,6 +930,8 @@ plugin_api_init ()
/* WeeChat core info hooks */
hook_info (NULL, "version", N_("WeeChat version"),
&plugin_api_info_get_internal, NULL);
hook_info (NULL, "version_number", N_("WeeChat version (as number)"),
&plugin_api_info_get_internal, NULL);
hook_info (NULL, "date", N_("WeeChat compilation date"),
&plugin_api_info_get_internal, NULL);
hook_info (NULL, "dir_separator", N_("directory separator"),