mirror of
https://gitee.com/openharmony/third_party_rust_bindgen
synced 2025-03-04 12:47:22 +00:00
Make clang version parsing logic more robust
Previously the function assumed that the version number appeared in the third word. This PR adds a heuristic - take the first word that starts with a number. This way we can also parse: `debian clang version 11.0` that my clang reports.
This commit is contained in:
parent
b1c4178826
commit
e92dcf2a3f
@ -2444,10 +2444,12 @@ pub struct ClangVersion {
|
||||
pub fn clang_version() -> ClangVersion {
|
||||
ensure_libclang_is_loaded();
|
||||
|
||||
//Debian clang version 11.0.1-2
|
||||
let raw_v: String = clang::extract_clang_version();
|
||||
let split_v: Option<Vec<&str>> = raw_v
|
||||
.split_whitespace()
|
||||
.nth(2)
|
||||
.filter(|t| t.chars().next().map_or(false, |v| v.is_ascii_digit()))
|
||||
.next()
|
||||
.map(|v| v.split('.').collect());
|
||||
match split_v {
|
||||
Some(v) => {
|
||||
|
Loading…
x
Reference in New Issue
Block a user