summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
authorRyan Bloom <rbb@apache.org>2000-10-18 15:58:29 +0000
committerRyan Bloom <rbb@apache.org>2000-10-18 15:58:29 +0000
commitdddb7a835da181fd7d94c94d0c0accdf23644d58 (patch)
tree76464e6b480de4ee380c010b2663096b0ebfda78 /server
parent2311f5561e9848e3baa9fe8f457b54a50d565d41 (diff)
downloadhttpd-dddb7a835da181fd7d94c94d0c0accdf23644d58.tar.gz
The final line of the config file was not being read if there was
no \n at the end of it. This was caused by apr_fgets returning APR_EOF even though we had read valid data. This is solved by making cfg_getline check the buff that was returned from apr_fgets. If apr_fgets return APR_EOF, but there was data in the buf, then we return the buf, otherwise we return NULL. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86643 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'server')
-rw-r--r--server/util.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/server/util.c b/server/util.c
index 115d8b2f27..6b23e71525 100644
--- a/server/util.c
+++ b/server/util.c
@@ -862,7 +862,9 @@ static int cfg_getch(void *param)
static void *cfg_getstr(void *buf, size_t bufsiz, void *param)
{
apr_file_t *cfp = (apr_file_t *) param;
- if (apr_fgets(buf, bufsiz, cfp) == APR_SUCCESS)
+ apr_status_t rv;
+ rv = apr_fgets(buf, bufsiz, cfp);
+ if (rv == APR_SUCCESS || (rv == APR_EOF && strcmp(buf, "")))
return buf;
return NULL;
}