예제 #1
0
int
source (char **environ, char *file)
{
    char	**args, *args_safe[2];
    int		ret = 0;
    FILE	*f;

    if (file && file[0]) {
	f = fopen (file, "r");
	if (!f)
	    LogInfo ("not sourcing %s (%s)\n", file, _SysErrorMsg (errno));
	else {
	    fclose (f);
	    LogInfo ("sourcing %s\n", file);
	    args = parseArgs ((char **) 0, file);
	    if (!args) {
		args = args_safe;
		args[0] = file;
		args[1] = NULL;
	    }
	    ret = runAndWait (args, environ);
	    freeArgs (args);
	}
    } else
	Debug ("source() given null pointer in file argument\n");
    return ret;
}
예제 #2
0
파일: session.c 프로젝트: bbidulock/wdm
void LoadXloginResources(struct display *d)
{
	char **args;
	char **env = 0;

	if (d->resources[0] && access(d->resources, 4) == 0) {
		env = systemEnv(d, (char *)0, (char *)0);
		args = parseArgs((char **)0, d->xrdb);
		args = parseArgs(args, d->resources);
		WDMDebug("Loading resource file: %s\n", d->resources);
		(void)runAndWait(args, env);
		freeArgs(args);
		WDMFreeEnv(env);
	}
}
예제 #3
0
파일: session.c 프로젝트: bbidulock/wdm
int source(char **environ, char *file)
{
	char **args, *args_safe[2];
	int ret;

	if (file && file[0]) {
		WDMDebug("source %s\n", file);
		args = parseArgs((char **)0, file);
		if (!args) {
			args = args_safe;
			args[0] = file;
			args[1] = NULL;
		}
		ret = runAndWait(args, environ);
		freeArgs(args);
		return ret;
	}
	return 0;
}