Wouldn't `sscanf` return 0 on failure, not -1?