27#ifndef _ACF_UTILS_PARSER_FUNCS_H_
28#define _ACF_UTILS_PARSER_FUNCS_H_
36#ifndef _LACF_PARSER_FUNCS_INCLUDED
37#error "Don't include parser_funcs.h directly. Include acfutils/helpers.h"
52 size_t len = strlen(line);
55 for (p = line; *p != 0 && isspace(*p); p++)
58 memmove(line, p, (len + 1) - (p - line));
62 for (p = line + len - 1; p >= line && isspace(*p); p--)
71#if defined(ACFUTILS_BUILD) || defined(ACFUTILS_GZIP_PARSER)
74 unsigned *linenum, bool_t compressed)
85#if defined(ACFUTILS_BUILD) || defined(ACFUTILS_GZIP_PARSER)
94 hash = strchr(*linep,
'#');
100 len = strlen(*linep);
102 for (ssize_t i = 0; i < len; i++) {
103 if ((*linep)[i] ==
'\t')
147 size_t len = 0, cap = 0;
152 if (c ==
'\n' && linep != NULL)
154 }
while (isspace(c));
161 while ((c = fgetc(fp)) != EOF) {
168 }
else if (c ==
'n') {
170 }
else if (c ==
'r') {
172 }
else if (c ==
't') {
174 }
else if (c ==
'\r') {
177 if (c !=
'\n' && c != EOF)
182 }
else if (c ==
'\n') {
187 }
else if (c >=
'0' && c <=
'7') {
192 memset(num, 0,
sizeof (num));
194 for (
int i = 1; i < 3; i++) {
196 if (c <
'0' || c >
'7') {
202 VERIFY(sscanf(num,
"%o", &val) == 1);
static ssize_t lacf_getline_impl(char **line_p, size_t *cap_p, void *fp)
static void strip_space(char *line)
static char * parser_get_next_quoted_str2(FILE *fp, int *linep)
static ssize_t parser_get_next_line_impl(void *fp, char **linep, size_t *linecap, unsigned *linenum)
static void * safe_realloc(void *oldptr, size_t size)
static void * safe_calloc(size_t nmemb, size_t size)