FreeCalypso > hg > ueda-linux
annotate ueda/libuschem/graphblocks.c @ 139:bf188727e606
donl-rename-parts reader: no tEDAx-style escapes
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Mon, 07 Sep 2020 04:25:11 +0000 | 
| parents | cd92449fdb51 | 
| children | 
| rev | line source | 
|---|---|
| 0 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 1 /* | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 2 * utility functions for working with graphical blocks | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 3 */ | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 4 | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 5 #include <sys/param.h> | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 6 #include <stdio.h> | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 7 #include "schemstruct.h" | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 8 | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 9 FILE * | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 10 reopen_schem_for_graphblocks(schem) | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 11 struct schem *schem; | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 12 { | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 13 register FILE *f; | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 14 | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 15 if (!schem->has_graphblocks) | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 16 return(NULL); | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 17 f = fopen(schem->orig_filename, "r"); | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 18 if (!f) { | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 19 fprintf(stderr, "Unable to reopen %s for graphblocks: ", | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 20 schem->orig_filename); | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 21 perror(NULL); | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 22 exit(1); | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 23 } | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 24 return(f); | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 25 } | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 26 | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 27 write_graphblock_to_file(blk, inf, outf) | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 28 struct graphblock *blk; | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 29 register FILE *inf, *outf; | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 30 { | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 31 char buf[512]; | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 32 register int cc, rem; | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 33 | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 34 fseek(inf, blk->offset, 0); | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 35 for (rem = blk->length; rem; rem -= cc) { | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 36 cc = MIN(rem, sizeof buf); | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 37 fread(buf, 1, cc, inf); | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 38 fwrite(buf, 1, cc, outf); | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 39 } | 
| 
cd92449fdb51
initial import of ueda and ifctf-part-lib from ifctfvax CVS
 Space Falcon <falcon@ivan.Harhan.ORG> parents: diff
changeset | 40 } | 
