foxygit / doom Log in
commit 869e52062b84ad65a8481f4a56bd83d2d31471a3
Author:     Simon Howard <fraggle@gmail.com>
AuthorDate: Sun May 4 18:18:23 2014 -0400
Commit:     Simon Howard <fraggle@gmail.com>
CommitDate: Sun May 4 18:18:23 2014 -0400

    music: Tweak comment parsing for substitute configs.

    Allow comments to be attached to the end of configuration lines, as
    well as being specified on a line on their own.
---
 src/i_sdlmusic.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/src/i_sdlmusic.c b/src/i_sdlmusic.c
index 143f8eb2..a9b95562 100644
--- a/src/i_sdlmusic.c
+++ b/src/i_sdlmusic.c
@@ -520,11 +520,23 @@ static char *ParseSubstituteLine(char *filename, char *line)
     char *p;
     int hash_index;

+    // Strip out comments if present.
+    p = strchr(line, '#');
+    if (p != NULL)
+    {
+        while (p > line && isspace(*(p - 1)))
+        {
+            --p;
+        }
+        *p = '\0';
+    }
+
     // Skip leading spaces.
     for (p = line; *p != '\0' && isspace(*p); ++p);

-    // Comment or empty line? This is valid syntax, so just return success.
-    if (*p == '#' || *p == '\0')
+    // Empty line? This includes comment lines now that comments have
+    // been stripped.
+    if (*p == '\0')
     {
         return NULL;
     }