diff --git a/src/backend/utils/adt/char.c b/src/backend/utils/adt/char.c
index 0d9c8f4fb585b971d838e6c4b2c183c26be9a892..04508129cfdab893af0e7ca1649ef07b842744fe 100644
--- a/src/backend/utils/adt/char.c
+++ b/src/backend/utils/adt/char.c
@@ -12,7 +12,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/utils/adt/char.c,v 1.1.1.1 1996/07/09 06:22:03 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/utils/adt/char.c,v 1.2 1996/09/10 06:41:34 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -129,10 +129,17 @@ char *char16out(char *s)
 
 int32 chareq(int8 arg1, int8 arg2)	{ return(arg1 == arg2); }
 int32 charne(int8 arg1, int8 arg2)	{ return(arg1 != arg2); }
+#ifdef UNSIGNED_CHAR_TEXT
+int32 charlt(int8 arg1, int8 arg2)    { return((uint8)arg1 <  (uint8)arg2); }
+int32 charle(int8 arg1, int8 arg2)    { return((uint8)arg1 <= (uint8)arg2); }
+int32 chargt(int8 arg1, int8 arg2)    { return((uint8)arg1 >  (uint8)arg2); }
+int32 charge(int8 arg1, int8 arg2)    { return((uint8)arg1 >= (uint8)arg2); }
+#else
 int32 charlt(int8 arg1, int8 arg2)	{ return(arg1 < arg2); }
 int32 charle(int8 arg1, int8 arg2)	{ return(arg1 <= arg2); }
 int32 chargt(int8 arg1, int8 arg2)	{ return(arg1 > arg2); }
 int32 charge(int8 arg1, int8 arg2)	{ return(arg1 >= arg2); }
+#endif
 int8 charpl(int8 arg1, int8 arg2)       { return(arg1 + arg2); }
 int8 charmi(int8 arg1, int8 arg2)	{ return(arg1 - arg2); }
 int8 charmul(int8 arg1, int8 arg2)	{ return(arg1 * arg2); }
diff --git a/src/backend/utils/adt/varlena.c b/src/backend/utils/adt/varlena.c
index a00528eff194a30dc5ed6b418708807e7fac9fd6..3f95681293c8c41d57758f091ba77f8b4ace2322 100644
--- a/src/backend/utils/adt/varlena.c
+++ b/src/backend/utils/adt/varlena.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/utils/adt/varlena.c,v 1.4 1996/07/22 21:56:04 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/utils/adt/varlena.c,v 1.5 1996/09/10 06:41:38 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -290,6 +290,9 @@ int32
 text_lt(struct varlena *arg1, struct varlena *arg2) 
 {
     int len;
+#ifdef UNSIGNED_CHAR_TEXT
+    unsigned
+#endif
     char *a1p, *a2p;
     
     if (arg1 == NULL || arg2 == NULL)
@@ -318,6 +321,9 @@ int32
 text_le(struct varlena *arg1, struct varlena *arg2) 
 {
     int len;
+#ifdef UNSIGNED_CHAR_TEXT
+    unsigned
+#endif
     char *a1p, *a2p;
     
     if (arg1 == NULL || arg2 == NULL)