NAME
read_vector_from_config_file - Reads a vector from a config file
SYNOPSIS
#include "m/m_vec_io.h"
Example compile flags (system dependent):
-DLINUX_X86_64 -DLINUX_X86_64_OPTERON -DGNU_COMPILER
-I/home/kobus/include
-L/home/kobus/misc/load/linux_x86_64_opteron -L/usr/lib/x86_64-linux-gnu
-lKJB -lfftw3 -lgsl -lgslcblas -ljpeg -lSVM -lstdc++ -lpthread -lSLATEC -lg2c -lacml -lacml_mv -lblas -lg2c -lncursesw
int read_vector_from_config_file
(
Vector **result_vpp,
const char *env_var,
const char *directory,
const char *file_name,
const char *message_name,
char *config_file_name,
size_t config_file_name_size
);
PARAMETERS
-
Vector **result_vpp
-
Double pointer to Vector result.
-
const char *env_var
-
Config file name from environment.
-
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.
-
char *config_file_name
-
Name of actual config file found.
-
size_t config_file_name_size
-
Size of actual config file name.
DESCRIPTION
This routine reads a 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
config_file_name_size;
RETURNS
Either NO_ERROR, or ERROR, with an appropriate error message being set.
EXAMPLE
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.
./y
~/x/y
~iis/x/y
~kobus/x/y
The file name actually used is put into the buffer config_file_name whose
size must be passed in via max_len;
The vector *result_vpp 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_vpp is freed and set to NULL.
DISCLAIMER
This software is not adequatedly tested. It is recomended that
results are checked independantly where appropriate.
AUTHOR
Kobus Barnard
DOCUMENTER
Kobus Barnard
SEE ALSO
read_vector
,
fp_read_vector
,
fp_read_raw_vector
,
fp_read_vector_with_header
,
fp_read_ascii_vector
,
fp_ow_read_vector
,
write_row_vector
,
fp_write_row_vector
,
write_indexed_vector
,
fp_write_indexed_vector
,
write_col_vector
,
fp_write_col_vector
,
write_col_vector_with_header
,
fp_write_col_vector_with_header
,
write_raw_vector
,
fp_write_raw_vector
,
write_row_vector_full_precision
,
fp_write_row_vector_full_precision
,
write_col_vector_full_precision
,
fp_write_col_vector_full_precision
,
read_vector_vector_from_config_file
,
read_vector_vector
,
fp_read_vector_vector
,
fp_read_raw_vector_vector
,
fp_read_formatted_vector_vector
,
fp_write_vector_vector_with_title
,
write_vector_vector
,
fp_write_vector_vector
,
write_raw_vector_vector
,
fp_write_raw_vector_vector
,
fp_write_raw_vector_vector_header
,
write_vector_vector_full_precision
,
fp_write_vector_vector_full_precision