diff options
Diffstat (limited to '')
-rw-r--r-- | file.c | 11 |
1 files changed, 8 insertions, 3 deletions
@@ -1,4 +1,4 @@ -/* $Id: file.c,v 1.260 2010/07/24 04:30:40 htrb Exp $ */ +/* $Id: file.c,v 1.261 2010/07/30 08:50:39 htrb Exp $ */ #include "fm.h" #include <sys/types.h> #include "myctype.h" @@ -4008,13 +4008,18 @@ process_hr(struct parsed_tag *tag, int width, int indent_width) Str tmp = Strnew_charp("<nobr>"); int w = 0; int x = ALIGN_CENTER; +#define HR_ATTR_WIDTH_MAX 65535 if (width > indent_width) width -= indent_width; - if (parsedtag_get_value(tag, ATTR_WIDTH, &w)) + if (parsedtag_get_value(tag, ATTR_WIDTH, &w)) { + if (w > HR_ATTR_WIDTH_MAX) { + w = HR_ATTR_WIDTH_MAX; + } w = REAL_WIDTH(w, width); - else + } else { w = width; + } parsedtag_get_value(tag, ATTR_ALIGN, &x); switch (x) { |