From 33ff14db8c9ee25b1f4125f869d779bf76bddcab Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 7 Feb 2002 22:20:26 +0000 Subject: [PATCH] pgstat's truncation of query string needs to be multibyte-aware. Patch from sugita@sra.co.jp. --- src/backend/postmaster/pgstat.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/backend/postmaster/pgstat.c b/src/backend/postmaster/pgstat.c index 9eb8d2afe9..26b0104247 100644 --- a/src/backend/postmaster/pgstat.c +++ b/src/backend/postmaster/pgstat.c @@ -38,6 +38,9 @@ #include "catalog/pg_shadow.h" #include "catalog/pg_database.h" #include "libpq/pqsignal.h" +#ifdef MULTIBYTE +#include "mb/pg_wchar.h" +#endif #include "miscadmin.h" #include "utils/memutils.h" #include "storage/backendid.h" @@ -424,8 +427,12 @@ pgstat_report_activity(char *what) return; len = strlen(what); +#ifdef MULTIBYTE + len = pg_mbcliplen((const unsigned char *)what, len, PGSTAT_ACTIVITY_SIZE - 1); +#else if (len >= PGSTAT_ACTIVITY_SIZE) len = PGSTAT_ACTIVITY_SIZE - 1; +#endif memcpy(msg.m_what, what, len); msg.m_what[len] = '\0'; -- 2.39.5