diff options
Diffstat (limited to 'FICS/formula.c')
-rw-r--r-- | FICS/formula.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/FICS/formula.c b/FICS/formula.c index ffbca20..dd5ff23 100644 --- a/FICS/formula.c +++ b/FICS/formula.c @@ -574,10 +574,11 @@ ChooseClauses(player *who, char *formula) return ret; for (i = 0; formula[i] != '\0' && formula[i] != '#'; i++) { - if (formula[i] != 'f' || (i > 0 && isalnum(formula[i - 1])) || - !isdigit(formula[i + 1])) + if ((i > 0 && isalnum(formula[i - 1])) || formula[i] != 'f' || + !isdigit(formula[i + 1]) || + sscanf(&formula[i], "f%d", &which) != 1) continue; - sscanf(&formula[i], "f%d", &which); + ret |= (1 << (which - 1)); } |