From PlcWiki
* $Log: iniparser.cpp,v $
* Revision 1.11 2010/03/29 14:18:23 dsmid
* Added dot notation:
* with .....:
* means chop four segments from current prefix (four levels down), the first dot means 'current prefix'.
*
* Revision 1.10 2010/03/25 16:03:01 dsmid
* Mapping directives can be now added directly to primary config:
* #map key.translate.* = value
* Such directive affects only subsequent content.
*
* New mapping directive .rename= allows to rename key prefixes:
* #map old.key.prefix.rename = new.key.prefix
* Applied on all keys starting with "old.key.prefix"
*
* New construct 'with key.prefix:' allows to write more readable configs:
* with my.key.prefix:
* .subkey1 = value1
* .subkey2 = value2
*
* Equivalent of:
* my.key.prefix.subkey1 = value1
* my.key.prefix.subkey2 = value2
*
* Indentation is optional, isn't required.
*
* Revision 1.9 2010/03/24 15:15:10 dsmid
* Enabled relative include paths
*
* Revision 1.8 2010/03/24 13:03:44 dsmid
* Added support for addon config files.
* First, files with the same path as the original file + ".add*" are read in alphabetical order.
* Then any non-hidden files in directory <original file path>.d/ are read in alphabetical order.
*
* Revision 1.7 2007/11/13 07:20:14 dsmid
* Pridan zapis .+ - Pouzij mapping pouze tehdy, je-li puvodni hodnota promenne neprazdna.
*
* Revision 1.6 2007/11/02 14:41:55 dsmid
* Opravena chyba, zapis bez .* uz funguje
*
* Revision 1.5 2007/11/02 14:21:39 dsmid
* Je mozny i zapis:
* klic.translate = newvalue #premapovani omezeno na dany klic, pro vsechny jeho hodnoty
*
* Pribyla moznost nahrazeni regularniho vyrazu:
*
* klic.pattern = [.]
* klic.replace = _ # pokud jsou nalezeny v hodnote klice znaky '.', jsou nahrazeny podtrzitkem
*
* klic.pattern = ^(/usr/.*)$
* klic.replace = /tmp$1 # pokud hodnota zacina na /usr/, prida se na jeji zacatek /tmp
*
* Revision 1.4 2007/11/02 09:50:32 dsmid
* Pridana moznost premapovani hodnot konfiguracnich nastaveni bez specifikace puvodni hodnoty.
* Syntax:
* klic.translate.* = newvalue #premapovani omezeno na dany klic, pro vsechny jeho hodnoty
*
* Revision 1.3 2007/11/02 08:15:34 dsmid
* Pridana moznost premapovani hodnot konfiguracnich nastaveni na jine, iniparser hleda mapu pro premapovani v souboru "jmeno_konfiguraku.map".
* Syntax:
* klic.translate.value = newvalue #premapovani omezeno na dany klic
* translate.value = newvalue #globalni premapovani hodnoty