diff options
| author | Denys Vlasenko <vda.linux@googlemail.com> | 2010-10-17 12:44:39 +0200 |
|---|---|---|
| committer | Denys Vlasenko <vda.linux@googlemail.com> | 2010-10-17 12:44:39 +0200 |
| commit | 786635e62e4c8a8646d01ede1c7bb98ce604c7fa (patch) | |
| tree | 756b03831ca4ee0aea9e542217975eee46102a3e /coreutils | |
| parent | ad8def2d8ad980a5b759c32a220828ea1248e5b6 (diff) | |
| download | busybox-w32-786635e62e4c8a8646d01ede1c7bb98ce604c7fa.tar.gz busybox-w32-786635e62e4c8a8646d01ede1c7bb98ce604c7fa.tar.bz2 busybox-w32-786635e62e4c8a8646d01ede1c7bb98ce604c7fa.zip | |
seq: exit on write errors
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'coreutils')
| -rw-r--r-- | coreutils/seq.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/coreutils/seq.c b/coreutils/seq.c index 8be25360f..22bf3ec9d 100644 --- a/coreutils/seq.c +++ b/coreutils/seq.c | |||
| @@ -86,7 +86,8 @@ int seq_main(int argc, char **argv) | |||
| 86 | v = first; | 86 | v = first; |
| 87 | n = 0; | 87 | n = 0; |
| 88 | while (increment >= 0 ? v <= last : v >= last) { | 88 | while (increment >= 0 ? v <= last : v >= last) { |
| 89 | printf("%s%0*.*f", sep, width, frac_part, v); | 89 | if (printf("%s%0*.*f", sep, width, frac_part, v) < 0) |
| 90 | break; /* I/O error, bail out (yes, this really happens) */ | ||
| 90 | sep = opt_s; | 91 | sep = opt_s; |
| 91 | /* v += increment; - would accumulate floating point errors */ | 92 | /* v += increment; - would accumulate floating point errors */ |
| 92 | n++; | 93 | n++; |
