Werner Almesberger
4c86cc1b46
eeshow/: missing components are no longer fatal
2016-08-12 14:43:29 -03:00
Werner Almesberger
5a7ddc8b95
eeshow/: convert "perror" to diagnostic functions
2016-08-12 14:43:28 -03:00
Werner Almesberger
62ca12c2da
eeshow/: use dedicated functions for diagnostics, instead of fprintf and exit
2016-08-12 10:40:55 -03:00
Werner Almesberger
82635e8a41
eeshow/sch-parse.c (parse_line): use sub-sheet name as title, instead of title
...
In Anelok, all sheets have the same title, but different sub-sheet names.
So this is probably a more reliable heuristic.
2016-08-11 02:49:40 -03:00
Werner Almesberger
7cc2142e83
eeshow/sch-parse.c: remove #include left over from debugging
2016-08-11 02:44:33 -03:00
Werner Almesberger
08de2f7b4b
eeshow/sch.h (sch_obj_glabel): indicate global labels (in data) more clearly
2016-08-10 20:49:01 -03:00
Werner Almesberger
9524447bf1
eeshow/sch.h (struct sheet.parent): remove; we can just record it locally
2016-08-10 19:41:17 -03:00
Werner Almesberger
8f352832e0
eeshow/: simple caching of sheets
...
We only reuse previous sheets if ...
- they have no sub-sheets, and
- all the libraries are identical.
This reduces the -N-150 time from 8.3 s (caching only libraries) to 4.3 s.
Since we only need to know whether there are sub-sheets, but not what
exactly they are, we can also partially undo the previous commit,
77c0e07590
2016-08-10 19:37:44 -03:00
Werner Almesberger
77c0e07590
aeeshow/sch.h, sch-parse.c: record subsheets in parent, for future caching
2016-08-10 16:33:40 -03:00
Werner Almesberger
13828eff94
eeshow/sch-parse.c (free_sheet): don't free recursively (caller frees all)
2016-08-08 23:44:27 -03:00
Werner Almesberger
f4944a5da9
eeshow/ (file_open, *_parse): return 0 on error (may still exit)
2016-08-05 21:02:57 -03:00
Werner Almesberger
e5f010797d
eeshow/sch-parse.c (parse_line): no longer use return code 0 for EOF
...
We'll soon use it to indicate a parsing problem.
2016-08-05 20:41:35 -03:00
Werner Almesberger
c54bf3de06
eeshow/sch-parse.c (sch_free): add cleanup of schematics data
2016-08-05 20:25:58 -03:00
Werner Almesberger
258876ef2c
eeshow/: retrieve title from *.sch; prefer over subsheet name when displaying
2016-08-04 08:42:36 -03:00
Werner Almesberger
95bc0f06fd
eeshow/sch.h, sch-parse.c: add pointer to sub-sheet to obj.u.sheet
2016-08-03 11:53:03 -03:00
Werner Almesberger
48327e149b
eeshow/sch.h, sch-parse.c, sch-render.c: rename obj.u.sheet to obj.u.name
2016-08-03 11:46:24 -03:00
Werner Almesberger
0d41488f93
eeshow/sch-parse.c (recurse_sheet): clean up handling of next_obj
2016-08-02 17:12:33 -03:00
Werner Almesberger
49a6ebd797
eeshow/: make libraries "related" to the [main] schematics sheet
...
That way, we can use relative paths on the command line, ideally just
./eeshow foo.lib bar.lib com/plex/path/foo.sch
2016-08-02 16:38:21 -03:00
Werner Almesberger
24522c45e0
eeshow/sch-parse.c (recurse_sheet): move parent/related logic to file.c
2016-08-02 16:27:08 -03:00
Werner Almesberger
6793f06aeb
eeshow/sch-parse.c, lib-parse.c: use file name and line number from "file"
2016-08-02 15:44:28 -03:00
Werner Almesberger
05af03a0fd
eeshow/: split file_read into open/read/close
...
This is to allow for a better implementation of "related" in the future.
2016-08-02 15:36:18 -03:00
Werner Almesberger
a941a5f246
rename sch2fig to eeshow
2016-08-02 11:00:08 -03:00