fixed issue#2004 parsing solc verison with trailing newlines (#2005)

* fixed issue#2004 parsing solc verison with trailing newlines

* suggested changes
This commit is contained in:
Elizabeth Dinella 2023-01-13 11:45:26 -07:00 committed by GitHub
parent 08f8e8771a
commit 0841e9b53e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 3 additions and 2 deletions

View File

@ -686,9 +686,10 @@ fn version_from_output(output: Output) -> Result<Version> {
let version = output let version = output
.stdout .stdout
.lines() .lines()
.filter_map(|l| l.ok())
.filter(|l| !l.trim().is_empty())
.last() .last()
.ok_or_else(|| SolcError::solc("version not found in solc output"))? .ok_or_else(|| SolcError::solc("version not found in solc output"))?;
.map_err(|err| SolcError::msg(format!("Failed to read output: {err}")))?;
// NOTE: semver doesn't like `+` in g++ in build metadata which is invalid semver // NOTE: semver doesn't like `+` in g++ in build metadata which is invalid semver
Ok(Version::from_str(&version.trim_start_matches("Version: ").replace(".g++", ".gcc"))?) Ok(Version::from_str(&version.trim_start_matches("Version: ").replace(".g++", ".gcc"))?)
} else { } else {