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; }
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); } }
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; }