Merge commit 'origin/stable'
[pspp-builds.git] / src / language / data-io / data-parser.c
index 6ec3d0d50bc94e258d44306d25d1157483f73c70..020f8e4c7e5a20a0caabc4add9f228f98937d1b6 100644 (file)
@@ -485,7 +485,8 @@ cut_field (const struct data_parser *parser, struct dfm_reader *reader,
       /* Regular field. */
       ss_get_chars (&p, ss_cspan (p, ds_ss (&parser->any_sep)), field);
       *last_column = dfm_column_start (reader);
-      if (!ss_ltrim (&p, parser->soft_seps) || ss_is_empty (p))
+      if (!ss_ltrim (&p, parser->soft_seps) || ss_is_empty (p)
+          || ss_find_char (parser->hard_seps, p.string[0]) != SIZE_MAX)
         {
           /* Advance past a trailing hard separator,
              regardless of whether one actually existed.  If