mirror of
https://github.com/postgres/postgres.git
synced 2025-06-05 23:56:58 +03: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
|
* 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 "postgres_fe.h"
|
||||||
#include "mainloop.h"
|
#include "mainloop.h"
|
||||||
@ -14,6 +14,8 @@
|
|||||||
#include "input.h"
|
#include "input.h"
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
|
|
||||||
|
#include "mb/pg_wchar.h"
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Main processing loop for reading lines of input
|
* Main processing loop for reading lines of input
|
||||||
@ -167,6 +169,10 @@ MainLoop(FILE *source)
|
|||||||
|
|
||||||
pset.lineno++;
|
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 */
|
/* nothing left on line? then ignore */
|
||||||
if (line[0] == '\0' && !psql_scan_in_quote(scan_state))
|
if (line[0] == '\0' && !psql_scan_in_quote(scan_state))
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user