diff --git a/src/backend/libpq/hba.c b/src/backend/libpq/hba.c
index ed4b2d5530cedb140e866712e4ce8014b0c88cdc..2988ade443004e8f0736a620b6ad8d58a854af5e 100644
--- a/src/backend/libpq/hba.c
+++ b/src/backend/libpq/hba.c
@@ -10,7 +10,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/libpq/hba.c,v 1.97 2003/04/12 22:28:33 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/libpq/hba.c,v 1.98 2003/04/13 04:07:17 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -69,16 +69,11 @@ static List *tokenize_file(FILE *file);
 static char *tokenize_inc_file(const char *inc_filename);
 
 /*
- * Some standard C libraries, including GNU, have an isblank() function.
- * Others, including Solaris, do not.  So we have our own.  Watch out for
- * macro-ized versions, too.
+ * isblank() exists in the ISO C99 spec, but it's not very portable yet,
+ * so provide our own version.
  */
-#ifdef isblank
-#undef isblank
-#endif
-
 static bool
-isblank(const char c)
+pg_isblank(const char c)
 {
 	return c == ' ' || c == '\t' || c == '\r';
 }
@@ -104,7 +99,7 @@ next_token(FILE *fp, char *buf, const int bufsz)
 	bool		was_quote = false;
 
 	/* Move over initial whitespace and commas */
-	while ((c = getc(fp)) != EOF && (isblank(c) || c == ','))
+	while ((c = getc(fp)) != EOF && (pg_isblank(c) || c == ','))
 		;
 
 	if (c != EOF && c != '\n')
@@ -114,7 +109,7 @@ next_token(FILE *fp, char *buf, const int bufsz)
 		 * unquoted comma, or unquoted whitespace.
 		 */
 		while (c != EOF && c != '\n' &&
-			   (!isblank(c) || in_quote == true))
+			   (!pg_isblank(c) || in_quote == true))
 		{
 			/* skip comments to EOL */
 			if (c == '#' && !in_quote)
@@ -141,7 +136,7 @@ next_token(FILE *fp, char *buf, const int bufsz)
 				*buf++ = c;
 
 			/* We pass back the comma so the caller knows there is more */
-			if ((isblank(c) || c == ',') && !in_quote)
+			if ((pg_isblank(c) || c == ',') && !in_quote)
 				break;
 
 			/* Literal double-quote is two double-quotes */
@@ -1050,14 +1045,14 @@ interpret_ident_response(char *ident_response,
 			int			i;		/* Index into *response_type */
 
 			cursor++;			/* Go over colon */
-			while (isblank(*cursor))
+			while (pg_isblank(*cursor))
 				cursor++;		/* skip blanks */
 			i = 0;
-			while (*cursor != ':' && *cursor != '\r' && !isblank(*cursor) &&
+			while (*cursor != ':' && *cursor != '\r' && !pg_isblank(*cursor) &&
 				   i < (int) (sizeof(response_type) - 1))
 				response_type[i++] = *cursor++;
 			response_type[i] = '\0';
-			while (isblank(*cursor))
+			while (pg_isblank(*cursor))
 				cursor++;		/* skip blanks */
 			if (strcmp(response_type, "USERID") != 0)
 				return false;
@@ -1083,7 +1078,7 @@ interpret_ident_response(char *ident_response,
 						int			i;	/* Index into *ident_user */
 
 						cursor++;		/* Go over colon */
-						while (isblank(*cursor))
+						while (pg_isblank(*cursor))
 							cursor++;	/* skip blanks */
 						/* Rest of line is user name.  Copy it over. */
 						i = 0;