summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri.staessens@ugent.be>2017-10-24 23:35:21 +0200
committerSander Vrijders <sander.vrijders@ugent.be>2017-10-25 09:53:50 +0200
commitf9cf89d54f0d1661fd78f778d0bdb4812f3bd460 (patch)
treeac3c689be6e44c15bbb2204094490216da422cf3
parent351da36fb339b56b95cff52ff5d0da1ad8e20def (diff)
downloadouroboros-f9cf89d54f0d1661fd78f778d0bdb4812f3bd460.tar.gz
ouroboros-f9cf89d54f0d1661fd78f778d0bdb4812f3bd460.zip
dev: Bind python scripts to script name
This revises the library init script so that it checks whether the program is run by a python executable (python, python2 or python3) and announces the script name instead of the python interpreter. This enables binding python scripts. Signed-off-by: Dimitri Staessens <dimitri.staessens@ugent.be> Signed-off-by: Sander Vrijders <sander.vrijders@ugent.be>
-rw-r--r--src/lib/dev.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/lib/dev.c b/src/lib/dev.c
index e216baab..11ab645d 100644
--- a/src/lib/dev.c
+++ b/src/lib/dev.c
@@ -595,6 +595,16 @@ static int flow_init(int port_id,
return fd;
}
+static bool check_python(char * str)
+{
+ if (!strcmp(path_strip(str), "python") ||
+ !strcmp(path_strip(str), "python2") ||
+ !strcmp(path_strip(str), "python3"))
+ return true;
+
+ return false;
+}
+
__attribute__((constructor)) static void init(int argc,
char ** argv,
char ** envp)
@@ -608,6 +618,9 @@ __attribute__((constructor)) static void init(int argc,
assert(ai.ap_name == NULL);
+ if (check_python(argv[0]))
+ ap_name = argv[1];
+
ai.api = getpid();
ai.fds = bmp_create(AP_MAX_FLOWS - AP_RES_FDS, AP_RES_FDS);