Lines Matching defs:parse_info
159 static DBParseInfo parse_info;
168 bzero(&parse_info, sizeof(DBParseInfo));
169 parse_info.buf = Xmalloc(BUFSIZE);
170 parse_info.bufMaxSize = BUFSIZE;
174 ptr = parse_info.buf;
175 size = parse_info.bufMaxSize;
176 bzero(&parse_info, sizeof(DBParseInfo));
177 parse_info.buf = ptr;
178 parse_info.bufMaxSize = size;
187 parse_info.pre_state = S_NULL;
188 if (parse_info.category != NULL) {
189 Xfree(parse_info.category);
191 for (i = 0; i <= parse_info.nest_depth; ++i) {
192 if (parse_info.name[i]) {
193 Xfree(parse_info.name[i]);
196 if (parse_info.value) {
197 if (*parse_info.value) {
198 Xfree(*parse_info.value);
200 Xfree(parse_info.value);
202 ptr = parse_info.buf;
203 size = parse_info.bufMaxSize;
204 bzero(&parse_info, sizeof(DBParseInfo));
205 parse_info.buf = ptr;
206 parse_info.bufMaxSize = size;
214 int newsize = BUFSIZE * ((parse_info.bufsize + len)/BUFSIZE + 1);
216 p = Xrealloc(parse_info.buf, newsize);
219 parse_info.bufMaxSize = newsize;
220 parse_info.buf = p;
468 char **value_list = parse_info.value;
470 int value_num = parse_info.value_num;
471 int value_len = parse_info.value_len;
472 char *str = parse_info.buf;
473 int len = parse_info.bufsize;
526 parse_info.value = value_list;
527 parse_info.value_num = value_num + 1;
528 parse_info.value_len = value_len + len + 1;
529 parse_info.bufsize = 0;
540 parse_info.value = (char **)NULL;
541 parse_info.value_num = 0;
542 parse_info.value_len = 0;
543 parse_info.bufsize = 0;
556 for (i = 0; i <= parse_info.nest_depth; ++i) {
557 len = (int) ((size_t) len + (strlen(parse_info.name[i]) + 1));
562 strcpy(p, parse_info.name[0]);
563 p += strlen(parse_info.name[0]);
564 for (i = 1; i <= parse_info.nest_depth; ++i) {
566 strcpy(p, parse_info.name[i]);
567 p += strlen(parse_info.name[i]);
579 if (parse_info.pre_state == S_VALUE) {
585 if (parse_info.name[parse_info.nest_depth] == NULL) {
594 new->category = strdup(parse_info.category);
607 new->value = parse_info.value;
608 new->value_num = parse_info.value_num;
611 Xfree(parse_info.name[parse_info.nest_depth]);
612 parse_info.name[parse_info.nest_depth] = NULL;
614 parse_info.value = (char **)NULL;
615 parse_info.value_num = 0;
616 parse_info.value_len = 0;
630 if (parse_info.value) {
631 if (*parse_info.value) {
632 Xfree(*parse_info.value);
634 Xfree((char **)parse_info.value);
635 parse_info.value = (char **)NULL;
636 parse_info.value_num = 0;
637 parse_info.value_len = 0;
661 len = (int) strlen(parse_info.category);
662 if (strncmp(p, parse_info.category, (size_t) len)) {
677 switch (parse_info.pre_state) {
686 parse_info.pre_state = S_CATEGORY;
731 switch (parse_info.pre_state) {
739 parse_info.pre_state = S_VALUE;
753 switch (parse_info.pre_state) {
759 if (parse_info.name[parse_info.nest_depth] == NULL
760 || parse_info.nest_depth + 1 > MAX_NAME_NEST)
762 ++parse_info.nest_depth;
763 parse_info.pre_state = S_CATEGORY;
777 if (parse_info.nest_depth < 1)
780 switch (parse_info.pre_state) {
789 if (parse_info.name[parse_info.nest_depth] != NULL) {
790 Xfree(parse_info.name[parse_info.nest_depth]);
791 parse_info.name[parse_info.nest_depth] = NULL;
793 --parse_info.nest_depth;
794 parse_info.pre_state = S_CATEGORY;
820 switch (parse_info.pre_state) {
829 if ((parse_info.bufsize + (int)strlen(wordp) + 1)
830 >= parse_info.bufMaxSize) {
835 strcpy(&parse_info.buf[parse_info.bufsize], wordp);
836 parse_info.bufsize = (int) ((size_t) parse_info.bufsize + strlen(wordp));
837 parse_info.pre_state = S_VALUE;
880 switch (parse_info.pre_state) {
891 if ((parse_info.bufsize + token_len + (int)strlen(wordp) + 1)
892 >= parse_info.bufMaxSize) {
896 strncpy(&parse_info.buf[parse_info.bufsize], str, (size_t) token_len);
897 strcpy(&parse_info.buf[parse_info.bufsize + token_len], wordp);
898 parse_info.bufsize = (int) ((size_t) parse_info.bufsize + ((size_t) token_len + strlen(wordp)));
899 parse_info.pre_state = S_VALUE;
935 switch (parse_info.pre_state) {
937 if (parse_info.category != NULL)
942 parse_info.category = p;
943 parse_info.pre_state = S_CATEGORY;
946 if (parse_info.nest_depth == 0) {
958 if (parse_info.name[parse_info.nest_depth] != NULL) {
959 Xfree(parse_info.name[parse_info.nest_depth]);
961 parse_info.name[parse_info.nest_depth] = p;
962 parse_info.pre_state = S_NAME;
966 if ((parse_info.bufsize + (int)strlen(wordp) + 1)
967 >= parse_info.bufMaxSize) {
971 strcpy(&parse_info.buf[parse_info.bufsize], wordp);
972 parse_info.bufsize = (int) ((size_t) parse_info.bufsize + strlen(wordp));
973 parse_info.pre_state = S_VALUE;
1131 if (parse_info.pre_state != S_NULL) {