Index: file.c =================================================================== --- file.c (revision 36698) +++ file.c (revision 36699) @@ -327,8 +327,7 @@ static void WritePCBFontData_rnd(FILE * FP) { rnd_cardinal_t i, j; - pcb_font_t *font_ = pcb_font_old(PCB, 0, 1); - rnd_font_t *font = &font_->rnd_font; + rnd_font_t *font = pcb_font(PCB, 0, 1); int warned = 0; if (PCB->fontkit.fonts.used > 0) @@ -805,7 +804,6 @@ /*** functions for loading elements-as-pcb ***/ extern pcb_board_t *yyPCB; extern pcb_data_t *yyData; -extern pcb_font_t *yyFont; extern rnd_font_t *yyRndFont; extern int yyElemFixLayers; Index: parse_l.c =================================================================== --- parse_l.c (revision 36698) +++ parse_l.c (revision 36699) @@ -942,7 +942,6 @@ pcb_data_t * yyData; pcb_subc_t *yysubc; rnd_coord_t yysubc_ox, yysubc_oy; -pcb_font_t * yyFont; rnd_font_t * yyRndFont; rnd_conf_role_t yy_settings_dest; pcb_flag_t yy_pcb_flags; @@ -961,8 +960,8 @@ static int Parse(FILE *Pipe, const char *Executable, const char *Path, const char *Filename); +#line 964 "parse_l.c" #line 965 "parse_l.c" -#line 966 "parse_l.c" #define INITIAL 0 @@ -1179,10 +1178,10 @@ } { -#line 107 "parse_l.l" +#line 106 "parse_l.l" -#line 1186 "parse_l.c" +#line 1185 "parse_l.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -1251,227 +1250,227 @@ case 1: YY_RULE_SETUP -#line 109 "parse_l.l" +#line 108 "parse_l.l" { return(T_FILEVERSION); } YY_BREAK case 2: YY_RULE_SETUP -#line 110 "parse_l.l" +#line 109 "parse_l.l" { return(T_PCB); } YY_BREAK case 3: YY_RULE_SETUP -#line 111 "parse_l.l" +#line 110 "parse_l.l" { return(T_GRID); } YY_BREAK case 4: YY_RULE_SETUP -#line 112 "parse_l.l" +#line 111 "parse_l.l" { return(T_CURSOR); } YY_BREAK case 5: YY_RULE_SETUP -#line 113 "parse_l.l" +#line 112 "parse_l.l" { return(T_THERMAL); } YY_BREAK case 6: YY_RULE_SETUP -#line 114 "parse_l.l" +#line 113 "parse_l.l" { return(T_AREA); } YY_BREAK case 7: YY_RULE_SETUP -#line 115 "parse_l.l" +#line 114 "parse_l.l" { return(T_DRC); } YY_BREAK case 8: YY_RULE_SETUP -#line 116 "parse_l.l" +#line 115 "parse_l.l" { return(T_FLAGS); } YY_BREAK case 9: YY_RULE_SETUP -#line 117 "parse_l.l" +#line 116 "parse_l.l" { return(T_LAYER); } YY_BREAK case 10: YY_RULE_SETUP -#line 118 "parse_l.l" +#line 117 "parse_l.l" { return(T_PIN); } YY_BREAK case 11: YY_RULE_SETUP -#line 119 "parse_l.l" +#line 118 "parse_l.l" { return(T_PAD); } YY_BREAK case 12: YY_RULE_SETUP -#line 120 "parse_l.l" +#line 119 "parse_l.l" { return(T_VIA); } YY_BREAK case 13: YY_RULE_SETUP -#line 121 "parse_l.l" +#line 120 "parse_l.l" { return(T_LINE); } YY_BREAK case 14: YY_RULE_SETUP -#line 122 "parse_l.l" +#line 121 "parse_l.l" { return(T_RAT); } YY_BREAK case 15: YY_RULE_SETUP -#line 123 "parse_l.l" +#line 122 "parse_l.l" { return(T_RECTANGLE); } YY_BREAK case 16: YY_RULE_SETUP -#line 124 "parse_l.l" +#line 123 "parse_l.l" { return(T_TEXT); } YY_BREAK case 17: YY_RULE_SETUP -#line 125 "parse_l.l" +#line 124 "parse_l.l" { return(T_ELEMENTLINE); } YY_BREAK case 18: YY_RULE_SETUP -#line 126 "parse_l.l" +#line 125 "parse_l.l" { return(T_ELEMENTARC); } YY_BREAK case 19: YY_RULE_SETUP -#line 127 "parse_l.l" +#line 126 "parse_l.l" { return(T_ELEMENT); } YY_BREAK case 20: YY_RULE_SETUP -#line 128 "parse_l.l" +#line 127 "parse_l.l" { return(T_SYMBOLLINE); } YY_BREAK case 21: YY_RULE_SETUP -#line 129 "parse_l.l" +#line 128 "parse_l.l" { return(T_SYMBOL); } YY_BREAK case 22: YY_RULE_SETUP -#line 130 "parse_l.l" +#line 129 "parse_l.l" { return(T_MARK); } YY_BREAK case 23: YY_RULE_SETUP -#line 131 "parse_l.l" +#line 130 "parse_l.l" { return(T_GROUPS); } YY_BREAK case 24: YY_RULE_SETUP -#line 132 "parse_l.l" +#line 131 "parse_l.l" { return(T_STYLES); } YY_BREAK case 25: YY_RULE_SETUP -#line 133 "parse_l.l" +#line 132 "parse_l.l" { return(T_POLYGON); } YY_BREAK case 26: YY_RULE_SETUP -#line 134 "parse_l.l" +#line 133 "parse_l.l" { return(T_POLYGON_HOLE); } YY_BREAK case 27: YY_RULE_SETUP -#line 135 "parse_l.l" +#line 134 "parse_l.l" { return(T_ARC); } YY_BREAK case 28: YY_RULE_SETUP -#line 136 "parse_l.l" +#line 135 "parse_l.l" { return(T_NETLIST); } YY_BREAK case 29: YY_RULE_SETUP -#line 137 "parse_l.l" +#line 136 "parse_l.l" { return(T_NET); } YY_BREAK case 30: YY_RULE_SETUP -#line 138 "parse_l.l" +#line 137 "parse_l.l" { return(T_CONN); } YY_BREAK case 31: YY_RULE_SETUP -#line 139 "parse_l.l" +#line 138 "parse_l.l" { return(T_NETLISTPATCH); } YY_BREAK case 32: YY_RULE_SETUP -#line 140 "parse_l.l" +#line 139 "parse_l.l" { return(T_ADD_CONN); } YY_BREAK case 33: YY_RULE_SETUP -#line 141 "parse_l.l" +#line 140 "parse_l.l" { return(T_DEL_CONN); } YY_BREAK case 34: YY_RULE_SETUP -#line 142 "parse_l.l" +#line 141 "parse_l.l" { return(T_CHANGE_ATTRIB); } YY_BREAK case 35: YY_RULE_SETUP -#line 143 "parse_l.l" +#line 142 "parse_l.l" { return(T_ATTRIBUTE); } YY_BREAK case 36: YY_RULE_SETUP -#line 145 "parse_l.l" +#line 144 "parse_l.l" { return T_NM; } YY_BREAK case 37: YY_RULE_SETUP -#line 146 "parse_l.l" +#line 145 "parse_l.l" { return T_UM; } YY_BREAK case 38: YY_RULE_SETUP -#line 147 "parse_l.l" +#line 146 "parse_l.l" { return T_MM; } YY_BREAK case 39: YY_RULE_SETUP -#line 148 "parse_l.l" +#line 147 "parse_l.l" { return T_M; } YY_BREAK case 40: YY_RULE_SETUP -#line 149 "parse_l.l" +#line 148 "parse_l.l" { return T_KM; } YY_BREAK case 41: YY_RULE_SETUP -#line 150 "parse_l.l" +#line 149 "parse_l.l" { return T_UMIL; } YY_BREAK case 42: YY_RULE_SETUP -#line 151 "parse_l.l" +#line 150 "parse_l.l" { return T_CMIL; } YY_BREAK case 43: YY_RULE_SETUP -#line 152 "parse_l.l" +#line 151 "parse_l.l" { return T_MIL; } YY_BREAK case 44: YY_RULE_SETUP -#line 153 "parse_l.l" +#line 152 "parse_l.l" { return T_IN; } YY_BREAK case 45: YY_RULE_SETUP -#line 155 "parse_l.l" +#line 154 "parse_l.l" { pcb_lval.integer = (unsigned) *(yytext+1); return(CHAR_CONST); @@ -1479,17 +1478,17 @@ YY_BREAK case 46: YY_RULE_SETUP -#line 159 "parse_l.l" +#line 158 "parse_l.l" { return parse_number(); } YY_BREAK case 47: YY_RULE_SETUP -#line 160 "parse_l.l" +#line 159 "parse_l.l" { pcb_lval.integer = rnd_round(strtod (yytext, NULL)); return INTEGER; } YY_BREAK case 48: YY_RULE_SETUP -#line 162 "parse_l.l" +#line 161 "parse_l.l" { unsigned n; sscanf((char *) yytext, "%x", &n); pcb_lval.integer = n; @@ -1498,7 +1497,7 @@ YY_BREAK case 49: YY_RULE_SETUP -#line 167 "parse_l.l" +#line 166 "parse_l.l" { char *p1, *p2; @@ -1534,23 +1533,23 @@ YY_BREAK case 50: YY_RULE_SETUP -#line 199 "parse_l.l" +#line 198 "parse_l.l" { if (yy_parse_tags) { add_tag(yytext); }} YY_BREAK case 51: YY_RULE_SETUP -#line 200 "parse_l.l" +#line 199 "parse_l.l" {} YY_BREAK case 52: YY_RULE_SETUP -#line 201 "parse_l.l" +#line 200 "parse_l.l" {} YY_BREAK case 53: /* rule 53 can match eol */ YY_RULE_SETUP -#line 202 "parse_l.l" +#line 201 "parse_l.l" { #ifndef FLEX_SCANNER yylineno++; @@ -1559,20 +1558,20 @@ YY_BREAK case 54: YY_RULE_SETUP -#line 207 "parse_l.l" +#line 206 "parse_l.l" {} YY_BREAK case 55: YY_RULE_SETUP -#line 208 "parse_l.l" +#line 207 "parse_l.l" { return(*yytext); } YY_BREAK case 56: YY_RULE_SETUP -#line 210 "parse_l.l" +#line 209 "parse_l.l" ECHO; YY_BREAK -#line 1576 "parse_l.c" +#line 1575 "parse_l.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -2589,7 +2588,7 @@ #define YYTABLES_NAME "yytables" -#line 210 "parse_l.l" +#line 209 "parse_l.l" /* sets up the preprocessor command */ @@ -2708,8 +2707,7 @@ yyPCB = NULL; yyData = Ptr; pcb_data_set_layer_parents(Ptr); - yyFont = pcb_font_old(PCB, 0, 1); - yyRndFont = &yyFont->rnd_font; + yyRndFont = pcb_font(PCB, 0, 1); yyFontReset = rnd_false; yyFontkitValid = NULL; yysubc = NULL; @@ -2759,7 +2757,6 @@ yy_parse_tags = 0; yyPCB = Ptr; yyData = NULL; - yyFont = NULL; yyRndFont = NULL; yyFontReset = rnd_true; yyFontkitValid = NULL; @@ -2900,11 +2897,11 @@ *val = '\0'; val++; } - if (yyFont != NULL) { + if (yyRndFont != NULL) { /* printf("tag:%s=%s:\n", key,val); */ if (strcmp(key, "name") == 0) { - free(yyFont->rnd_font.name); - yyFont->rnd_font.name = rnd_strdup(val); + free(yyRndFont->name); + yyRndFont->name = rnd_strdup(val); } } } Index: parse_l.h =================================================================== --- parse_l.h (revision 36698) +++ parse_l.h (revision 36699) @@ -700,7 +700,7 @@ #undef yyTABLES_NAME #endif -#line 210 "parse_l.l" +#line 209 "parse_l.l" #line 707 "parse_l.h" Index: parse_l.l =================================================================== --- parse_l.l (revision 36698) +++ parse_l.l (revision 36699) @@ -73,7 +73,6 @@ pcb_data_t * yyData; pcb_subc_t *yysubc; rnd_coord_t yysubc_ox, yysubc_oy; -pcb_font_t * yyFont; rnd_font_t * yyRndFont; rnd_conf_role_t yy_settings_dest; pcb_flag_t yy_pcb_flags; @@ -325,8 +324,7 @@ yyPCB = NULL; yyData = Ptr; pcb_data_set_layer_parents(Ptr); - yyFont = pcb_font_old(PCB, 0, 1); - yyRndFont = &yyFont->rnd_font; + yyRndFont = pcb_font(PCB, 0, 1); yyFontReset = rnd_false; yyFontkitValid = NULL; yysubc = NULL; @@ -376,7 +374,6 @@ yy_parse_tags = 0; yyPCB = Ptr; yyData = NULL; - yyFont = NULL; yyRndFont = NULL; yyFontReset = rnd_true; yyFontkitValid = NULL; @@ -517,11 +514,11 @@ *val = '\0'; val++; } - if (yyFont != NULL) { + if (yyRndFont != NULL) { /* printf("tag:%s=%s:\n", key,val); */ if (strcmp(key, "name") == 0) { - free(yyFont->rnd_font.name); - yyFont->rnd_font.name = rnd_strdup(val); + free(yyRndFont->name); + yyRndFont->name = rnd_strdup(val); } } }