Fix of argument error
authorH.G. Muller <h.g.muller@hccnet.nl>
Tue, 26 Feb 2013 16:59:43 +0000 (17:59 +0100)
committerH.G. Muller <h.g.muller@hccnet.nl>
Tue, 26 Feb 2013 16:59:43 +0000 (17:59 +0100)
Oops. Pevious patch for skipping unknown multi-line arguments
was still buggy.

args.h

diff --git a/args.h b/args.h
index 76b2452..8c52303 100644 (file)
--- a/args.h
+++ b/args.h
@@ -922,6 +922,7 @@ ParseArgs(GetFunc get, void *cl)
        char endChar = (ch && ch != '\n' && (ch = get(cl)) == '{' ? '}' : '\n');
        ExitArgError(_("Unrecognized argument %s"), argName, get != &FileGet); // [HGM] make unknown argument non-fatal
        while (ch != endChar && ch != NULLCHAR) ch = get(cl); // but skip rest of line it is on (or until closing '}' )
        char endChar = (ch && ch != '\n' && (ch = get(cl)) == '{' ? '}' : '\n');
        ExitArgError(_("Unrecognized argument %s"), argName, get != &FileGet); // [HGM] make unknown argument non-fatal
        while (ch != endChar && ch != NULLCHAR) ch = get(cl); // but skip rest of line it is on (or until closing '}' )
+       if(ch == '}') ch = get(cl);
        continue; // so that when it is in a settings file, it is the only setting that will be purged from it
       }
     } else if (ch == '@') {
        continue; // so that when it is in a settings file, it is the only setting that will be purged from it
       }
     } else if (ch == '@') {