示例#1
0
文件: uname.c 项目: coyizumi/cs111
int
main(int argc, char *argv[])
{
	u_int flags;
	int ch;

	setup_get();
	flags = 0;

	while ((ch = getopt(argc, argv, "aiKmnoprsUv")) != -1)
		switch(ch) {
		case 'a':
			flags |= (MFLAG | NFLAG | RFLAG | SFLAG | VFLAG);
			break;
		case 'i':
			flags |= IFLAG;
			break;
		case 'K':
			flags |= KFLAG;
			break;
		case 'm':
			flags |= MFLAG;
			break;
		case 'n':
			flags |= NFLAG;
			break;
		case 'p':
			flags |= PFLAG;
			break;
		case 'r':
			flags |= RFLAG;
			break;
		case 's':
		case 'o':
			flags |= SFLAG;
			break;
		case 'U':
			flags |= UFLAG;
			break;
		case 'v':
			flags |= VFLAG;
			break;
		case '?':
		default:
			usage();
		}

	argc -= optind;
	argv += optind;

	if (argc)
		usage();

	if (!flags)
		flags |= SFLAG;

	print_uname(flags);
	exit(0);
}
示例#2
0
int
main(int argc, char *argv[])
{
    int ch;

    setup_get();

    while ((ch = getopt(argc, argv, "aimnprsvP")) != -1) {
        switch(ch) {
        case 'a':
            flags |= (MFLAG | NFLAG | RFLAG | SFLAG | VFLAG);
            break;
        case 'i':
            flags |= IFLAG;
            break;
        case 'm':
            flags |= MFLAG;
            break;
        case 'n':
            flags |= NFLAG;
            break;
        case 'p':
            flags |= PFLAG;
            break;
        case 'r':
            flags |= RFLAG;
            break;
        case 's':
            flags |= SFLAG;
            break;
        case 'v':
            flags |= VFLAG;
            break;
        case 'P':
            if (flags & GFLAG)	/* don't adjust odd numbers */
                flags |= GFLAG2;
            flags |= GFLAG;
            break;
        case '?':
        default:
            usage();
        }
    }

    argc -= optind;
    argv += optind;

    if (argc)
        usage();

    if (!flags)
        flags |= SFLAG;

    print_uname();
    exit(0);
}