Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 19e1ad62 authored by Steve Kondik's avatar Steve Kondik Committed by Giulio Cervera
Browse files

Add support for exec command in init.

parent 07ff3b87
Loading
Loading
Loading
Loading
+24 −1
Original line number Diff line number Diff line
@@ -167,10 +167,33 @@ int do_domainname(int nargs, char **args)
    return write_file("/proc/sys/kernel/domainname", args[1]);
}

/*exec <path> <arg1> <arg2> ... */
#define MAX_PARAMETERS 64
int do_exec(int nargs, char **args)
{
    pid_t pid;
    int status, i, j;
    char *par[MAX_PARAMETERS];
    if (nargs > MAX_PARAMETERS)
    {
        return -1;
    }
    for(i=0, j=1; i<(nargs-1) ;i++,j++)
    {
        par[i] = args[j];
    }
    par[i] = (char*)0;
    pid = fork();
    if (!pid)
    {
        execv(par[0],par);
    }
    else
    {
        while(wait(&status)!=pid);
    }
    return 0;
}

int do_export(int nargs, char **args)
{