mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-21 08:29:39 +08:00
Ignore UTF-8-encoded Unicode byte-order mark at the beginning of a file if
the client encoding is UTF-8. a limited version of a patch proposed by Itagaki Takahiro
This commit is contained in:
parent
e6c63bf660
commit
93d3bac564
@ -3,7 +3,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2009, PostgreSQL Global Development Group
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/bin/psql/mainloop.c,v 1.96 2009/11/10 23:12:13 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/bin/psql/mainloop.c,v 1.97 2009/11/21 23:59:12 petere Exp $
|
||||
*/
|
||||
#include "postgres_fe.h"
|
||||
#include "mainloop.h"
|
||||
@ -14,6 +14,8 @@
|
||||
#include "input.h"
|
||||
#include "settings.h"
|
||||
|
||||
#include "mb/pg_wchar.h"
|
||||
|
||||
|
||||
/*
|
||||
* Main processing loop for reading lines of input
|
||||
@ -167,6 +169,10 @@ MainLoop(FILE *source)
|
||||
|
||||
pset.lineno++;
|
||||
|
||||
/* ignore UTF-8 Unicode byte-order mark */
|
||||
if (pset.lineno == 1 && pset.encoding == PG_UTF8 && strncmp(line, "\xef\xbb\xbf", 3) == 0)
|
||||
memmove(line, line + 3, strlen(line + 3) + 1);
|
||||
|
||||
/* nothing left on line? then ignore */
|
||||
if (line[0] == '\0' && !psql_scan_in_quote(scan_state))
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user