Index: ipcd356.c =================================================================== --- ipcd356.c (revision 16449) +++ ipcd356.c (revision 16450) @@ -65,7 +65,7 @@ { int n; line += start; - for(n = end-start; n > 0; n--) { + for(n = end-start; n >= 0; n--) { if (*line == ' ') break; *dst++ = *line++; @@ -91,7 +91,7 @@ if (!succ) return -1; if (is_mil) - d = d / 10; + d = d / 10.0; else d = d / 1000.0; *dst = pcb_round(d); @@ -151,8 +151,8 @@ pcb_message(PCB_MSG_WARNING, "Ignoring invalid test feautre in %s:%ld' - missing 'A' for access\n", fn, lineno); return -1; } - if (extract_int(&tf->side, line, 40, 41)) { - pcb_message(PCB_MSG_WARNING, "Ignoring invalid test feautre in %s:%ld' - invalid hole dimension\n", fn, lineno); + if (extract_int(&tf->side, line, 39, 40)) { + pcb_message(PCB_MSG_WARNING, "Ignoring invalid test feautre in %s:%ld' - invalid access side\n", fn, lineno); return -1; } if (line[41] != 'X') {