⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 操作系统SunOS 4.1.3版本的源码
💻 C
字号:
#ifndef lintstatic  char sccsid[] = "@(#)main.c 1.1 92/07/30 Copyr 1990 Sun Micro";#endif/* * Copyright (c) 1990 by Sun Microsystems, Inc. *//* Include files */#include <stdio.h>#include <sys/file.h>#include <esd.h>extern	struct test	sb_testlist[];staticint			fildes[2];staticint			logfile_fd,			no_log = 0;			non_interactive = 0;/**********************************************************************/main(argc, argv)/**********************************************************************/int argc;char **argv;{    static char usage_msg[] = "usage: %s [-l logfile] [-n] [-t [-i [#loops]] | -s [#loops/block] [#loops/board] [test_select] ].\n";    static char test_type_msg[] = "Use only one of the options -i, -s.\n";    static char default_logfile_name[] = "/usr/adm/cg12diaglog";    char *logfile_name = (char *)0;    char *cp;    int test_type = NO_TEST;    int blck_cnt = 1;    int brd_cnt = 1;    int test_select=-1;    int i;    /* process argc and argv */    for (i = 1 ; i < argc ; i++) {	cp = argv[i];	if (*cp == '-') {	    cp++;	    switch (*cp) {		case 'l' :	/* log file name */		    i++;		    if (i >= argc) goto usage;		    logfile_name = argv[i];		    break;		case 'n' :	/* no log file */		    no_log = 1;		    break;		case 't' :	/* glass TTY terminal */		    non_interactive = 1;		    break;		case 'i' :	/* Integration Test */		    if (test_type == SINGLE_BLOCK_TEST) {			(void)fprintf(stderr, test_type_msg);			exit(-1);		    }		    test_type = INTEGRATION_TEST;		    i++;		    if (i >= argc) break;		    if (*(argv[i]) == '-') {			i--;		        break;		    }		    brd_cnt = atoi(argv[i]);		    break;		case 's' :	/* Functinal Blocks Test */		    if (test_type == INTEGRATION_TEST) {			(void)fprintf(stderr, test_type_msg);			exit(-1);		    }		    test_type = SINGLE_BLOCK_TEST;		    test_select = get_test_selection(sb_testlist, LIST_DEFAULT);		    i++;		    if (i >= argc) break;		    if (*(argv[i]) == '-') {			i--;		        break;		    }		    blck_cnt = atoi(argv[i]);		    i++;		    if (i >= argc) break;		    if (*(argv[i]) == '-') {			i--;		        break;		    }		    brd_cnt = atoi(argv[i]);		    i++;		    if (i >= argc) break;		    if (*(argv[i]) == '-') {			i--;		        break;		    }		    test_select = atoi(argv[i]);		    break;		default :		    usage:		    (void)fprintf(stderr, usage_msg, argv[0]);		    exit(-1);	    }	} else {	    goto usage;	}    }    /* default is Integration Test */    if (non_interactive && test_type == NO_TEST) {	test_type = INTEGRATION_TEST;    }    /* open the logfile */    if (logfile_name == (char *)0)        logfile_name = default_logfile_name;     if (!no_log) {        if ((logfile_fd = open(logfile_name,                            O_WRONLY|O_APPEND|O_CREAT, 0644)) == -1) {            (void)fprintf(stderr, errmsg_list[28], logfile_name);            exit(-1);        }    }         /* open the pipe for communication between main and tests */    if(pipe(fildes) == -1) {        perror(errmsg_list[29]);        exit(-1);    }       if (non_interactive) {	(void)exec_tests(fildes, test_type, blck_cnt, brd_cnt, test_select);	exit(0);    }    (void)exec_menu(fildes);    exit(0);}/**********************************************************************/voidpmessage(text)/**********************************************************************/char *text;{    if (non_interactive) {	(void)fprintf(stdout, "%s", text);    } else {	show_msg(text);    }        if (no_log)	return;    if(write(logfile_fd, text, strlen(text)) != strlen(text)) {        (void)fprintf(stderr, errmsg_list[30]);        return;    } }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -