// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-FileCopyrightText: 2021 Alyssa Ross #define _GNU_SOURCE #include #include #include #include "exec.h" // Like execvp, but takes an argz vector instead of an argv array. int execzp(const char *file, const char *argz, size_t len) { char **argv = calloc(argz_count(argz, len) + 1, sizeof(char *)); if (!argv) return -1; argz_extract(argz, len, argv); execvp(file, argv); free(argv); return -1; }