| ... | @@ -412,16 +412,16 @@ pub fn main() anyerror!void { | ... | @@ -412,16 +412,16 @@ pub fn main() anyerror!void { |
| 412 | { | 412 | { |
| 413 | var it = root_map.iterator(); | 413 | var it = root_map.iterator(); |
| 414 | it_map: while (it.next()) |kv| { | 414 | it_map: while (it.next()) |kv| { |
| 415 | if (kv.key.len == 0) continue; | 415 | if (kv.key_ptr.len == 0) continue; |
| 416 | if (kv.key.*[0] == '!') continue; | 416 | if (kv.key_ptr.*[0] == '!') continue; |
| 417 | if (kv.value.* != .Object) continue; | 417 | if (kv.value_ptr.* != .Object) continue; |
| 418 | if (!kv.value.Object.contains("NumArgs")) continue; | 418 | if (!kv.value_ptr.Object.contains("NumArgs")) continue; |
| 419 | if (!kv.value.Object.contains("Name")) continue; | 419 | if (!kv.value_ptr.Object.contains("Name")) continue; |
| 420 | for (blacklisted_options) |blacklisted_key| { | 420 | for (blacklisted_options) |blacklisted_key| { |
| 421 | if (std.mem.eql(u8, blacklisted_key, kv.key.*)) continue :it_map; | 421 | if (std.mem.eql(u8, blacklisted_key, kv.key_ptr.*)) continue :it_map; |
| 422 | } | 422 | } |
| 423 | if (kv.value.Object.get("Name").?.String.len == 0) continue; | 423 | if (kv.value_ptr.Object.get("Name").?.String.len == 0) continue; |
| 424 | try all_objects.append(&kv.value.Object); | 424 | try all_objects.append(&kv.value_ptr.Object); |
| 425 | } | 425 | } |
| 426 | } | 426 | } |
| 427 | // Some options have multiple matches. As an example, "-Wl,foo" matches both | 427 | // Some options have multiple matches. As an example, "-Wl,foo" matches both |