string_get_real_line - Reads a line from a string ignoring blanks and comments
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 **buff_ptr,
This routine is analogous to get_real_line() except that the "stream" is
string in memory that is cut up into lines on successive calls until a null
terminator is reached. Unlike get_real_line(), there no concept of soft EOF.
More specifically, the line is extracted from the string
starting at the postion *buff_ptr which is set to the updated location beyond
what has been parsed.
If there are no more characters to be read, then EOF is returned. If the
buffer is not large enough, SET_BUFFER_OVERFLOW_BUG() is called, and
TRUNCATED is returned. Otherwise NO_ERROR is returned.
BUFF_STRING_GET_REAL_LINE(const char**, char line)
The max_len parameter is set to sizeof(line) with the appropriate cast.
Using sizeof to set the buffer size is recomended where applicable, as
the code will not be broken if the buffer size changes. HOWEVER, neither
this method, nor the macro, is applicable if line is NOT a character
array. If line is declared by "char* line", then the size of line is the
number of bytes in a character pointer (usually 4), which is NOT what is
normally intended. You have been WARNED!
This software is not adequatedly tested. It is recomended that
results are checked independantly where appropriate.