From df3a6fbd86c339e5972a46aecad35a3e64f5ac69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Sun, 27 Sep 2009 07:54:17 +0000 Subject: [PATCH] Patch by Joshua R. Elsasser: (ticket #4647) Fix fgetln() in libbsd to actually return the length of the string. Thanks a bunch! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33315 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/libs/bsd/fgetln.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/libs/bsd/fgetln.c b/src/libs/bsd/fgetln.c index 0d6dd4b672..65b3194a06 100644 --- a/src/libs/bsd/fgetln.c +++ b/src/libs/bsd/fgetln.c @@ -34,6 +34,8 @@ fgetln(FILE *stream, size_t *_length) line = sBuffer; left = sBufferSize; + if (_length != NULL) + *_length = 0; for (;;) { line = fgets(line, left, stream); @@ -44,6 +46,8 @@ fgetln(FILE *stream, size_t *_length) } length = strlen(line); + if (_length != NULL) + *_length += length; if (line[length - 1] != '\n' && length == sBufferSize - 1) { // more data is following, enlarge buffer char *newBuffer = realloc(sBuffer, sBufferSize + LINE_LENGTH);