FreeCalypso > hg > ueda-linux
view ueda/mclutils/csvattr.c @ 144:ffadaa339478
protel-parts-condense misc utility written
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 20 Sep 2020 02:40:23 +0000 |
parents | 125fc4ef7eb0 |
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); }