From e8c219fef20f822a2fe7c80d64e4174961db386d Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Thu, 29 Jun 2000 13:34:55 +0000 Subject: [PATCH] Make fgets not use maximal buffer length always, but shrink buffer if it's too big. --- ext/standard/file.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ext/standard/file.c b/ext/standard/file.c index d23a3a7d26..99ae196904 100644 --- a/ext/standard/file.c +++ b/ext/standard/file.c @@ -990,6 +990,10 @@ PHP_FUNCTION(fgets) } else { return_value->value.str.val = buf; return_value->value.str.len = strlen(return_value->value.str.val); + /* resize buffer if it's much larger than the result */ + if(return_value->value.str.len < len/2) { + return_value->value.str.val = erealloc(buf,return_value->value.str.len); + } } return_value->type = IS_STRING; } -- 2.50.1