diff --git a/include/config.cpp b/include/config.cpp
index 9efec9f52..bdf6d46c5 100755
--- a/include/config.cpp
+++ b/include/config.cpp
@@ -228,7 +228,35 @@ long TConfig::get_long(
else
set(var, format("%ld", def), section, TRUE, index);
return def;
+
}
+// @mfunc Ritorna il valore della variabile nella sezione corrente o in
+// quella specificata
+//
+// @rdesc Ritorna il primo carattere della variabile, se questa esiste, altrimenti
+// il valore di default che dovrebbe assumere determinato dal parametro
+//
+char TConfig::get_char(
+ const char* var, // @parm Variabile della quale ritornare il valore
+ const char* section, // @parm Sezione della varaibile (default NULL)
+ int index, // @parm Eventuale indice della varaibailie (default -1)
+ char def) // @parm Valore default della varaibile (default ' ')
+
+ // @comm Passando
= 0 viene appeso al nome variabile per
+ // implementare un array.
+ // Il paragrafo passato in diventa quello attivo.
+ //
+ // @xref
+ //
+{
+ const char* n = get(var,section,index);
+ if (*n)
+ def = *n;
+ else
+ set(var, format("%c", def), section, TRUE, index);
+ return def;
+}
+
// @mfunc Ritorna il valore della variabile nella sezione corrente o in
// quella specificata
diff --git a/include/config.h b/include/config.h
index ac3196ce1..a690f0163 100755
--- a/include/config.h
+++ b/include/config.h
@@ -82,6 +82,10 @@ public:
// quella specificata (se la variabile contiene un long)
long get_long(const char* var, const char* section = NULL, int index = -1, long def = 0L);
+ // @cmember Ritorna il valore della variabile nella sezione corrente o in
+ // quella specificata (se la variabile contiene un long)
+ char get_char(const char* var, const char* section = NULL, int index = -1, char def = ' ' );
+
// @cmember Ritorna il valore della variabile nella sezione corrente o in
// quella specificata (se la variabile contiene un int)
int get_int(const char* var, const char* section = NULL, int index = -1, int def = 0);