Exemplo n.º 1
0
void bear_free_message(bear_message_t * e)
{
    e->pid = 0;
    e->ppid = 0;
    free((void *)e->fun);
    e->fun = 0;
    free((void *)e->cwd);
    e->cwd = 0;
    bear_strings_release(e->cmd);
    e->cmd = 0;
}
Exemplo n.º 2
0
Arquivo: ear.c Projeto: minhyuk/Bear
int execlp(const char *file, const char *arg, ...) {
    va_list args;
    va_start(args, arg);
    char const **argv = bear_strings_build(arg, &args);
    va_end(args);

    bear_report_call(__func__, (char const *const *)argv);
    int const result = call_execvp(file, (char *const *)argv);

    bear_strings_release(argv);
    return result;
}
Exemplo n.º 3
0
Arquivo: ear.c Projeto: minhyuk/Bear
// int execle(const char *path, const char *arg, ..., char * const envp[]);
int execle(const char *path, const char *arg, ...) {
    va_list args;
    va_start(args, arg);
    char const **argv = bear_strings_build(arg, &args);
    char const **envp = va_arg(args, char const **);
    va_end(args);

    bear_report_call(__func__, (char const *const *)argv);
    int const result =
        call_execve(path, (char *const *)argv, (char *const *)envp);

    bear_strings_release(argv);
    return result;
}