Slight speedup of parsing promotion suffix
authorH.G.Muller <hgm@hgm-xboard.(none)>
Tue, 9 Feb 2016 08:31:11 +0000 (09:31 +0100)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Tue, 9 Feb 2016 08:31:11 +0000 (09:31 +0100)
parser.c

index 471ae94..946729e 100644 (file)
--- a/parser.c
+++ b/parser.c
@@ -381,6 +381,7 @@ char
 PromoSuffix (char **p)
 {
     char *start = *p;
+    if(**p == ' ') return NULLCHAR; // common case, test explicitly for speed
     if(**p == 'e' && (Match("ep", p) || Match("e.p.", p))) { *p = start; return NULLCHAR; } // non-compliant e.p. suffix is no promoChar!
     if(**p == '+' && IS_SHOGI(gameInfo.variant)) { (*p)++; return '+'; }
     if(**p == '=' || (gameInfo.variant == VariantSChess) && **p == '/') (*p)++; // optional = (or / for Seirawan gating)