aboutsummaryrefslogtreecommitdiff
path: root/programs/src/kconfig/output.c
diff options
context:
space:
mode:
authorKarel Kočí <cynerd@email.cz>2015-01-14 12:39:50 +0100
committerKarel Kočí <cynerd@email.cz>2015-01-14 12:39:50 +0100
commitafeddb02f4482efce98a9a411c04d31daeb9aee4 (patch)
tree02353e650321f7115e3cb113681c8fef28833f05 /programs/src/kconfig/output.c
parent48a732fecf66799a4eba0194006f8726306d5e45 (diff)
downloadlinux-conf-perf-afeddb02f4482efce98a9a411c04d31daeb9aee4.tar.gz
linux-conf-perf-afeddb02f4482efce98a9a411c04d31daeb9aee4.tar.bz2
linux-conf-perf-afeddb02f4482efce98a9a411c04d31daeb9aee4.zip
Output folder added to kconfig_parser
Also kconfig folder in programs/src is renamed to kconfig_parser
Diffstat (limited to 'programs/src/kconfig/output.c')
-rw-r--r--programs/src/kconfig/output.c82
1 files changed, 0 insertions, 82 deletions
diff --git a/programs/src/kconfig/output.c b/programs/src/kconfig/output.c
deleted file mode 100644
index ed9daec..0000000
--- a/programs/src/kconfig/output.c
+++ /dev/null
@@ -1,82 +0,0 @@
-#include "output.h"
-
-void fprint_rules(struct symlist *sl) {
- FILE *f;
- f = fopen(RULES_FILE, "w");
- if (f == NULL) {
- fprintf(stderr, "Can't create file: %s\n", RULES_FILE);
- return;
- }
- int i;
- struct symlist_el *el;
- struct boolexp *be;
- struct boolexp **stack;
- size_t stack_size = 2, stack_pos = 0;
- int count_or, count_and;
- stack = malloc(stack_size * sizeof(struct boolexp *));
- for (i = 0; i < sl->pos; i++) {
- if (sl->array[i].be != NULL) {
- el = sl->array + i;
- be = el->be;
- stack_pos = 0;
- count_or = 0;
- count_and = 0;
- fprintf(f, "-%d ", el->id);
- while (be != NULL) {
- if (stack_pos >= stack_size) {
- stack_size *= 2;
- stack =
- realloc(stack,
- stack_size * sizeof(struct boolexp *));
- }
- switch (be->type) {
- case BE_NOT:
- fprintf(f, "-");
- be = be->left.be;
- break;
- case BE_AND:
- count_and++;
- stack[stack_pos++] = be->right.be;
- be = be->left.be;
- break;
- case BE_OR:
- count_or++;
- stack[stack_pos++] = be->right.be;
- be = be->left.be;
- break;
- case BE_LEAF:
- fprintf(f, "%d", be->left.id);
- if (count_or > 0) {
- fprintf(f, " ");
- count_or--;
- } else if (count_and > 0) {
- fprintf(f, "\n-%d ", el->id);
- count_and--;
- }
- if (stack_pos > 0)
- be = stack[--stack_pos];
- else
- be = NULL;
- break;
- }
- }
- fprintf(f, "\n");
- }
- }
- free(stack);
- fclose(f);
-}
-
-void fprint_linker(struct symlist *sl) {
- FILE *f;
- f = fopen(LINKER_FILE, "w");
- if (f == NULL) {
- fprintf(stderr, "Can't create file: %s\n", RULES_FILE);
- return;
- }
- int i;
- for (i = 0; i < sl->pos; i++) {
- fprintf(f, "%d:%s\n", sl->array[i].id, sl->array[i].name);
- }
- fclose(f);
-}