示例#1
0
int swap_on_off_main(int argc UNUSED_PARAM, char **argv)
{
	int ret;

	INIT_G();

#if !ENABLE_FEATURE_SWAPON_PRI
	ret = getopt32(argv, "a");
#else
	if (applet_name[5] == 'n')
		opt_complementary = "p+";
	ret = getopt32(argv, (applet_name[5] == 'n') ? "ap:" : "a", &g_flags);

	if (ret & 2) { // -p
		g_flags = SWAP_FLAG_PREFER |
			((g_flags & SWAP_FLAG_PRIO_MASK) << SWAP_FLAG_PRIO_SHIFT);
		ret &= 1;
	}
#endif

	if (ret /* & 1: not needed */) // -a
		return do_em_all();

	argv += optind;
	if (!*argv)
		bb_show_usage();

	/* ret = 0; redundant */
	do {
		ret += swap_enable_disable(*argv);
	} while (*++argv);

	return ret;
}
示例#2
0
extern int swap_on_off_main(int argc, char **argv)
{
	if (applet_name[5] == 'f') { /* "swapoff" */
		whichApp = SWAPOFF_APP;
	}

	if (argc != 2) {
		goto usage_and_exit;
	}
	argc--;
	argv++;

	/* Parse any options */
	while (**argv == '-') {
		while (*++(*argv))
			switch (**argv) {
			case 'a':
				{
					struct stat statBuf;

					if (stat("/etc/fstab", &statBuf) < 0)
						error_msg_and_die("/etc/fstab file missing");
				}
				return do_em_all();
				break;
			default:
				goto usage_and_exit;
			}
	}
	return swap_enable_disable(*argv);

  usage_and_exit:
	show_usage();
}
示例#3
0
int swap_on_off_main(int argc, char **argv)
{
	int ret;

	if (argc == 1)
		bb_show_usage();

	ret = bb_getopt_ulflags(argc, argv, "a");
	if (ret & DO_ALL)
		return do_em_all();

	ret = 0;
	while (*++argv)
		ret += swap_enable_disable(*argv);
	return ret;
}
示例#4
0
int swap_on_off_main(int argc, char **argv)
{
	int ret;

	if (argc == 1)
		bb_show_usage();

	ret = getopt32(argv, "a");
	if (ret)
		return do_em_all();

	/* ret = 0; redundant */
	while (*++argv)
		ret += swap_enable_disable(*argv);
	return ret;
}