From 70949a39b9587465f5ab1d7930d1d100bc4485a0 Mon Sep 17 00:00:00 2001 From: midipix Date: Tue, 11 May 2021 20:59:04 +0000 Subject: link mode: slbt_exec_link_create_executable(): place .exe.wrapper under .libs/. --- src/logic/slbt_exec_install.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'src/logic/slbt_exec_install.c') diff --git a/src/logic/slbt_exec_install.c b/src/logic/slbt_exec_install.c index 072c301..fc401e5 100644 --- a/src/logic/slbt_exec_install.c +++ b/src/logic/slbt_exec_install.c @@ -326,8 +326,8 @@ static int slbt_exec_install_entry( { int ret; int fdcwd; + const char * base; char * dot; - char * base; char * host; char * mark; char * slash; @@ -352,8 +352,16 @@ static int slbt_exec_install_entry( struct stat st; /* executable wrapper? */ - if ((size_t)snprintf(slnkname,sizeof(slnkname),"%s.exe.wrapper", - entry->arg) >= sizeof(slnkname)) + base = (slash = strrchr(entry->arg,'/')) + ? ++slash : entry->arg; + + strcpy(slnkname,entry->arg); + mark = &slnkname[base - entry->arg]; + slen = sizeof(slnkname) - (mark - slnkname); + + if ((size_t)snprintf(mark,slen, + ".libs/%s.exe.wrapper", + base) >= slen) return SLBT_BUFFER_ERROR(dctx); /* fdcwd */ -- cgit v1.2.3