1*3c3a7b76Schristos %{ 2*3c3a7b76Schristos #define YY_USER_INIT open_input_file() 3*3c3a7b76Schristos 4*3c3a7b76Schristos extern FILE *yyin; 5*3c3a7b76Schristos open_input_file(void)6*3c3a7b76Schristosvoid open_input_file(void) 7*3c3a7b76Schristos { 8*3c3a7b76Schristos char *file_name,buffer[1024]; 9*3c3a7b76Schristos 10*3c3a7b76Schristos yyin = NULL; 11*3c3a7b76Schristos 12*3c3a7b76Schristos while(yyin == NULL){ 13*3c3a7b76Schristos printf("Input file: "); 14*3c3a7b76Schristos file_name = fgets(buffer,1024,stdin); 15*3c3a7b76Schristos if(file_name){ 16*3c3a7b76Schristos file_name[strlen(file_name)-1] = '\0'; 17*3c3a7b76Schristos yyin = fopen(file_name,"r"); 18*3c3a7b76Schristos if(yyin == NULL){ 19*3c3a7b76Schristos printf("Unable to open \"%s\"\n",file_name); 20*3c3a7b76Schristos } 21*3c3a7b76Schristos } else { 22*3c3a7b76Schristos printf("stdin\n"); 23*3c3a7b76Schristos yyin = stdin; 24*3c3a7b76Schristos break; 25*3c3a7b76Schristos } 26*3c3a7b76Schristos } 27*3c3a7b76Schristos } 28*3c3a7b76Schristos 29*3c3a7b76Schristos %} 30*3c3a7b76Schristos %% 31