From 2bc2738fc48a2b776db1117e653f2784235f09b7 Mon Sep 17 00:00:00 2001 From: Tatsuo Ishii Date: Sat, 17 Feb 2001 10:03:33 +0000 Subject: [PATCH] Fix a bug in psql. unescape() does not work for multi-byte encodings. --- src/bin/psql/command.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c index 34a05fa6b1..a81f222f39 100644 --- a/src/bin/psql/command.c +++ b/src/bin/psql/command.c @@ -3,7 +3,7 @@ * * Copyright 2000 by PostgreSQL Global Development Group * - * $Header: /cvsroot/pgsql/src/bin/psql/command.c,v 1.46 2001/02/10 02:31:27 tgl Exp $ + * $Header: /cvsroot/pgsql/src/bin/psql/command.c,v 1.47 2001/02/17 10:03:33 ishii Exp $ */ #include "postgres_fe.h" #include "command.h" @@ -494,7 +494,7 @@ exec_command(const char *cmd, success = false; } else - success = do_lo_import(opt1, opt2); + success = do_lo_import(opt1, opt2); } else if (strcmp(cmd + 3, "list") == 0) @@ -1166,7 +1166,13 @@ unescape(const unsigned char *source, size_t len) else { - *tmp++ = *p; + int i; + const unsigned char *mp = p; + + for (i = 0;i < PQmblen(p, pset.encoding);i++) + { + *tmp++ = *mp++; + } esc = false; } } -- 2.40.0