Index: alien_formats/altium/pcbdoc_ascii.h =================================================================== --- alien_formats/altium/pcbdoc_ascii.h (revision 35511) +++ alien_formats/altium/pcbdoc_ascii.h (revision 35512) @@ -1,4 +1,11 @@ /* pcbdoc_ascii emulation */ + +typedef struct altium_block_s { + int link; /* in tree blocks */ + long size; /* allocated size of raw */ + char raw[1]; /* bytes read from the file */ +} altium_block_t; + typedef struct altium_field_s { int type; /* derived from ->key */ const char *key; @@ -14,3 +21,18 @@ int dummy; } altium_tree_t; + +#define gdl_append(l, a, b) + +static inline altium_record_t *pcbdoc_ascii_new_rec(altium_tree_t *tree, const char *type_s, int kw) +{ + printf("REC: %s/%d\n", type_s, kw); + return 0; +} + +static inline int pcbdoc_ascii_parse_fields(altium_tree_t *tree, altium_record_t *rec, const char *fn, long line, char **fields) +{ + printf(" ascii: %s", *fields); + (*fields) += strlen(*fields); + return 0; +} Index: alien_formats/altium/test.c =================================================================== --- alien_formats/altium/test.c (revision 35511) +++ alien_formats/altium/test.c (revision 35512) @@ -5,7 +5,7 @@ #include "pcbdoc_ascii.h" #include "pcbdoc_bin.h" -int pcbdoc_bin_parse_tracks6(rnd_hidlib_t *hidlib, altium_tree_t *tree, ucdf_file_t *fp, altium_buf_t *tmp); +int pcbdoc_bin_parse_nets6(rnd_hidlib_t *hidlib, altium_tree_t *tree, ucdf_file_t *fp, altium_buf_t *tmp); int main(int argc, char *argv[]) { @@ -22,7 +22,7 @@ exit(1); } - res = pcbdoc_bin_parse_tracks6(&hidlib, &tree, f, &tmp); + res = pcbdoc_bin_parse_nets6(&hidlib, &tree, f, &tmp); printf("res=%d @ %ld\n", res, ftell(f));