diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2020-12-11 17:42:13 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2020-12-11 17:42:13 -0700 |
| commit | 6ab5bebed1d0808ad8153097332519088d5af95a (patch) | |
| tree | c379dc481b9d8cce57e008f2931a20992b9da2d0 /src/Compilation.zig | |
| parent | 52bc1442d6e48438a1f8fb155a4174e41d02090f (diff) | |
| download | zig-6ab5bebed1d0808ad8153097332519088d5af95a.tar.gz zig-6ab5bebed1d0808ad8153097332519088d5af95a.zip | |
stage2: proper file extension stripping
Previously it used mem.split on "." and took the first iterated item.
Now it uses fs.path.extension and strips off that number of bytes.
Closes #7404
Diffstat (limited to 'src/Compilation.zig')
| -rw-r--r-- | src/Compilation.zig | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/Compilation.zig b/src/Compilation.zig index 13ee04765c..96bf7b5797 100644 --- a/src/Compilation.zig +++ b/src/Compilation.zig @@ -1762,7 +1762,7 @@ fn updateCObject(comp: *Compilation, c_object: *CObject, c_comp_progress_node: * const o_basename_noext = if (direct_o) comp.bin_file.options.root_name else - mem.split(c_source_basename, ".").next().?; + c_source_basename[0 .. c_source_basename.len - std.fs.path.extension(c_source_basename).len]; const o_basename = try std.fmt.allocPrint(arena, "{s}{s}", .{ o_basename_noext, comp.getTarget().oFileExt() }); const digest = if (!comp.disable_c_depfile and try man.hit()) man.final() else blk: { @@ -2731,7 +2731,7 @@ fn buildOutputFromZig( }, .root_src_path = src_basename, }; - const root_name = mem.split(src_basename, ".").next().?; + const root_name = src_basename[0 .. src_basename.len - std.fs.path.extension(src_basename).len]; const target = comp.getTarget(); const fixed_output_mode = if (target.cpu.arch.isWasm()) .Obj else output_mode; const bin_basename = try std.zig.binNameAlloc(comp.gpa, .{ |
