Change log for confget, the configuration file variable extractor 2.2.0 2019/01/13 - add a Python implementation: a confget library that may also be invoked from the command line with the same inteface as the C confget tool - generate the TAP tests automatically from JSON definitions 2.1.1 2018/11/27 - fix the check for more than one requested query type 2.1.0 2017/11/11 - allow the installation commands to be overridden, e.g. for package builds which do not require root privileges - add "-q features" and "-q feature NAME" with only the "BASE" feature defined so far - support "--help" and "--version" 2.0.0 2016/04/03 INCOMPATIBLE CHANGES: - if a variable is specified more than once in the config file, only the *last* value will be displayed regardless of the presence or the order of the confget command-line options; previously, confget without -l would only display the first value - the configuration file is always parsed completely and any syntax errors will cause confget to fail even if they occur after the specification of the requested variables - confget now requires a C99 compiler to build. This is activated by the -std=c99 option passed to the compiler; to override this, set the STD_CFLAGS environment variable Other changes: - replace _BSD_SOURCE and _GNU_SOURCE with _POSIX_C_SOURCE and _XOPEN_SOURCE - install the test scripts themselves in addition to the test config files as examples - teach the manual page test about compressed manpage files - use linker flags for Large File Support, too, if provided - treat an empty section name (-s '') as requesting only variables declared before any section has been defined - remove an outdated -f option specification in the HTTP GET example in the manual page - clean up some of the use of the strcmp(3) function - clean up some internal error handling - remove the obsolete $Ringlet VCS tags from the source files - minimize the scope of some variables by using C99 declarations - add the -O (override) command-line option allowing variables in a certain section to override those in the unnamed section at the start of the config file 1.05 2013/11/03 - display the version string before the help if both requested - support building without a .depend file - use the C99 '%z' printf(3) format specifier and remove the less portable 'long long' casts - add 'const' qualifiers to lots of pointers - make makedep.sh honor CC and quote some expansions there - build with large file support under Linux by defining _FILE_OFFSET_BITS to be 64 1.04 2012/10/11 - detect automatically the "read-a-line" C library function (getline(3) or fgetln(3)) by trying to compile and link simple programs using either one - separate the C preprocessor flags from the C compiler flags: - honor CPPFLAGS if passed by a build system - rename the PCRE_CFLAGS variable to PCRE_CPPFLAGS, since that is what it actually is - pass CPPFLAGS instead of CFLAGS to makedep.sh and use them - stop misusing LFLAGS, use just LDFLAGS as we should - add the "-q sections" command-line option to list the names of the sections in an INI file - add the 10-qsections test for the above 1.03 2011/07/06 - support spaces in INI file section names, as suggested by green in Debian bug #632400 - do not make the compiler warnings fatal by default 1.02 2009/03/20 - do not fail the regexp tests if confget was compiled without regular expression support - explain the Config::IniFiles cross-reference in the manual page, as discussed with George Danchev on the debian-mentors mailing list - split the install target into separate targets for the various components of the program - add some comments to the t/t1.ini and t/t2.ini files, describing the structure of the INI files parsed by confget - install the t1.ini and t2.ini files as examples, as discussed with George Danchev on the debian-mentors mailing list 1.01 2008/11/06 - if '-' is specified for the configuration file name, read from the standard input stream - improve the general description of confget in the manual page - add an 'http_get' backend for decoding HTTP GET request variables - make the filename argument non-mandatory, since there are configuration types (e.g. http_get) that do not read their data from a file - completely drop the non-functional stub for a Java properties backend type 1.00 2008/10/16 - add the '-p prefix' and '-P postfix' command-line options - add the '-S' command-line flag so shell scripts may safely read individual variables or slurp the contents of whole sections - add regular expression support through the PCRE library and the '-x' command-line flag 0.03 2008/10/14 - avoid overlong strings in confget.c's usage() function - add sample high-warning-level compiler flags to the Makefile - protect argument names in the function declarations - do not use a generic name such as "fp" for a global variable - clear out the config file variable after closing the file - pull in the correct definition for strdup() 0.02 2008/10/14 - by default, use the binary files' group for the manpages, too - add support for different configuration file types - ini - the already-supported INI file backend - add the '-t type' and '-T' command-line options - add a trivial README file - add a simple TODO list - automatically track source dependencies - use fgetln(3) or getline(3) to read lines from a file - move more variable matching logic into foundvar() - fix a bug when parsing key/value lines without whitespace - add the -L command-line option to display all variables with names matching the specified pattern - mark some Makefile targets as phony - allow more than one variable or pattern to be specified on the command line - note that either -DHAVE_GETLINE or -DHAVE_FGETLN must be defined in the C compiler's flags at build time - make the section argument optional and let the first section in the INI file be used instead - add the -m command-line option to match the values against a pattern 0.01 2008/09/25 - Initial public release. Comments: Peter Pentchev