bugfix 1: inverted expected option count for unmapped colours, 2: failure to scan numbers now result in failed match
On #2: %n is not guaranteed to count towards the number of scanned tokens, but seems to do so, so
if (sscanf(..., ...%n, ...) != 0)
seemingly does not fail if a number fails to scan due to the scanned string ending.
Mitigated by sanity checking the value scanned as %n (>0).

Signed-off-by: Leo Bärring <leo.barring@gmail.com>