FreeCalypso > hg > ueda-linux
view ueda/mclutils/csvattr.c @ 131:125fc4ef7eb0
ueda-csvattr program written, compiles
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 31 Aug 2020 00:01:59 +0000 |
parents | |
children |
line wrap: on
line source
/* * This program generates a CSV output listing all components in their * MCL order and carrying a selected set of attributes as columns. */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <strings.h> #include <unistd.h> #include "../libueda/mcl.h" extern char *MCLfile; extern struct component components[]; extern int ncomponents; extern char *get_comp_attr(); main(argc, argv) char **argv; { extern int optind; register int c, ai; register struct component *comp; register char *attr; while ((c = getopt(argc, argv, "M:")) != EOF) switch (c) { case 'M': MCLfile = optarg; break; default: /* getopt prints the error message */ exit(1); } read_MCL(); /* emit CSV header */ fputs("Refdes", stdout); for (ai = optind; ai < argc; ai++) printf(",%s", argv[ai]); putchar('\n'); for (comp = components, c = 0; c < ncomponents; comp++, c++) { fputs(comp->name, stdout); for (ai = optind; ai < argc; ai++) { attr = get_comp_attr(comp, argv[ai]); if (!attr) attr = ""; printf(",%s", attr); } putchar('\n'); } exit(0); }