Correct potential infinite loop in pg_utf2wchar_with_len;

it failed to cover the case where high bits of char are 100 or 101.
Not sure if fix is right, but it agrees with pg_utf_mblen ... and it
doesn't lock up ...
This commit is contained in:
Tom Lane 1999-04-25 20:35:51 +00:00
parent 2acfc4f6b4
commit 0d99c95388
1 changed files with 6 additions and 1 deletions

View File

@ -1,7 +1,7 @@
/*
* conversion functions between pg_wchar and multi-byte streams.
* Tatsuo Ishii
* $Id: wchar.c,v 1.6 1999/03/24 07:02:17 ishii Exp $
* $Id: wchar.c,v 1.7 1999/04/25 20:35:51 tgl Exp $
*/
#include "mb/pg_wchar.h"
@ -268,6 +268,11 @@ pg_utf2wchar_with_len(const unsigned char *from, pg_wchar * to, int len)
*to |= c2 << 6;
*to |= c3;
}
else
{
*to = *from++;
len--;
}
to++;
}
*to = 0;