Remotes/trunk sync with libinjection upstream

Remotes/trunk sync with libinjection upstream
c89 support
windows support
detects more cases,
fewer false positives