diff --git a/src/backend/parser/scan.l b/src/backend/parser/scan.l
index 35d42356bb47d3f506a14ff5ce77c03ed1a0ff91..ece71b489fdef0f5e6ebb14e0fd1648fcdaa2fd7 100644
--- a/src/backend/parser/scan.l
+++ b/src/backend/parser/scan.l
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.52 1999/07/17 20:17:26 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.53 1999/09/07 00:13:27 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -491,11 +491,8 @@ int
 input()
 {
 	if (parseCh == NULL)
-	{
 		parseCh = parseString;
-		return(*parseCh++);
-	}
-	else if (*parseCh == '\0')
+	if (*parseCh == '\0')
 		return(0);
 	else
 		return(*parseCh++);
@@ -520,20 +517,17 @@ myinput(char* buf, int max)
 	int len, copylen;
 
 	if (parseCh == NULL)
-	{
-		len = strlen(parseString);
-		if (len >= max)
-			copylen = max - 1;
-		else
-			copylen = len;
-		if (copylen > 0)
-			memcpy(buf, parseString, copylen);
-		buf[copylen] = '\0';
 		parseCh = parseString;
-		return copylen;
-	}
+	len = strlen(parseCh);		/* remaining data available */
+	if (len >= max)
+		copylen = max - 1;
 	else
-		return 0; /* end of string */
+		copylen = len;
+	if (copylen > 0)
+		memcpy(buf, parseCh, copylen);
+	buf[copylen] = '\0';
+	parseCh += copylen;
+	return copylen;
 }
 #endif /* FLEX_SCANNER */