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

📄 create_hosts.c

📁 操作系统SunOS 4.1.3版本的源码
💻 C
字号:
/*      @(#)create_hosts.c 1.1 92/07/30 SMI                              *//* * Copyright (c) 1988 by Sun Microsystems, Inc. */#include "install.h"extern char *sprintf(), *where_are_we();create_hosts(sys, tape_drive_type, tapehost, 	tapehost_ip, tape_device, progname)struct system_info *sys;char *tape_drive_type, *tapehost, *tapehost_ip, *tape_device, *progname;{	register i;	char arch[25], path[MINSIZE];	FILE *hosts, *archlist, *extractlist;	char filename[MAXPATHLEN];	char buf[BUFSIZE];	char cmd[BUFSIZE];	char *where;        if( (hosts = fopen(HOSTS,"w")) == NULL ) {                (void) fprintf(stderr,		    "%s:\tUnable to open /etc/hosts", progname);                exit(1);        }        (void) fprintf(hosts,"#\n");        (void) fprintf(hosts,"# If the NIS is running, this file is only consulted when booting\n");        (void) fprintf(hosts,"#\n");        (void) fprintf(hosts,"# These lines added by the Suninstall Program\n");        (void) fprintf(hosts,"#\n");	if ( strlen(sys->ip0) )        	(void) fprintf(hosts,"%s\t%s loghost\n",sys->ip0,sys->hostname);	if ( strlen(sys->ip1) ) 		(void) fprintf(hosts,"%s\t%s\n",sys->ip1,sys->hostname1);        (void) sprintf(filename,"%sarchlist",INSTALL_DIR);         if((archlist = fopen(filename,"r")) != NULL ) {		while ( fgets(buf,BUFSIZ,archlist) != NULL ) {			(void) sscanf(buf,"arch=%s path=%s\n",arch,path);			if ( strlen(arch) ) {	        			(void) sprintf(filename,"%sextractlist.%s",					INSTALL_DIR,arch);				if((extractlist = fopen(filename,"r")) 					!= NULL ) {					for (i=0;					     fgets(buf,BUFSIZ,extractlist) != NULL; 				             i++ ) {                				switch (i) {                				case 0:                        				(void) sscanf(buf,"device=%s", tape_device);                        				break;                				case 1:                        				(void) sscanf(buf,"drive=%s", tape_drive_type);                        				break;                				case 2:                        				if ( !strcmp(tape_drive_type,"remote") ) {                                				(void) sscanf(buf, "tapehost=%s\n", tapehost);                        				}                        				break;                				case 3:                        				if ( !strcmp(tape_drive_type,"remote") ) {                                				(void) sscanf(buf,"tapehostip=%s", tapehost_ip);									(void) fprintf(hosts, "%s\t%s\n", tapehost_ip,tapehost);							}							break;						}					}					(void) fclose(extractlist);				}			}		}		(void) fclose(archlist);	}        (void) fprintf(hosts,"\n");	if ( strlen(sys->ip0) )        	(void) fprintf(hosts,"127.0.0.1 localhost\n");	else		(void) fprintf(hosts,"127.0.0.1 %s localhost loghost\n",sys->hostname);	(void) fprintf(hosts,"#\n");	(void) fprintf(hosts,"# End of lines added by the Suninstall Program\n");	(void) fprintf(hosts,"#\n");	(void) fclose(hosts);	where = where_are_we();	(void) sprintf(path,"%s/etc",where);	(void) makedirpath(path);	(void) sprintf(cmd,"cp %s %s 2>/dev/null\n", HOSTS, path);	(void) system(cmd);}

⌨️ 快捷键说明

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