if (ch == EOF)
if (ch == EOF || num3 == 0)
get_range(bitstr_t *bits, int low, int high, const char *names[],	  char ch, FILE *file){	/* range = number | number "-" number [ "/" number ]	 */	int i, num1, num2, num3;	Debug(DPARS|DEXT, ("get_range()...entering, exit won't show\n"))	if (ch == '*') {		/* '*' means "first-last" but can still be modified by /step		 */		num1 = low;		num2 = high;		ch = get_char(file);		if (ch == EOF)			return (EOF);	} else {		if (EOF == (ch = get_number(&num1, low, names, ch, file)))			return (EOF);		if (ch != '-') {			/* not a range, it's a single number.			 */			if (EOF == set_element(bits, low, high, num1))				return (EOF);			return (ch);		} else {			/* eat the dash			 */			ch = get_char(file);			if (ch == EOF)				return (EOF);			/* get the number following the dash			 */			ch = get_number(&num2, low, names, ch, file);			if (ch == EOF)				return (EOF);		}	}	/* check for step size	 */	if (ch == '/') {		/* eat the slash		 */		ch = get_char(file);		if (ch == EOF)			return (EOF);		/* get the step size -- note: we don't pass the		 * names here, because the number is not an		 * element id, it's a step size.  'low' is		 * sent as a 0 since there is no offset either.		 */		ch = get_number(&num3, 0, PPC_NULL, ch, file);		if (ch == EOF)			return (EOF);	} else {		/* no step.  default==1.		 */		num3 = 1;	}	/* range. set all elements from num1 to num2, stepping	 * by num3.  (the step is a downward-compatible extension	 * proposed conceptually by bob@acornrc, syntactically	 * designed then implemented by paul vixie).	 */	for (i = num1;  i <= num2;  i += num3)		if (EOF == set_element(bits, low, high, i))			return (EOF);	return (ch);}