diff --git a/src/bin/psql/mbprint.c b/src/bin/psql/mbprint.c index 27ee3f840f..4b4dc18734 100644 --- a/src/bin/psql/mbprint.c +++ b/src/bin/psql/mbprint.c @@ -3,7 +3,7 @@ * * Copyright (c) 2000-2005, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/bin/psql/mbprint.c,v 1.16 2005/01/01 05:43:08 momjian Exp $ + * $PostgreSQL: pgsql/src/bin/psql/mbprint.c,v 1.16.4.1 2010/08/16 00:06:54 tgl Exp $ */ #include "postgres_fe.h" @@ -168,28 +168,20 @@ utf2ucs(const unsigned char *c) if ((*c & 0x80) == 0) return (pg_wchar) c[0]; else if ((*c & 0xe0) == 0xc0) - { return (pg_wchar) (((c[0] & 0x1f) << 6) | (c[1] & 0x3f)); - } else if ((*c & 0xf0) == 0xe0) - { return (pg_wchar) (((c[0] & 0x0f) << 12) | ((c[1] & 0x3f) << 6) | (c[2] & 0x3f)); - } - else if ((*c & 0xf0) == 0xf0) - { + else if ((*c & 0xf8) == 0xf0) return (pg_wchar) (((c[0] & 0x07) << 18) | ((c[1] & 0x3f) << 12) | ((c[2] & 0x3f) << 6) | (c[3] & 0x3f)); - } else - { /* that is an invalid code on purpose */ return 0xffffffff; - } } /* mb_utf_wcwidth : calculate column length for the utf8 string pwcs