Index: sane/backend/epson.c
===================================================================
RCS file: /cvsroot/external/sane/backend/epson.c,v
retrieving revision 1.1.1.1.2.8
diff -u -r1.1.1.1.2.8 epson.c
--- epson.c	2000/02/11 21:28:41	1.1.1.1.2.8
+++ epson.c	2000/02/18 09:27:03
@@ -1368,6 +1368,7 @@
 
 		if( SANE_STATUS_GOOD != ( status = sanei_scsi_open( dev_name, &s->fd, NULL, NULL))) {
 			DBG( 1, "attach: open failed: %s\n", sane_strstatus( status));
+			dummy_dev.sane.name = NULL;	/* reset field */
 			return status;
 		}
 
@@ -1376,6 +1377,7 @@
 
 		if( SANE_STATUS_GOOD != ( status = inquiry( s->fd, 0, buf, &buf_size))) {
 			DBG( 1, "attach: inquiry failed: %s\n", sane_strstatus( status));
+			dummy_dev.sane.name = NULL;	/* reset field */
 			close_scanner( s);
 			return status;
 		}
@@ -1396,6 +1398,7 @@
 				&& strncmp( buf + 16, "Expression", 10) != 0))
 		{
 			DBG( 1, "attach: device doesn't look like an Epson scanner\n");
+			dummy_dev.sane.name = NULL;	/* reset field */
 			close_scanner( s);
 			return SANE_STATUS_INVAL;
 		}
@@ -1418,6 +1421,7 @@
 		if( SANE_STATUS_GOOD != ( status = sanei_pio_open( dev_name, &s->fd))) {
 			DBG( 1, "dev_open: %s: can't open %s as a parallel-port device\n",
 				sane_strstatus( status), dev_name);
+			dummy_dev.sane.name = NULL;	/* reset field */
 			return status;
 		}
 	} else if (s->hw->connection == SANE_EPSON_USB) {
@@ -1446,6 +1450,7 @@
 				dev_name, strerror(errno));
 			status = (errno == EACCES) ? SANE_STATUS_ACCESS_DENIED 
 				: SANE_STATUS_INVAL;
+			dummy_dev.sane.name = NULL;	/* reset field */
 			return status;
 		}
 	}
@@ -1831,7 +1836,7 @@
     {
       char line[PATH_MAX];
 
-      while (fgets (line, sizeof (line), fp))
+      while (sanei_config_read (line, sizeof (line), fp))
 	{
 	  DBG( 4, "sane_init, >%s<\n", line);
 	  if( line[0] == '#')		/* ignore line comments */

