Fix a bug in psql. unescape() does not work for multi-byte encodings.

This commit is contained in:
Tatsuo Ishii 2001-02-17 10:03:33 +00:00
parent 4571439297
commit 2bc2738fc4
1 changed files with 9 additions and 3 deletions

View File

@ -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;
}
}