blob: ca2a522dd0cfa8d6084d34dc3157664f0ae012eb [file]
#include "auto_bin.h"
#include "stralloc.h"
#include "wrap.h"
#include "die.h"
#include "idx.h"
static stralloc path;
void wrap_execbin(const char *program,
stralloc *opts,
const char *dir)
{
const char *args[4];
int i;
if (!stralloc_copys(&path,auto_bin())) die_nomem();
if (!stralloc_cats(&path,program)) die_nomem();
if (!stralloc_0(&path)) die_nomem();
args[0] = path.s;
i = 1;
if (opts && opts->len > 1) {
if (!stralloc_0(opts)) die_nomem();
args[i++] = opts->s;
}
args[i++] = dir;
args[i] = 0;
wrap_execv(args);
}