aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2026-02-22 00:46:37 -0500
committerJoseph Hunkeler <jhunkeler@gmail.com>2026-02-22 00:46:37 -0500
commit36e5df6e8e01120e077dbb6eb087349f3c93b78d (patch)
tree71fee851b59d1ea75b75b919cc66f76999a2d77f /src
parentf8a564e5a45d0e98fe3c556aa158d20b6a29ffd7 (diff)
downloadstasis-36e5df6e8e01120e077dbb6eb087349f3c93b78d.tar.gz
docker_script() now passes arguments to docker_exec
* Implicit 'docker run --rm' removed
Diffstat (limited to 'src')
-rw-r--r--src/lib/core/docker.c4
-rw-r--r--src/lib/core/include/docker.h2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/lib/core/docker.c b/src/lib/core/docker.c
index 4723446..87e5e0e 100644
--- a/src/lib/core/docker.c
+++ b/src/lib/core/docker.c
@@ -19,11 +19,11 @@ int docker_exec(const char *args, unsigned flags) {
return proc.returncode;
}
-int docker_script(const char *image, char *data, unsigned flags) {
+int docker_script(const char *image, char *args, char *data, unsigned flags) {
(void)flags; // TODO: placeholder
char cmd[PATH_MAX] = {0};
- snprintf(cmd, sizeof(cmd) - 1, "docker run --rm -i %s /bin/sh -", image);
+ snprintf(cmd, sizeof(cmd) - 1, "docker run -i %s \"%s\" /bin/sh -", args ? args : "", image);
FILE *outfile = popen(cmd, "w");
if (!outfile) {
diff --git a/src/lib/core/include/docker.h b/src/lib/core/include/docker.h
index 7585d86..96734f8 100644
--- a/src/lib/core/include/docker.h
+++ b/src/lib/core/include/docker.h
@@ -83,7 +83,7 @@ int docker_exec(const char *args, unsigned flags);
* @return
*/
int docker_build(const char *dirpath, const char *args, int engine);
-int docker_script(const char *image, char *data, unsigned flags);
+int docker_script(const char *image, char *args, char *data, unsigned flags);
int docker_save(const char *image, const char *destdir, const char *compression_program);
void docker_sanitize_tag(char *str);
int docker_validate_compression_program(char *prog);