From: Michael Tremer Date: Wed, 3 Aug 2022 09:26:56 +0000 (+0000) Subject: jail: Add convenience function to run scripts X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4f688bd81f4aa448038dace175f158cbaa649b29;p=people%2Fstevee%2Fpakfire.git jail: Add convenience function to run scripts Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/include/pakfire/jail.h b/src/libpakfire/include/pakfire/jail.h index b42ed12e..6901d7b9 100644 --- a/src/libpakfire/include/pakfire/jail.h +++ b/src/libpakfire/include/pakfire/jail.h @@ -56,6 +56,8 @@ int pakfire_jail_exec_script(struct pakfire_jail* jail, // Convenience functions int pakfire_jail_run(struct pakfire* pakfire, const char* argv[], int flags); +int pakfire_jail_run_script(struct pakfire* pakfire, + const char* script, const size_t length, const char* argv[], int flags); #endif diff --git a/src/libpakfire/jail.c b/src/libpakfire/jail.c index e645da7c..57de2b6e 100644 --- a/src/libpakfire/jail.c +++ b/src/libpakfire/jail.c @@ -1192,3 +1192,23 @@ ERROR: return r; } + +int pakfire_jail_run_script(struct pakfire* pakfire, + const char* script, const size_t length, const char* argv[], int flags) { + struct pakfire_jail* jail = NULL; + int r; + + // Create a new jail + r = pakfire_jail_create(&jail, pakfire, flags); + if (r) + goto ERROR; + + // Execute the command + r = pakfire_jail_exec_script(jail, script, length, argv); + +ERROR: + if (jail) + pakfire_jail_unref(jail); + + return r; +}