mirror of
https://github.com/darlinghq/darling.git
synced 2025-02-16 23:59:49 +00:00
Merge pull request #276 from yan12125/fix-mldr-argv-allocation
Fix running programs directly via `darling prog`
This commit is contained in:
commit
b6fcbeb87c
@ -92,13 +92,18 @@ int main(int argc, char** argv, char** envp)
|
||||
}
|
||||
|
||||
// sys_execve() passes the original file path appended to the mldr path in argv[0].
|
||||
filename = (char*) __builtin_alloca(strlen(argv[0])+1);
|
||||
|
||||
p = strchr(argv[0], '!');
|
||||
if (p != NULL)
|
||||
{
|
||||
filename = (char*) __builtin_alloca(strlen(argv[0])+1);
|
||||
strcpy(filename, p + 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
filename = (char*) __builtin_alloca(strlen(argv[1])+1);
|
||||
strcpy(filename, argv[1]);
|
||||
}
|
||||
|
||||
#ifdef __i386__
|
||||
load(filename, &entryPoint, &mh, CPU_TYPE_X86, argv); // accept i386 only
|
||||
|
Loading…
x
Reference in New Issue
Block a user