diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | stream.c | 6 |
2 files changed, 9 insertions, 2 deletions
@@ -1,5 +1,10 @@ 2015-08-04 Kaz Kylheku <kaz@kylheku.com> + * stream.c (string_out_put_string): Do not return nil when + buffer calculations overflow, but throw exception. + +2015-08-04 Kaz Kylheku <kaz@kylheku.com> + Remove useless return values and checks. * stream.c (vformat_align_pre, vformat_align_post): Change to void @@ -1490,12 +1490,12 @@ static val string_out_put_string(val stream, val str) size_t required_size = len + so->fill + 1; if (required_size < len) - return nil; + goto oflow; while (so->size <= required_size) { so->size *= 2; if (so->size < old_size) - return nil; + goto oflow; } if (so->size != old_size) @@ -1505,6 +1505,8 @@ static val string_out_put_string(val stream, val str) wmemcpy(so->buf + so->fill, s, len + 1); so->fill += len; return t; +oflow: + uw_throw(error_s, lit("string output stream overflow")); } } |