Jim Meyering wrote: > Here's a tentative patch: > > diff --git a/src/truncate.c b/src/truncate.c > index 8febd58..52500d2 100644 > --- a/src/truncate.c > +++ b/src/truncate.c > @@ -74,10 +74,21 @@ static int > parse_len (char const *str, off_t *size) > { > enum strtol_error e; > - /* OFF_T_MAX = INTMAX_MAX */ > - e = xstrtoimax (str, NULL, 10, size, "EgGkKmMPtTYZ0"); > - errno = (e == LONGINT_OVERFLOW) ? EOVERFLOW : 0; > - return (e == LONGINT_OK) ? 0 : -1; > + intmax_t tmp_size; > + e = xstrtoimax (str, NULL, 10, &tmp_size, "EgGkKmMPtTYZ0"); > + if (e == LONGINT_OK > + && !(OFF_T_MIN <= tmp_size && tmp_size <= OFF_T_MAX)) > + e = LONGINT_OVERFLOW; > + > + if (e == LONGINT_OK) > + { > + errno = 0; > + *size = tmp_size; > + return 0; > + } > + > + errno = (e == LONGINT_OVERFLOW ? EOVERFLOW : 0); > + return -1; > } > > static void >
I reviewed all uses of off_t in the code and came up with an almost identical patch, so I'm happy to go with the above. Signed-off-by: Pádraig Brady <[EMAIL PROTECTED]> Micheal there still is something wrong with your system I think. Did you perhaps compile glibc from scratch and didn't pass a required configure option for Large File Support? cheers, Pádraig. _______________________________________________ Bug-coreutils mailing list Bug-coreutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-coreutils