void sys_initpath() { char *buf, *home = getenv("HOME"); if (!home) { rc_setvar("rcpath", "."); rc_setvar("savedir", "."); return; } buf = malloc(strlen(home) + strlen(DOTDIR) + 8); sprintf(buf, "%s/" DOTDIR ":.", home); rc_setvar("rcpath", 1, &buf); sprintf(buf, "%s/" DOTDIR "/saves" , home); rc_setvar("savedir", 1, &buf); free(buf); }
void sys_initpath(char *exe) { char *buf, *home, *p; home = strdup(exe); sys_sanitize(home); p = (char *) strrchr(home, DIRSEP_CHAR); if (p) *p = 0; else { buf = "."; rc_setvar("rcpath", 1, &buf); rc_setvar("savedir", 1, &buf); return; } buf = malloc(strlen(home) + 8); sprintf(buf, ".;%s%s", home, DIRSEP); rc_setvar("rcpath", 1, &buf); sprintf(buf, ".", home); rc_setvar("savedir", 1, &buf); free(buf); }
void sys_initpath(char *exe) { char *buf, *home, *p; home = strdup(exe); sys_sanitize(home); p = strrchr(home, '/'); if (p) *p = 0; else { buf = "."; rc_setvar("rcpath", 1, &buf); rc_setvar("savedir", 1, &buf); return; } buf = malloc(strlen(home) + 8); sprintf(buf, "%s/.gnuboy", home); mkdir(buf); rc_setvar("rcpath", 1, &buf); sprintf(buf, "%s/.gnuboy/saves", home); mkdir(buf); rc_setvar("savedir", 1, &buf); free(buf); }
static int cmd_set(int argc, char **argv) { if (argc < 3) return -1; return rc_setvar(argv[1], argc-2, argv+2); }