From f6a05fd973a102f7e66c491d3f854864b8d24844 Mon Sep 17 00:00:00 2001
From: Robert Haas <rhaas@postgresql.org>
Date: Thu, 5 Jul 2012 23:47:53 -0400
Subject: [PATCH] Fix failure of new wchar->mb functions to advance from
 pointer.

Bug spotted by Tom Lane.
---
 src/backend/utils/mb/wchar.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/backend/utils/mb/wchar.c b/src/backend/utils/mb/wchar.c
index 1755be5ebfa..54581cd12a5 100644
--- a/src/backend/utils/mb/wchar.c
+++ b/src/backend/utils/mb/wchar.c
@@ -380,6 +380,7 @@ pg_wchar2euc_with_len(const pg_wchar *from, unsigned char *to, int len)
 			*to++ = *from;
 			cnt++;
 		}		
+		from++;
 		len--;
 	}
 	*to = 0;
@@ -518,9 +519,10 @@ pg_wchar2utf_with_len(const pg_wchar *from, unsigned char *to, int len)
 		
 		unicode_to_utf8(*from, to);
 		char_len = pg_utf_mblen(to);
-		len--;
 		cnt += char_len;
 		to += char_len;
+		from++;
+		len--;
 	}
 	*to = 0;
 	return cnt;
@@ -854,6 +856,7 @@ pg_wchar2mule_with_len(const pg_wchar *from, unsigned char *to, int len)
 			*to++ = lb;
 			cnt += 1;
 		}
+		from++;
 		len--;
 	}
 	*to = 0;
-- 
GitLab