From 3fbeb8a37f74bda763c7de2da63ae358fc0b1b0e Mon Sep 17 00:00:00 2001 From: Tharre Date: Wed, 16 Apr 2014 22:03:55 +0200 Subject: Added explanation to why we parse the shebang line ourselfs --- src/build.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/build.c b/src/build.c index 6e236f4..89417fa 100644 --- a/src/build.c +++ b/src/build.c @@ -96,6 +96,11 @@ int build_target(const char *target) { argv[i++] = btemp_output; argv[i] = NULL; + /* excelp() has nearly everything we want: automatic parsing of the + shebang line through execve() and fallback to /bin/sh if no valid + shebang could be found. However, it fails if the target doesn't have + the executeable bit set, which is something we don't want. For this + reason we parse the shebang line ourselves. */ execv(argv[0], argv); /* execv should never return */ -- cgit v1.2.3-70-g09d2