]> granicus.if.org Git - apache/commitdiff
The final line of the config file was not being read if there was
authorRyan Bloom <rbb@apache.org>
Wed, 18 Oct 2000 15:58:29 +0000 (15:58 +0000)
committerRyan Bloom <rbb@apache.org>
Wed, 18 Oct 2000 15:58:29 +0000 (15:58 +0000)
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

server/util.c

index 115d8b2f27af85bc7b447271910928eeca0c7fdd..6b23e715250fc1af5e2c2526ffa891fcb5223e5b 100644 (file)
@@ -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;
 }