read_vector_vector_from_config_file - Reads a vector vector from a config file
Example compile flags (system dependent):
-DLINUX_X86_64 -DLINUX_X86_64_OPTERON -DGNU_COMPILER
-lKJB -lfftw3 -lgsl -lgslcblas -ljpeg -lSVM -lstdc++ -lpthread -lSLATEC -lg2c -lacml -lacml_mv -lblas -lg2c -lncursesw
const char *env_var,
const char *directory,
const char *file_name,
const char *message_name,
const char *env_var
Config file name from envirnonment.
const char *directory
Directory to scan for config file.
const char *file_name
Name of config file to search for.
const char *message_name
File name for error messages.
Name of actual config file found.
Size of actual config file name.
This routine reads a vector vector from a configuration file, checking
several possible locations for the file. If the parameter "env_var" is not
NULL, then it first tries using this string as the configuration file name.
Next it looks for "file_name" in the current directory, then the user's home
directory, and, depending on how the library was built, then the "shared"
home directory and/or the programmer's home directory. If "directory" is not
NULL, then it is used as a sub-directory in all paths starting from a home
directory (i.e., all paths except the current directory).
The parameter message_name can be used to specify a name for the
configuration file to be used in error and verbose output messages. If
message_name is NULL, then "configuration" is used.
If the buffer config_file_name is not NULL, then the file name actually used
is copied into it. If it is used, then its size must be passed in via
Either NO_ERROR, or ERROR, with an appropriate error message being set.
Suppose directory is "x" and file_name is "y". Also supposed that the
shared directory is "~iis" (compiled in constant) and the programmer's
directory is "~kobus" (another compiled in constant). Then the following
files are tried in the order listed.
The file name actually used is put into the buffer config_file_name whose
size must be passed in via max_len;
The vector vector *result_vvpp is created or resized as necessary.
If file_name is the special name "off" (or "none" or "0"), then the above
does not apply. In this case, *result_vvpp is freed and set to NULL.
This software is not adequatedly tested. It is recomended that
results are checked independantly where appropriate.