/******************************** * HEAD.C - check, display input * * file name and TRADE MARK * *********************************/ #include #include #include #include int head ( int argn, char *argv[], char *string ) { int finp; char s1[10], s2[]={"+-------"}, s3[]={" "}, s4[]={"[HEADER]"}; char *path, data_path[80], tmp[80]; path=getenv("DATA"); if(path == NULL) data_path[0] = '\0'; else { strcpy(data_path,path); if(data_path[strlen(data_path)-1] != '\\') strcat(data_path,"\\"); } clrscr(); cputs("\r\n Seismic SoftWare Group" "\r\n Converter from 'TELEMETRY - format' to 'SG - format'" "\r\n Parallel Version 4.2\r\n"); if ( argn < 2 ) { #ifdef RUS cprintf("\r\n Введите имя файла или Q для выхода => "); #else cprintf("\r\n Enter file name or Q to quit => "); #endif scanf("%s",string); if( (string[0] == 'q') || (string[0] == 'Q') ) { #ifdef RUS cputs ( " *** Не задан файл ***\r\n Использование:"USAGE ); #else cputs ( " *** No file name ***\r\n Usage:"USAGE ); #endif exit(1); /* abort if not arguments */ } } else strcpy(string,argv[1]); if(data_path[0] != '\0') { strcpy(tmp,data_path); path = strrchr(string,'\\'); if(path != NULL) strcat(tmp,path+1); else strcat(tmp,string); strcpy(string,tmp); } /* Open input file */ if ( (finp=fopen(string,"rb")) == NULL ) { // if ( (finp=_open(string,O_RDONLY|O_BINARY)) == -1 ) { #ifdef RUS cprintf ( " *** Файл %s не найден ***\r\n",string ); #else cprintf ( " *** File %s not found ***\r\n",string ); #endif exit(2); /* abort if not found */ } #ifdef RUS cprintf ( " *** Обрабатывается файл %s ***\r\n",string ); #else cprintf ( " *** Processed file %s ***\r\n",string ); #endif _read(fileno(finp),s1,strlen(s2)); fseek(finp,0,SEEK_SET); if ( strncmp(s1,s2,strlen(s2)) && strncmp(s1,s3,strlen(s3)) ) { // && strncmp(s1,s4,strlen(s4)) || strncmp(s1,"кккккккк",8) ) { return(fileno(finp)); } // else { // fclose(finp); // cnvrsg(argn,argv); // } else return 0; } //