82 begin->type = cfg_get_line_type(line); |
82 begin->type = cfg_get_line_type(line); |
83 switch(begin->type) { |
83 switch(begin->type) { |
84 case LINE_BEGIN_TAG: { |
84 case LINE_BEGIN_TAG: { |
85 ConfigTag *tag = cfg_parse_begin_tag(line, conf->parser.mp); |
85 ConfigTag *tag = cfg_parse_begin_tag(line, conf->parser.mp); |
86 if(tag == NULL) { |
86 if(tag == NULL) { |
87 fprintf(stderr, "Parse error!\n"); |
87 log_ereport(LOG_FAILURE, "Parse error in %s", conf->file); |
88 exit(-1); // TODO: better error handling |
88 exit(-1); // TODO: better error handling |
89 } |
89 } |
90 tag->begin = begin; |
90 tag->begin = begin; |
91 tag->end = end; |
91 tag->end = end; |
92 tag->type_num = cfg_get_tag_type(tag->name); |
92 tag->type_num = cfg_get_tag_type(tag->name); |
190 // TODO |
190 // TODO |
191 |
191 |
192 break; |
192 break; |
193 } |
193 } |
194 default: { |
194 default: { |
195 printf("unknown tag\n"); |
195 log_ereport(LOG_FAILURE, "objconf: unknown tag"); |
196 return 1; |
196 return 1; |
197 } |
197 } |
198 } |
198 } |
199 |
199 |
200 return 0; |
200 return 0; |
201 } |
201 } |
202 |
202 |
203 int objconf_on_end_tag(ObjectConfig *conf, sstr_t tagname) { |
203 int objconf_on_end_tag(ObjectConfig *conf, sstr_t tagname) { |
204 int type = cfg_get_tag_type(tagname); |
204 int type = cfg_get_tag_type(tagname); |
205 if(type == -1) { |
205 if(type == -1) { |
206 fprintf(stderr, "unknown tag\n"); |
206 log_ereport(LOG_FAILURE, "objconf: unknown tag"); |
207 return 1; |
207 return 1; |
208 } else { |
208 } else { |
209 if(type == TAG_OBJECT) { |
209 if(type == TAG_OBJECT) { |
210 conf->obj = NULL; |
210 conf->obj = NULL; |
211 } |
211 } |