Herbert Xu <[EMAIL PROTECTED]> wrote: ... > (erno@fabulous) /tmp % fmt -w 100000 < /etc/fstab > [snip output] > zsh: segmentation fault (core dumped) fmt -w 100000 < /etc/fstab Thanks for the report. Here's a patch: The command `echo foo| fmt -w 100000' would cause fmt to segfault. * src/fmt.c [struct Word]: Declare members length, space, and line_length to be of type `int', not short. (MAXCOST): Define using TYPE_MAXIMUM. Reported by Herbert Xu. Index: fmt.c =================================================================== RCS file: /fetish/textutils/src/fmt.c,v retrieving revision 1.65 diff -u -p -u -p -r1.65 fmt.c --- fmt.c 2001/08/31 09:55:26 1.65 +++ fmt.c 2001/09/12 06:33:36 @@ -58,7 +58,7 @@ typedef long COST; -#define MAXCOST (~(((unsigned long) 1) << (8 * sizeof (COST) -1))) +#define MAXCOST TYPE_MAXIMUM (COST) #define SQR(n) ((n) * (n)) #define EQUIV(n) SQR ((COST) (n)) @@ -132,8 +132,8 @@ struct Word /* Static attributes determined during input. */ const char *text; /* the text of the word */ - short length; /* length of this word */ - short space; /* the size of the following space */ + int length; /* length of this word */ + int space; /* the size of the following space */ bool paren:1; /* starts with open paren */ bool period:1; /* ends in [.?!])* */ bool punct:1; /* ends in punctuation */ @@ -141,7 +141,7 @@ struct Word /* The remaining fields are computed during the optimization. */ - short line_length; /* length of the best line starting here */ + int line_length; /* length of the best line starting here */ COST best_cost; /* cost of best paragraph starting here */ WORD *next_break; /* break which achieves best_cost */ }; _______________________________________________ Bug-textutils mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-textutils