From 6a83bc09dbf0ae14e98c891b5a9fd0c424a0e07b Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Tue, 4 Aug 2015 19:56:34 -0700 Subject: * stream.c (string_out_put_string): Do not return nil when buffer calculations overflow, but throw exception. --- ChangeLog | 5 +++++ stream.c | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index b013dfe8..9a9419fc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2015-08-04 Kaz Kylheku + + * stream.c (string_out_put_string): Do not return nil when + buffer calculations overflow, but throw exception. + 2015-08-04 Kaz Kylheku Remove useless return values and checks. diff --git a/stream.c b/stream.c index f612cefb..cf1f5a96 100644 --- a/stream.c +++ b/stream.c @@ -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")); } } -- cgit v1.2.3