| version 1.1, 2001/10/03 19:12:04 |
version 1.2, 2001/10/23 00:05:18 |
|
|
| |
|
| static char *get_single_line_without_first_spaces(FILE *fp, char **gotstr, int *line); |
static int cfg_cfgfile_get_next_opt(const CFG_CONTEXT con); |
| static char *rm_first_spaces(char *ptr); |
/* static char *dynamic_fgets(FILE *fp); */ |
| static char *dynamic_fgets(FILE *fp); |
|
| |
|
| |
|
| /* -------------------------------------------------- |
static int cfg_cfgfile_get_next_opt(const CFG_CONTEXT con) { |
| NAME rm_first_spaces |
return 0; |
| FUNCTION remove lead-off spaces and tabs in the string |
|
| INPUT ptr ... pointer to string |
|
| OUTPUT new poniter after removing |
|
| -------------------------------------------------- */ |
|
| static char *rm_first_spaces(char *ptr) |
|
| { |
|
| while (*ptr == ' ' || *ptr == '\t') { |
|
| ptr++; |
|
| } |
|
| return (ptr); |
|
| } |
} |
| |
|
| |
/* |
| /* -------------------------------------------------- |
static char *dynamic_fgets(FILE *fp) { |
| NAME get_single_line_without_first_spaces |
|
| FUNCTION get a single line without lead-off spaces |
|
| and tabs from file |
|
| INPUT fp ....... file pointer |
|
| gotptr ... pointer stored got string |
|
| line ..... pointer to line number |
|
| OUTPUT new pointer after removing |
|
| -------------------------------------------------- */ |
|
| static char *get_single_line_without_first_spaces(FILE *fp, char **gotstr, int *line) |
|
| { |
|
| char *ptr; |
|
| |
|
| for (;;) { |
|
| if ((*gotstr = dynamic_fgets(fp)) == NULL) { |
|
| return (NULL); |
|
| } |
|
| (*line)++; |
|
| ptr = rm_first_spaces(*gotstr); |
|
| if (*ptr != '#' && *ptr != '\0') { |
|
| return (ptr); |
|
| } |
|
| free(*gotstr); |
|
| } |
|
| } |
|
| |
|
| |
|
| /* -------------------------------------------------- |
|
| NAME dynamic_fgets |
|
| FUNCTION fgets with dynamic allocated memory |
|
| INPUT fp ... file pointer |
|
| OUTPUT pointer to got strings |
|
| NULL on error |
|
| -------------------------------------------------- */ |
|
| static char *dynamic_fgets(FILE *fp) |
|
| { |
|
| char *ptr; |
char *ptr; |
| char temp[128]; |
char temp[128]; |
| int i; |
int i; |
| |
|
| ptr = malloc(1); |
ptr = malloc(1); |
| if (ptr == NULL) { |
if (ptr == NULL) |
| cfgFatalFunc(CFG_MEM_ALLOC_FAIL, "unknown", 0, ""); |
|
| return (NULL); |
return (NULL); |
| } |
|
| *ptr = '\0'; |
*ptr = '\0'; |
| for (i = 0;; i++) { |
for (i = 0;; i++) { |
| if (fgets(temp, 128, fp) == NULL) { |
if (fgets(temp, 128, fp) == NULL) { |
| Line 74 static char *dynamic_fgets(FILE *fp) |
|
| Line 27 static char *dynamic_fgets(FILE *fp) |
|
| return (ptr); |
return (ptr); |
| } |
} |
| ptr = realloc(ptr, 127 * (i + 1) + 1); |
ptr = realloc(ptr, 127 * (i + 1) + 1); |
| if (ptr == NULL) { |
if (ptr == NULL) |
| cfgFatalFunc(CFG_MEM_ALLOC_FAIL, "unknown", 0, ""); |
|
| return (NULL); |
return (NULL); |
| } |
|
| strcat(ptr, temp); |
strcat(ptr, temp); |
| if (strchr(temp, '\n') != NULL) { |
if (strchr(temp, '\n') != NULL) { |
| *strchr(ptr, '\n') = '\0'; |
*strchr(ptr, '\n') = '\0'; |
| Line 85 static char *dynamic_fgets(FILE *fp) |
|
| Line 37 static char *dynamic_fgets(FILE *fp) |
|
| } |
} |
| } |
} |
| } |
} |
| |
*/ |
| |
|