Index: trunk/src/actions.c =================================================================== --- trunk/src/actions.c (revision 17646) +++ trunk/src/actions.c (revision 17647) @@ -511,11 +511,11 @@ ARG_CONV_CASE_INVALID(tmp, conv_err) } arg->type = FGW_KEYWORD; - arg->val.nat_keyword = tmp; + fgw_keyword(arg) = tmp; return 0; } if (arg->type == FGW_KEYWORD) { /* convert from keyword */ - long tmp = arg->val.nat_keyword; + long tmp = fgw_keyword(arg); switch(target) { ARG_CONV_CASE_LONG(tmp, conv_rev_assign) ARG_CONV_CASE_LLONG(tmp, conv_rev_assign) Index: trunk/src/actions.h =================================================================== --- trunk/src/actions.h (revision 17646) +++ trunk/src/actions.h (revision 17647) @@ -19,7 +19,7 @@ FGW_LAYERID_, FGW_LAYER_ } pcb_fgw_types_e; -#define nat_keyword nat_int +#define fgw_keyword(arg) ((arg)->val.nat_int) #define fgw_coord(arg) (*(pcb_coord_t *)(&((arg)->val.custom.c))) #define fgw_layerid(arg) ((arg)->val.nat_long) #define fgw_layer(arg) ((arg)->val.ptr_void) Index: trunk/src/buffer.c =================================================================== --- trunk/src/buffer.c (revision 17646) +++ trunk/src/buffer.c (revision 17647) @@ -788,7 +788,7 @@ PCB_ACT_CONVARG(1, FGW_STR, PasteBuffer, tmp = argv[1].val.str); number = atoi(tmp); - PCB_ACT_CONVARG(1, FGW_KEYWORD, PasteBuffer, op = argv[1].val.nat_keyword); + PCB_ACT_CONVARG(1, FGW_KEYWORD, PasteBuffer, op = fgw_keyword(&argv[1])); PCB_ACT_MAY_CONVARG(2, FGW_STR, PasteBuffer, sbufnum = argv[2].val.str); PCB_ACT_MAY_CONVARG(3, FGW_STR, PasteBuffer, fmt = argv[3].val.str); PCB_ACT_MAY_CONVARG(4, FGW_STR, PasteBuffer, forces = argv[4].val.str); Index: trunk/src/file_act.c =================================================================== --- trunk/src/file_act.c (revision 17646) +++ trunk/src/file_act.c (revision 17647) @@ -93,7 +93,7 @@ const char *name, *format = NULL; int op; - PCB_ACT_CONVARG(1, FGW_KEYWORD, LoadFrom, op = argv[1].val.nat_keyword); + PCB_ACT_CONVARG(1, FGW_KEYWORD, LoadFrom, op = fgw_keyword(&argv[1])); PCB_ACT_CONVARG(2, FGW_STR, LoadFrom, name = argv[2].val.str); PCB_ACT_MAY_CONVARG(3, FGW_STR, LoadFrom, format = argv[3].val.str); @@ -244,7 +244,7 @@ const char *name = NULL; const char *fmt = NULL; - PCB_ACT_CONVARG(1, FGW_KEYWORD, SaveTo, op = argv[1].val.nat_keyword); + PCB_ACT_CONVARG(1, FGW_KEYWORD, SaveTo, op = fgw_keyword(&argv[1])); PCB_ACT_MAY_CONVARG(2, FGW_STR, SaveTo, name = argv[2].val.str); PCB_ACT_MAY_CONVARG(3, FGW_STR, SaveTo, fmt = argv[3].val.str); PCB_ACT_IRES(0); Index: trunk/src/gui_act.c =================================================================== --- trunk/src/gui_act.c (revision 17646) +++ trunk/src/gui_act.c (revision 17647) @@ -231,7 +231,7 @@ int err = 0; PCB_ACT_IRES(0); - PCB_ACT_CONVARG(1, FGW_KEYWORD, Display, id = argv[1].val.nat_keyword); + PCB_ACT_CONVARG(1, FGW_KEYWORD, Display, id = fgw_keyword(&argv[1])); PCB_ACT_MAY_CONVARG(2, FGW_STR, Display, str_dir = argv[2].val.str); if (id == F_SubcID) { /* change the displayed name of subcircuits */ @@ -567,7 +567,7 @@ pcb_tool_note.X = pcb_crosshair.X; pcb_tool_note.Y = pcb_crosshair.Y; pcb_notify_crosshair_change(pcb_false); - switch (argv[1].val.nat_keyword) { + switch(fgw_keyword(&argv[1])) { case F_Arc: pcb_tool_select_by_id(PCB_MODE_ARC); break; @@ -883,7 +883,7 @@ int id = -2; PCB_ACT_IRES(0); - PCB_ACT_MAY_CONVARG(1, FGW_KEYWORD, Display, id = argv[1].val.nat_keyword); + PCB_ACT_MAY_CONVARG(1, FGW_KEYWORD, Display, id = fgw_keyword(&argv[1])); if (id == -1) { /* invalid */ PCB_ACT_FAIL(MarkCrosshair); @@ -1160,7 +1160,7 @@ static fgw_error_t pcb_act_FullScreen(fgw_arg_t *res, int argc, fgw_arg_t *argv) { int id = -2; - PCB_ACT_MAY_CONVARG(1, FGW_KEYWORD, FullScreen, id = argv[1].val.nat_keyword); + PCB_ACT_MAY_CONVARG(1, FGW_KEYWORD, FullScreen, id = fgw_keyword(&argv[1])); PCB_ACT_IRES(0); switch(id) { Index: trunk/src/object_act.c =================================================================== --- trunk/src/object_act.c (revision 17646) +++ trunk/src/object_act.c (revision 17647) @@ -75,7 +75,7 @@ const char *layername; char *buf; - PCB_ACT_CONVARG(1, FGW_KEYWORD, Attributes, id = argv[1].val.nat_keyword); + PCB_ACT_CONVARG(1, FGW_KEYWORD, Attributes, id = fgw_keyword(&argv[1])); PCB_ACT_MAY_CONVARG(1, FGW_STR, Attributes, layername = argv[1].val.str); PCB_ACT_IRES(0); @@ -231,7 +231,7 @@ pcb_coord_t minx = GAP, miny = GAP, maxy = GAP, dx, dy; int all = 0, id; - PCB_ACT_CONVARG(1, FGW_KEYWORD, DisperseElements, id = argv[1].val.nat_keyword); + PCB_ACT_CONVARG(1, FGW_KEYWORD, DisperseElements, id = fgw_keyword(&argv[1])); PCB_ACT_IRES(0); switch(id) { @@ -289,7 +289,7 @@ int id; void *ptrtmp; - PCB_ACT_CONVARG(1, FGW_KEYWORD, Flip, id = argv[1].val.nat_keyword); + PCB_ACT_CONVARG(1, FGW_KEYWORD, Flip, id = fgw_keyword(&argv[1])); PCB_ACT_IRES(0); pcb_hid_get_coords("Click on Object or Flip Point", &x, &y); @@ -386,7 +386,7 @@ { int id; - PCB_ACT_CONVARG(1, FGW_KEYWORD, MoveToCurrentLayer, id = argv[1].val.nat_keyword); + PCB_ACT_CONVARG(1, FGW_KEYWORD, MoveToCurrentLayer, id = fgw_keyword(&argv[1])); PCB_ACT_IRES(0); switch(id) { Index: trunk/src/rats_act.c =================================================================== --- trunk/src/rats_act.c (revision 17646) +++ trunk/src/rats_act.c (revision 17647) @@ -82,7 +82,7 @@ pcb_rat_t *shorty; float len, small; - PCB_ACT_CONVARG(1, FGW_KEYWORD, AddRats, op = argv[1].val.nat_keyword); + PCB_ACT_CONVARG(1, FGW_KEYWORD, AddRats, op = fgw_keyword(&argv[1])); if (conf_core.temp.rat_warn) pcb_clear_warnings(); @@ -159,7 +159,7 @@ { int op; - PCB_ACT_CONVARG(1, FGW_KEYWORD, Connection, op = argv[1].val.nat_keyword); + PCB_ACT_CONVARG(1, FGW_KEYWORD, Connection, op = fgw_keyword(&argv[1])); switch(op) { case F_Find: @@ -213,7 +213,7 @@ { int op; - PCB_ACT_CONVARG(1, FGW_KEYWORD, DeleteRats, op = argv[1].val.nat_keyword); + PCB_ACT_CONVARG(1, FGW_KEYWORD, DeleteRats, op = fgw_keyword(&argv[1])); if (conf_core.temp.rat_warn) pcb_clear_warnings(); Index: trunk/src/undo_act.c =================================================================== --- trunk/src/undo_act.c (revision 17646) +++ trunk/src/undo_act.c (revision 17647) @@ -92,7 +92,7 @@ fgw_error_t pcb_act_Atomic(fgw_arg_t *res, int argc, fgw_arg_t *argv) { int op; - PCB_ACT_CONVARG(1, FGW_KEYWORD, Atomic, op = argv[1].val.nat_keyword); + PCB_ACT_CONVARG(1, FGW_KEYWORD, Atomic, op = fgw_keyword(&argv[1])); switch (op) { case F_Save: