mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-03-13 19:57:53 +08:00
Fix a bug in psql. unescape() does not work for multi-byte encodings.
This commit is contained in:
parent
4571439297
commit
2bc2738fc4
@ -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;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user