diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-11-29 17:07:31 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-11-29 17:07:31 +0100 |
| commit | ea0b23b7836cd6b4692b1ad8d01b2a9afe486cd4 (patch) | |
| tree | 83a0d2119a2f8883907b1df4f4242060994aa5cb /src | |
| parent | f15a187087b037c1b042279db2526170c6ea4663 (diff) | |
| download | box64-ea0b23b7836cd6b4692b1ad8d01b2a9afe486cd4.tar.gz box64-ea0b23b7836cd6b4692b1ad8d01b2a9afe486cd4.zip | |
Better hadnling of LD_PRELOAS on Steam Pressure Vessel wrapper
Diffstat (limited to 'src')
| -rw-r--r-- | src/steam.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/steam.c b/src/steam.c index b433b2b4..84c18e45 100644 --- a/src/steam.c +++ b/src/steam.c @@ -52,6 +52,18 @@ void pressure_vessel(int argc, const char** argv, int nextarg, const char* prog) setenv(tmp, p, 1); printf_log(LOG_DEBUG, "setenv(%s, %s, 1)\n", tmp, p); } + } else if(strstr(argv[nextarg], "--ld-preloads=")==argv[nextarg]) { + // transform to BOX86_ / BOX64_ LD_PRELOAD + char tmp[strlen(argv[nextarg])+4]; + strcpy(tmp, "BOX64_LD_PRELOAD="); + strcat(tmp, strchr(argv[nextarg], '=')+1); + char *p = strchr(tmp, '='); + *p ='\0'; ++p; + setenv(tmp, p, 1); + printf_log(LOG_DEBUG, "setenv(%s, %s, 1)\n", tmp, p); + tmp[3] = '8'; tmp[4] = '6'; + setenv(tmp, p, 1); + printf_log(LOG_DEBUG, "setenv(%s, %s, 1)\n", tmp, p); } else if(!strcmp(argv[nextarg], "--")) { printf_log(LOG_DEBUG, "End of pressure-vessel-wrap parameters\n"); }else { |