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);