tor_vsscanf() returns -1 if '%%' doesn't match a '%'.
`tor_vsscanf()` returns -1 if '%%' doesn't match a '%', but `tor_vsscanf()` is supposed to return -1 only on malformed patterns.
`tor_vsscanf()` should return `n_matched` in this case.
```
} else if (*pattern == '%') {
if (*buf != '%')
return -1;
++buf;
++pattern;
```
issue