コード例 #1
0
ファイル: main.c プロジェクト: tamentis/prwd
int
main(int argc, char **argv)
{
	char *t;
	int opt, run_dump_alias_vars = 0;

	while ((opt = getopt(argc, argv, "at:Vh")) != -1) {
		switch (opt) {
		case 'a':
			run_dump_alias_vars = 1;
			break;
		case 't':
			mbstowcs(cfg_template, optarg, MAX_OUTPUT_LEN);
			break;
		case 'V':
			puts("prwd-"VERSION);
			exit(-1);
		default:
			printf("usage: prwd [-aVh] [-t template]\n");
			exit(-1);
		}
	}

	setlocale(LC_ALL, "");

	/* Populate $HOME */
	t = getenv("HOME");
	mbstowcs(home, t, MAXPATHLEN);
	if (home == NULL || *home == L'\0')
		errx(0, "Unknown variable '$HOME'.");

	read_config();

	if (run_dump_alias_vars) {
		alias_dump_vars();
		return (0);
	}

	/* No template configured, try to get the env var. */
	if (wcslen(cfg_template) == 0 && (t = getenv("PRWD")) != NULL)
		mbstowcs(cfg_template, t, MAX_OUTPUT_LEN);

	/* Still no template, build one using legacy flags. */
	if (wcslen(cfg_template) == 0)
		template_from_config(cfg_template, MAX_OUTPUT_LEN);

	prwd(cfg_template);

	return (0);
}
コード例 #2
0
ファイル: main.c プロジェクト: AlanHasty/prwd
int
main(int argc, char **argv)
{
	char *t;
	int opt, run_dump_alias_vars = 0;

	while ((opt = getopt(argc, argv, "aVh")) != -1) {
		switch (opt) {
		case 'a':
			run_dump_alias_vars = 1;
			break;
		case 'V':
			show_version();
			exit(-1);
		default:
			printf("usage: prwd [-aVh]\n");
			exit(-1);
		}
	}

	setlocale(LC_ALL, "");

	/* Populate $HOME */
	t = getenv("HOME");
	mbstowcs(home, t, MAXPATHLEN);
	if (home == NULL || *home == L'\0')
		errx(0, "Unknown variable '$HOME'.");

	read_config();

	if (run_dump_alias_vars) {
		dump_alias_vars();
	} else {
		prwd();
	}

	return 0;
}