Index: read.c =================================================================== --- read.c (revision 28993) +++ read.c (revision 28994) @@ -51,6 +51,8 @@ #define ltrim(s) while(isspace(*s)) (s)++ +#include "../src_plugins/lib_compat_help/pstk_help.h" + typedef struct node_s node_t; typedef struct hkp_tree_s hkp_tree_t; Index: read_pstk.c =================================================================== --- read_pstk.c (revision 28993) +++ read_pstk.c (revision 28994) @@ -159,6 +159,21 @@ s->shp.data.poly.x[2] = ox + w/2; s->shp.data.poly.y[2] = oy + h/2; s->shp.data.poly.x[3] = ox + w/2; s->shp.data.poly.y[3] = oy - h/2; } + else if (strcmp(n->argv[0], "OBLONG") == 0) { + pcb_coord_t w, h; + SHAPE_CHECK_DUP; + tmp = find_nth(n->first_child, "WIDTH", 0); + if (parse_coord(ctx, tmp->argv[1], &w) != 0) { + hkp_error(tmp, "Invalid OBLONG WIDTH value '%s'\n", tmp->argv[1]); + return NULL; + } + tmp = find_nth(n->first_child, "HEIGHT", 0); + if (parse_coord(ctx, tmp->argv[1], &h) != 0) { + hkp_error(tmp, "Invalid OBLONG WIDTH value '%s'\n", tmp->argv[1]); + return NULL; + } + pcb_shape_oval(&(s->shp), w, h); + } } if (!has_shape) {