From: Jeff Trawick Date: Thu, 2 Jun 2005 18:24:27 +0000 (+0000) Subject: mod_mime_magic: Handle CRLF-format magic files so that it works with X-Git-Tag: 2.1.5~55 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=45e47b1a12140e882c0a76890976278e379d9df1;p=apache mod_mime_magic: Handle CRLF-format magic files so that it works with the default installation on Windows. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@179622 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index b333020ba7..327778da4c 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,9 @@ Changes with Apache 2.1.5 [Remove entries to the current 2.0 section below, when backported] + *) mod_mime_magic: Handle CRLF-format magic files so that it works with + the default installation on Windows. [Jeff Trawick] + *) core: Allow multiple modules to register interest in a single configuration command. [Paul Querna] diff --git a/modules/metadata/mod_mime_magic.c b/modules/metadata/mod_mime_magic.c index 4cb096ea61..f4ca7207b2 100644 --- a/modules/metadata/mod_mime_magic.c +++ b/modules/metadata/mod_mime_magic.c @@ -947,12 +947,17 @@ static int apprentice(server_rec *s, apr_pool_t *p) /* parse it */ for (lineno = 1; apr_file_gets(line, BUFSIZ, f) == APR_SUCCESS; lineno++) { int ws_offset; + char *last = line + strlen(line) - 1; /* guaranteed that len >= 1 */ - /* delete newline */ - if (line[0]) { - line[strlen(line) - 1] = '\0'; - } - + /* delete newline and potential carriage return */ + if (*last == '\n') { + *last = '\0'; + --last; + } + if (*last == '\r') { + *last = '\0'; + } + /* skip leading whitespace */ ws_offset = 0; while (line[ws_offset] && apr_isspace(line[ws_offset])) {