Rollup merge of #131805 - aeubanks:flat, r=durin42
rustc_llvm: Fix flattened CLI args Fixes string manipulation errors introduced in #130446.
This commit is contained in:
commit
db4cc00ed0
@ -490,13 +490,13 @@ extern "C" LLVMTargetMachineRef LLVMRustCreateTargetMachine(
|
|||||||
assert(ArgsCstrBuff[ArgsCstrBuffLen - 1] == '\0');
|
assert(ArgsCstrBuff[ArgsCstrBuffLen - 1] == '\0');
|
||||||
auto Arg0 = std::string(ArgsCstrBuff);
|
auto Arg0 = std::string(ArgsCstrBuff);
|
||||||
buffer_offset = Arg0.size() + 1;
|
buffer_offset = Arg0.size() + 1;
|
||||||
auto ArgsCppStr =
|
auto ArgsCppStr = std::string(ArgsCstrBuff + buffer_offset,
|
||||||
std::string(ArgsCstrBuff + buffer_offset, ArgsCstrBuffLen - 1);
|
ArgsCstrBuffLen - buffer_offset);
|
||||||
auto i = 0;
|
auto i = 0;
|
||||||
while (i != std::string::npos) {
|
while (i != std::string::npos) {
|
||||||
i = ArgsCppStr.find('\0', i + 1);
|
i = ArgsCppStr.find('\0', i + 1);
|
||||||
if (i != std::string::npos)
|
if (i != std::string::npos)
|
||||||
ArgsCppStr.replace(i, i + 1, " ");
|
ArgsCppStr.replace(i, 1, " ");
|
||||||
}
|
}
|
||||||
Options.MCOptions.Argv0 = Arg0;
|
Options.MCOptions.Argv0 = Arg0;
|
||||||
Options.MCOptions.CommandlineArgs = ArgsCppStr;
|
Options.MCOptions.CommandlineArgs = ArgsCppStr;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user