Home | History | Annotate | Download | only in src

Lines Matching refs:info

14 	       const char *filename, void *parse_arg, parse_info_t ** info)
33 *info = tmp_info;
37 void parse_release(parse_info_t * info)
40 parse_close(info);
41 parse_dispose_line(info);
42 free(info);
45 int parse_open(semanage_handle_t * handle, parse_info_t * info)
48 info->file_stream = fopen(info->filename, "r");
49 if (!info->file_stream && (errno != ENOENT)) {
51 info->filename, strerror(errno));
54 if (info->file_stream)
55 __fsetlocking(info->file_stream, FSETLOCKING_BYCALLER);
60 void parse_close(parse_info_t * info)
63 if (info->file_stream)
64 fclose(info->file_stream);
65 info->file_stream = NULL;
68 void parse_dispose_line(parse_info_t * info)
70 if (info->orig_line) {
71 free(info->orig_line);
72 info->orig_line = NULL;
75 if (info->working_copy) {
76 free(info->working_copy);
77 info->working_copy = NULL;
80 info->ptr = NULL;
83 int parse_skip_space(semanage_handle_t * handle, parse_info_t * info)
88 int lineno = info->lineno;
92 if (info->ptr) {
93 while (*(info->ptr) && isspace(*(info->ptr)))
94 info->ptr++;
96 if (*(info->ptr))
100 parse_dispose_line(info);
102 while (info->file_stream &&
103 ((len = getline(&buffer, &buf_len, info->file_stream)) > 0)) {
121 info->lineno = lineno;
122 info->working_copy = buffer;
123 info->orig_line = tmp;
124 info->ptr = ptr;
141 int parse_assert_noeof(semanage_handle_t * handle, parse_info_t * info)
144 if (!info->ptr) {
146 info->filename, info->lineno);
153 int parse_assert_space(semanage_handle_t * handle, parse_info_t * info)
156 if (parse_assert_noeof(handle, info) < 0)
159 if (*(info->ptr) && !isspace(*(info->ptr))) {
161 info->filename, info->lineno, info->orig_line);
165 if (parse_skip_space(handle, info) < 0)
172 parse_info_t * info, const char ch)
175 if (parse_assert_noeof(handle, info) < 0)
178 if (*(info->ptr) != ch) {
180 "(%s: %u):\n%s", ch, *(info->ptr), info->filename,
181 info->lineno, info->orig_line);
185 info->ptr++;
191 parse_info_t * info, const char *assert_str)
196 if (parse_assert_noeof(handle, info) < 0)
199 if (strncmp(info->ptr, assert_str, len)) {
201 "(%s: %u):\n%s", assert_str, info->ptr,
202 info->filename, info->lineno, info->orig_line);
207 info->ptr += len;
211 int parse_optional_ch(parse_info_t * info, const char ch)
214 if (!info->ptr)
216 if (*(info->ptr) != ch)
219 info->ptr++;
223 int parse_optional_str(parse_info_t * info, const char *str)
227 if (strncmp(info->ptr, str, len))
230 info->ptr += len;
235 parse_info_t * info, int *num, char delim)
242 if (parse_fetch_string(handle, info, &str, delim) < 0)
247 info->filename, info->lineno, info->orig_line);
254 "(%s: %u)\n%s", str, info->filename,
255 info->lineno, info->orig_line);
270 parse_info_t * info, char **str, char delim)
273 char *start = info->ptr;
277 if (parse_assert_noeof(handle, info) < 0)
280 while (*(info->ptr) && !isspace(*(info->ptr)) &&
281 (*(info->ptr) != delim)) {
282 info->ptr++;
288 "find one (%s: %u):\n%s", info->filename, info->lineno,
289 info->orig_line);