first commit
This commit is contained in:
29
nvim.c
Normal file
29
nvim.c
Normal file
@ -0,0 +1,29 @@
|
||||
#include <unistd.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
int main(int argc, char **argv) {
|
||||
char **execargv = malloc((argc + 2) * sizeof *execargv);
|
||||
for(int i = 1; i < argc; ++i) {
|
||||
char **arg = &execargv[i+ 2];
|
||||
if(argv[i][0] == '/') {
|
||||
const char *home = "/home/";
|
||||
if(!memcmp(home, argv[i], strlen(home))){
|
||||
*arg = argv[i];
|
||||
goto exec;
|
||||
}
|
||||
const char *gentooPath = "/bedrock/strata/gentoo";
|
||||
*arg = malloc(strlen(gentooPath) + strlen(argv[i]) + 2);
|
||||
strcpy(*arg, gentooPath);
|
||||
strcat(*arg, argv[i]);
|
||||
printf("Path: %s\n", *arg);
|
||||
}
|
||||
else *arg = argv[i];
|
||||
}
|
||||
exec:
|
||||
execargv[0] = "strat";
|
||||
execargv[1] = "arch";
|
||||
execargv[2] = "/usr/bin/nvim";
|
||||
execargv[argc + 2] = NULL;
|
||||
execvp(execargv[0], execargv);
|
||||
}
|
||||
Reference in New Issue
Block a user