diff options
author | Jim Meyering <meyering@redhat.com> | 2008-02-18 18:38:52 +0100 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2008-02-18 18:38:52 +0100 |
commit | b8108fd2ddf77ae79cd014f4f37798a52be13fd1 (patch) | |
tree | afecf622f9597ddf86f256adfe7ce15f581ce631 /src | |
parent | 1d96b88c663881831438d9eceb7763a146d3ace3 (diff) | |
download | coreutils-b8108fd2ddf77ae79cd014f4f37798a52be13fd1.tar.xz |
seq: give a proper diagnostic for an invalid --format=% option
* src/seq.c (long_double_format): Handle '%' at end of string.
* tests/misc/seq [fmt-eos1, fmt-eos2]: New tests for the bug.
* NEWS: Mention this.
Reported by Pádraig Brady.
Diffstat (limited to 'src')
-rw-r--r-- | src/seq.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1,5 +1,5 @@ /* seq - print sequence of numbers to standard output. - Copyright (C) 1994-2007 Free Software Foundation, Inc. + Copyright (C) 1994-2008 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -209,7 +209,7 @@ long_double_format (char const *fmt, struct layout *layout) length_modifier_offset = i; has_L = (fmt[i] == 'L'); i += has_L; - if (! strchr ("efgaEFGA", fmt[i])) + if (fmt[i] == '\0' || ! strchr ("efgaEFGA", fmt[i])) return NULL; for (i++; ! (fmt[i] == '%' && fmt[i + 1] != '%'); i += (fmt[i] == '%') + 1) |