1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-26 04:46:37 +02:00

Mask allowed with /unset command (for mass-reset options) (task #6085)

This commit is contained in:
Sebastien Helleu
2008-05-07 15:27:19 +02:00
parent f71c190a97
commit 238c6bf5c2
11 changed files with 247 additions and 121 deletions
+1 -1
View File
@@ -9,7 +9,7 @@ Version 0.2.7 (under dev!):
* removed key functions, replaced by /input command
* fixed bug with alias, use current buffer to run commands (bug #22876)
* new names for config files (*.conf instead of *.rc)
* improved /set command, new command /unset
* improved /set command, new command /unset (task #6085)
* added new type of buffer, with free content
* added tags for lines and custom filtering by tags or regex (task #7674)
* added custom bars, with custom items
+18 -9
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.2.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2008-05-07 14:31+0200\n"
"POT-Creation-Date: 2008-05-07 15:25+0200\n"
"PO-Revision-Date: 2007-09-06 12:44+0200\n"
"Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -550,21 +550,21 @@ msgid "Option changed"
msgstr "není na kanále"
#, fuzzy, c-format
msgid "%sOption \"%s\" not found"
msgstr "%s plugin \"%s\" nenalezen\n"
msgid "%sFailed to unset option \"%s\""
msgstr "%s selhalo uložení nastavení pluginů\n"
#, fuzzy
msgid "Option reset: "
msgstr "Možnosti pluginů uloženy\n"
#, fuzzy
msgid "Option reset"
msgstr "Možnosti pluginů uloženy\n"
#, fuzzy, c-format
msgid "Option \"%s\" removed"
msgid "Option removed: %s"
msgstr "není na kanále"
#, c-format
msgid "%d option(s) reset, %d option(s) removed"
msgstr ""
#, c-format
msgid "WeeChat uptime: %d %s %02d:%02d:%02d, started on %s"
msgstr "Čas běhu WeeChat: %d %s %02d:%02d:%02d, spuštěn %s"
@@ -866,7 +866,8 @@ msgid "[option]"
msgstr "[příkaz]"
msgid ""
"option: name of an option\n"
"option: name of an option (may begin or end with \"*\" to mass-reset "
"options, use carefully!)\n"
"\n"
"According to option, it's reset (for standard options) or removed (for "
"optional settings, like server values)."
@@ -4541,6 +4542,14 @@ msgstr "%s DCC: nemohu nastavit 'neblokovaci' volbu na soket\n"
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s chybí argument pro volbu \"%s\"\n"
#, fuzzy
#~ msgid "%sOption \"%s\" not found"
#~ msgstr "%s plugin \"%s\" nenalezen\n"
#, fuzzy
#~ msgid "Option reset"
#~ msgstr "Možnosti pluginů uloženy\n"
#, fuzzy
#~ msgid "background color for selected line"
#~ msgstr "barva pro vstupní text"
+18 -9
View File
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.2.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2008-05-07 14:31+0200\n"
"POT-Creation-Date: 2008-05-07 15:25+0200\n"
"PO-Revision-Date: 2007-09-06 12:44+0200\n"
"Last-Translator: Thomas Schuetz <i18n@internet-villa.de>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -556,21 +556,21 @@ msgid "Option changed"
msgstr "Sie sind nicht im Channel"
#, fuzzy, c-format
msgid "%sOption \"%s\" not found"
msgstr "%s Plugin \"%s\" nicht gefunden\n"
msgid "%sFailed to unset option \"%s\""
msgstr "%s konnte die Plugin-Konfigurationsdatei nicht sichern\n"
#, fuzzy
msgid "Option reset: "
msgstr "Plugin-Optionen gesichert\n"
#, fuzzy
msgid "Option reset"
msgstr "Plugin-Optionen gesichert\n"
#, fuzzy, c-format
msgid "Option \"%s\" removed"
msgid "Option removed: %s"
msgstr "Sie sind nicht im Channel"
#, c-format
msgid "%d option(s) reset, %d option(s) removed"
msgstr ""
#, c-format
msgid "WeeChat uptime: %d %s %02d:%02d:%02d, started on %s"
msgstr "WeeChat Uptime: %d %s %02d:%02d:%02d, gestartet am %s"
@@ -860,7 +860,8 @@ msgid "[option]"
msgstr "[Befehl]"
msgid ""
"option: name of an option\n"
"option: name of an option (may begin or end with \"*\" to mass-reset "
"options, use carefully!)\n"
"\n"
"According to option, it's reset (for standard options) or removed (for "
"optional settings, like server values)."
@@ -4530,6 +4531,14 @@ msgstr "%s DCC: kann die 'nonblock'-Option für den Socket nicht festlegen\n"
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s fehlende Argumente für die \"--dir\"-Option\n"
#, fuzzy
#~ msgid "%sOption \"%s\" not found"
#~ msgstr "%s Plugin \"%s\" nicht gefunden\n"
#, fuzzy
#~ msgid "Option reset"
#~ msgstr "Plugin-Optionen gesichert\n"
#, fuzzy
#~ msgid "background color for selected line"
#~ msgstr "Farbe der Eingabezeile"
+18 -9
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.2.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2008-05-07 14:31+0200\n"
"POT-Creation-Date: 2008-05-07 15:25+0200\n"
"PO-Revision-Date: 2007-09-19 12:09+0200\n"
"Last-Translator: Roberto González Cardenete <robert.glez@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -551,21 +551,21 @@ msgid "Option changed"
msgstr "no presente en el canal"
#, fuzzy, c-format
msgid "%sOption \"%s\" not found"
msgstr "%s plugin \"%s\" no encontrado\n"
msgid "%sFailed to unset option \"%s\""
msgstr "%s falló al salvar el archivo de configuración\n"
#, fuzzy
msgid "Option reset: "
msgstr "opción/opciones de plugin encontrada(s)\n"
#, fuzzy
msgid "Option reset"
msgstr "opción/opciones de plugin encontrada(s)\n"
#, fuzzy, c-format
msgid "Option \"%s\" removed"
msgid "Option removed: %s"
msgstr "no presente en el canal"
#, c-format
msgid "%d option(s) reset, %d option(s) removed"
msgstr ""
#, c-format
msgid "WeeChat uptime: %d %s %02d:%02d:%02d, started on %s"
msgstr "Tiempo de uso de WeeChat: %d %s %02d:%02d:%02d, empezó en %s"
@@ -842,7 +842,8 @@ msgid "[option]"
msgstr "[comando]"
msgid ""
"option: name of an option\n"
"option: name of an option (may begin or end with \"*\" to mass-reset "
"options, use carefully!)\n"
"\n"
"According to option, it's reset (for standard options) or removed (for "
"optional settings, like server values)."
@@ -4539,6 +4540,14 @@ msgstr "%s no es posible crear el servidor\n"
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s falta un argumento para la opción --dir\n"
#, fuzzy
#~ msgid "%sOption \"%s\" not found"
#~ msgstr "%s plugin \"%s\" no encontrado\n"
#, fuzzy
#~ msgid "Option reset"
#~ msgstr "opción/opciones de plugin encontrada(s)\n"
#, fuzzy
#~ msgid "background color for selected line"
#~ msgstr "color para el texto de entrada"
+22 -14
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.2.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2008-05-07 14:31+0200\n"
"PO-Revision-Date: 2008-05-07 14:31+0200\n"
"POT-Creation-Date: 2008-05-07 15:25+0200\n"
"PO-Revision-Date: 2008-05-07 15:26+0200\n"
"Last-Translator: FlashCode <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"MIME-Version: 1.0\n"
@@ -504,18 +504,19 @@ msgid "Option changed"
msgstr "Option modifiée"
#, c-format
msgid "%sOption \"%s\" not found"
msgstr "%sOption \"%s\" non trouvée"
msgid "%sFailed to unset option \"%s\""
msgstr "%sImpossible de supprimer/réinitialiser l'option \"%s\""
msgid "Option reset: "
msgstr "Option réinitialisée: "
msgid "Option reset"
msgstr "Option réinitialisée"
#, c-format
msgid "Option removed: %s"
msgstr "Option supprimée: %s"
#, c-format
msgid "Option \"%s\" removed"
msgstr "Option \"%s\" supprimée"
msgid "%d option(s) reset, %d option(s) removed"
msgstr "%d option(s) réinitialisée(s), %d option(s) supprimée(s)"
#, c-format
msgid "WeeChat uptime: %d %s %02d:%02d:%02d, started on %s"
@@ -857,16 +858,15 @@ msgid "[option]"
msgstr "[option]"
msgid ""
"option: name of an option\n"
"option: name of an option (may begin or end with \"*\" to mass-reset "
"options, use carefully!)\n"
"\n"
"According to option, it's reset (for standard options) or removed (for "
"optional settings, like server values)."
msgstr ""
"option: nom d'une option\n"
"option: nom d'une option (peut commencer ou se terminer par \"*\" pour réinitialiser plusieurs options, à utiliser avec prudence !)\n"
"\n"
"Selon l'option, elle est réinitialisée (pour les options standards) ou "
"supprimée (pour les options facultatives, comme les valeurs pour les "
"serveurs)."
"Selon l'option, elle est réinitialisée (pour les options standards) ou supprimée (pour les options facultatives, comme les valeurs pour les serveurs)."
msgid "upgrade WeeChat without disconnecting from servers"
msgstr "mettre à jour WeeChat sans se déconnecter des serveurs"
@@ -4397,7 +4397,9 @@ msgstr ""
"l'utilisateur)"
msgid "use remote nick as prefix in local filename when receiving a file"
msgstr "utiliser le pseudo distant comme préfixe dans le nom de fichier local lors de la réception d'un fichier"
msgstr ""
"utiliser le pseudo distant comme préfixe dans le nom de fichier local lors "
"de la réception d'un fichier"
msgid "convert spaces to underscores when sending files"
msgstr "convertir les espaces en underscores lors d'envoi de fichiers"
@@ -4466,5 +4468,11 @@ msgstr "%s%s: impossible de positionner l'option \"nonblock\" pour la socket"
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s%s: délai d'attente dépassé pour \"%s\" avec %s"
#~ msgid "%sOption \"%s\" not found"
#~ msgstr "%sOption \"%s\" non trouvée"
#~ msgid "Option reset"
#~ msgstr "Option réinitialisée"
#~ msgid "background color for selected line"
#~ msgstr "couleur du fond pour la ligne sélectionnée"
+18 -9
View File
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.2.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2008-05-07 14:31+0200\n"
"POT-Creation-Date: 2008-05-07 15:25+0200\n"
"PO-Revision-Date: 2007-10-10 18:07+0200\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -555,21 +555,21 @@ msgid "Option changed"
msgstr "nincs a szobában"
#, fuzzy, c-format
msgid "%sOption \"%s\" not found"
msgstr "%s a \"%s\" modul nem található\n"
msgid "%sFailed to unset option \"%s\""
msgstr "%s nem sikerült a modul opciókat elmenteni\n"
#, fuzzy
msgid "Option reset: "
msgstr "Modul beállítások elmentve\n"
#, fuzzy
msgid "Option reset"
msgstr "Modul beállítások elmentve\n"
#, fuzzy, c-format
msgid "Option \"%s\" removed"
msgid "Option removed: %s"
msgstr "nincs a szobában"
#, c-format
msgid "%d option(s) reset, %d option(s) removed"
msgstr ""
#, c-format
msgid "WeeChat uptime: %d %s %02d:%02d:%02d, started on %s"
msgstr "WeeChat futásidő: %d %s %02d:%02d:%02d, elindítva: %s"
@@ -872,7 +872,8 @@ msgid "[option]"
msgstr "[parancs]"
msgid ""
"option: name of an option\n"
"option: name of an option (may begin or end with \"*\" to mass-reset "
"options, use carefully!)\n"
"\n"
"According to option, it's reset (for standard options) or removed (for "
"optional settings, like server values)."
@@ -4545,6 +4546,14 @@ msgstr "%s DCC: nem sikerült 'nonblock' opciót beállítani a csatornán\n"
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s hiányzó argumentum a(z) \"%s\" opciónak\n"
#, fuzzy
#~ msgid "%sOption \"%s\" not found"
#~ msgstr "%s a \"%s\" modul nem található\n"
#, fuzzy
#~ msgid "Option reset"
#~ msgstr "Modul beállítások elmentve\n"
#, fuzzy
#~ msgid "background color for selected line"
#~ msgstr "szövegbeviteli mező színe"
+18 -9
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.2.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2008-05-07 14:31+0200\n"
"POT-Creation-Date: 2008-05-07 15:25+0200\n"
"PO-Revision-Date: 2007-09-06 12:44+0200\n"
"Last-Translator: Pavel Shevchuk <stlwrt@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -552,21 +552,21 @@ msgid "Option changed"
msgstr "не на канале"
#, fuzzy, c-format
msgid "%sOption \"%s\" not found"
msgstr "%s plugin \"%s\" не найден\n"
msgid "%sFailed to unset option \"%s\""
msgstr "%s не могу сохранить конфигурационный файл pluginов\n"
#, fuzzy
msgid "Option reset: "
msgstr "Настройки pluginов сохранены\n"
#, fuzzy
msgid "Option reset"
msgstr "Настройки pluginов сохранены\n"
#, fuzzy, c-format
msgid "Option \"%s\" removed"
msgid "Option removed: %s"
msgstr "не на канале"
#, c-format
msgid "%d option(s) reset, %d option(s) removed"
msgstr ""
#, c-format
msgid "WeeChat uptime: %d %s %02d:%02d:%02d, started on %s"
msgstr "WeeChat работает: %d %s %02d:%02d:%02d, запущен %s"
@@ -869,7 +869,8 @@ msgid "[option]"
msgstr "[команда]"
msgid ""
"option: name of an option\n"
"option: name of an option (may begin or end with \"*\" to mass-reset "
"options, use carefully!)\n"
"\n"
"According to option, it's reset (for standard options) or removed (for "
"optional settings, like server values)."
@@ -4530,6 +4531,14 @@ msgstr "%s DCC: не могу установить неблокирующий р
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s нет аргумента для параметра \"%s\"\n"
#, fuzzy
#~ msgid "%sOption \"%s\" not found"
#~ msgstr "%s plugin \"%s\" не найден\n"
#, fuzzy
#~ msgid "Option reset"
#~ msgstr "Настройки pluginов сохранены\n"
#, fuzzy
#~ msgid "background color for selected line"
#~ msgstr "цвет вводимого текста"
+7 -5
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: 2008-05-07 14:31+0200\n"
"POT-Creation-Date: 2008-05-07 15:25+0200\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"
@@ -483,17 +483,18 @@ msgid "Option changed"
msgstr ""
#, c-format
msgid "%sOption \"%s\" not found"
msgid "%sFailed to unset option \"%s\""
msgstr ""
msgid "Option reset: "
msgstr ""
msgid "Option reset"
#, c-format
msgid "Option removed: %s"
msgstr ""
#, c-format
msgid "Option \"%s\" removed"
msgid "%d option(s) reset, %d option(s) removed"
msgstr ""
#, c-format
@@ -729,7 +730,8 @@ msgid "[option]"
msgstr ""
msgid ""
"option: name of an option\n"
"option: name of an option (may begin or end with \"*\" to mass-reset "
"options, use carefully!)\n"
"\n"
"According to option, it's reset (for standard options) or removed (for "
"optional settings, like server values)."
+67 -23
View File
@@ -1906,10 +1906,10 @@ int
command_set_display_option_list (char *message, char *search)
{
int number_found, section_displayed, length;
char *option_full_name;
struct t_config_file *ptr_config;
struct t_config_section *ptr_section;
struct t_config_option *ptr_option;
char *option_full_name;
number_found = 0;
@@ -1934,7 +1934,7 @@ command_set_display_option_list (char *message, char *search)
ptr_config->name, ptr_section->name,
ptr_option->name);
if ((!search) ||
(search && search[0] && option_full_name
(search && search[0]
&& (string_match (option_full_name, search, 0))))
{
if (!section_displayed)
@@ -2065,36 +2065,79 @@ int
command_unset (void *data, struct t_gui_buffer *buffer,
int argc, char **argv, char **argv_eol)
{
struct t_config_option *ptr_option;
struct t_config_file *ptr_config;
struct t_config_section *ptr_section;
struct t_config_option *ptr_option, *next_option;
char *option_full_name;
int length, number_reset, number_removed;
/* make C compiler happy */
(void) data;
(void) buffer;
(void) argv;
number_reset = 0;
number_removed = 0;
if (argc >= 2)
{
switch (config_file_unset_with_string (argv_eol[1]))
for (ptr_config = config_files; ptr_config;
ptr_config = ptr_config->next_config)
{
case 0:
gui_chat_printf (NULL, _("%sOption \"%s\" not found"),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR],
argv_eol[1]);
break;
case 1:
config_file_search_with_string (argv[1], NULL, NULL,
&ptr_option, NULL);
if (ptr_option)
command_set_display_option (ptr_option,
_("Option reset: "));
else
gui_chat_printf (NULL, _("Option reset"));
break;
case 2:
gui_chat_printf (NULL, _("Option \"%s\" removed"),
argv_eol[1]);
break;
for (ptr_section = ptr_config->sections; ptr_section;
ptr_section = ptr_section->next_section)
{
ptr_option = ptr_section->options;
while (ptr_option)
{
next_option = ptr_option->next_option;
length = strlen (ptr_config->name) + 1
+ strlen (ptr_section->name) + 1
+ strlen (ptr_option->name) + 1;
option_full_name = malloc (length);
if (option_full_name)
{
snprintf (option_full_name, length, "%s.%s.%s",
ptr_config->name, ptr_section->name,
ptr_option->name);
if (string_match (option_full_name, argv_eol[1], 0))
{
switch (config_file_option_unset (ptr_option))
{
case -1: /* error */
gui_chat_printf (NULL,
_("%sFailed to unset "
"option \"%s\""),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR],
option_full_name);
break;
case 0: /* unset not needed on this option */
break;
case 1: /* option reset */
command_set_display_option (ptr_option,
_("Option reset: "));
number_reset++;
break;
case 2: /* option removed */
gui_chat_printf (NULL,
_("Option removed: %s"),
option_full_name);
number_removed++;
break;
}
}
free (option_full_name);
}
ptr_option = next_option;
}
}
}
gui_chat_printf (NULL,
_("%d option(s) reset, %d option(s) removed"),
number_reset,
number_removed);
}
return WEECHAT_RC_OK;
@@ -2720,7 +2763,8 @@ command_init ()
hook_command (NULL, "unset",
N_("unset/reset config options"),
N_("[option]"),
N_("option: name of an option\n\n"
N_("option: name of an option (may begin or end with \"*\" "
"to mass-reset options, use carefully!)\n\n"
"According to option, it's reset (for standard options) "
"or removed (for optional settings, like server values)."),
"%o",
+58 -32
View File
@@ -839,7 +839,7 @@ config_file_option_reset (struct t_config_option *option, int run_callback)
}
}
return 0;
return rc;
}
/*
@@ -1089,6 +1089,53 @@ config_file_option_set (struct t_config_option *option, char *value,
return rc;
}
/*
* config_file_option_unset: unset/reset option
* return: -1 if failed
* 0 if reset not needed
* 1 if option reset
* 2 if option removed
*/
int
config_file_option_unset (struct t_config_option *option)
{
int rc;
rc = 0;
if (option->section && option->section->user_can_delete_options)
{
/* delete option */
if (option->callback_delete)
{
(void)(option->callback_delete)
(option->callback_delete_data,
option);
}
config_file_option_free (option);
rc = 2;
}
else
{
/* reset value */
switch (config_file_option_reset (option, 1))
{
case 0:
rc = -1;
break;
case 1:
rc = 0;
break;
case 2:
rc = 1;
break;
}
}
return rc;
}
/*
* config_file_option_rename: rename an option
*/
@@ -1205,46 +1252,25 @@ config_file_option_set_with_string (char *option_name, char *value)
}
/*
* config_file_unset_with_string: unset/reset option
* return: 0 if failed
* 1 if option reset
* 2 if option removed
* config_file_option_unset_with_string: unset/reset option
* return: -1 if failed
* 0 if reset not needed
* 1 if option reset
* 2 if option removed
*/
int
config_file_unset_with_string (char *option_name)
config_file_option_unset_with_string (char *option_name)
{
struct t_config_section *ptr_section;
struct t_config_option *ptr_option;
int rc;
rc = 0;
rc = -1;
config_file_search_with_string (option_name, NULL, &ptr_section,
&ptr_option, NULL);
config_file_search_with_string (option_name, NULL, NULL, &ptr_option, NULL);
/* delete option */
if (ptr_section && ptr_option)
{
if (ptr_section->user_can_delete_options)
{
/* removing option */
if (ptr_option->callback_delete)
{
(void)(ptr_option->callback_delete)
(ptr_option->callback_delete_data,
ptr_option);
}
config_file_option_free (ptr_option);
rc = 2;
}
else
{
/* reset value */
config_file_option_reset (ptr_option, 1);
rc = 1;
}
}
if (ptr_option)
rc = config_file_option_unset (ptr_option);
return rc;
}
+2 -1
View File
@@ -203,12 +203,13 @@ extern int config_file_option_reset (struct t_config_option *option,
int run_callback);
extern int config_file_option_set (struct t_config_option *option,
char *value, int run_callback);
extern int config_file_option_unset (struct t_config_option *option);
extern void config_file_option_rename (struct t_config_option *option,
char *new_name);
extern void *config_file_option_get_pointer (struct t_config_option *option,
char *property);
extern int config_file_option_set_with_string (char *option_name, char *value);
extern int config_file_unset_with_string (char *option_name);
extern int config_file_option_unset_with_string (char *option_name);
extern int config_file_option_boolean (struct t_config_option *option);
extern int config_file_option_integer (struct t_config_option *option);
extern char *config_file_option_string (struct t_config_option *option);