+ assert (format->type < FMT_NUMBER_OF_FORMATS);
+ return false;
+ }
+}
+
+static bool
+parse_column__ (struct lexer *lexer, bool negative, int base, int *column)
+{
+ assert (base == 0 || base == 1);
+
+ if (!lex_force_int (lexer))
+ return false;
+ long int value = lex_integer (lexer);
+ if (negative)
+ value = -value;
+ lex_get (lexer);
+
+ *column = value - base + 1;
+ if (*column < 1)
+ {
+ if (base == 1)
+ lex_next_error (lexer, -1, -1,
+ _("Column positions for fields must be positive."));
+ else
+ lex_next_error (lexer, -1, -1,
+ _("Column positions for fields must not be negative."));