NAME

read_int_matrix_from_config_file - Reads an integer matrix from a config file

SYNOPSIS

#include "l/l_int_mat_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_int_matrix_from_config_file
(
	Int_matrix **result_mpp,
	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
);

DESCRIPTION

This routine reads an integer matrix 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 integer matrix *result_mpp 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_mpp is freed and set to NULL.

RELATED

get_config_file, kjb_get_error

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_int_matrix , fp_read_int_matrix , fp_read_raw_int_matrix , fp_read_int_matrix_from_matlab_file , fp_read_int_matrix_with_header , fp_read_formatted_int_matrix , read_int_matrix_by_rows , fp_read_int_matrix_by_rows , read_int_matrix_by_cols , fp_read_int_matrix_by_cols , fp_ow_read_formatted_int_matrix , fp_ow_read_int_matrix_by_rows , fp_ow_read_int_matrix_by_cols , fp_read_matrix_size_header , fp_write_int_matrix_with_title , write_int_matrix , fp_write_int_matrix , write_raw_int_matrix , fp_write_raw_int_matrix , write_int_matrix_rows , fp_write_int_matrix_rows , write_int_matrix_cols , fp_write_int_matrix_cols , write_int_matrix_with_header , fp_write_int_matrix_with_header , fp_write_matrix_size_header , write_int_matrix_to_matlab_file , fp_write_int_matrix_to_matlab_file