aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>2011-04-20 09:49:44 +0300
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>2011-04-20 09:59:33 +0300
commita58396d79e6519afd53914ff762a84097b45020d (patch)
treef0508a4b8820ad6250b53fb3037bf78924169665 /src
parent5a4305fdf7ecf8218051f4f2a151d57fa71b9e6b (diff)
downloadpostgresql-a58396d79e6519afd53914ff762a84097b45020d.tar.gz
postgresql-a58396d79e6519afd53914ff762a84097b45020d.zip
Quotes in strings injected into bki file need to escaped. In particular,
"People's Republic of China" locale on Windows was causing initdb to fail. This fixes bug #5818 reported by yulei. On master, this makes the mapping of "People's Republic of China" to just "China" obsolete. In 9.0 and 8.4, just fix the escaping. Earlier versions didn't have locale names in bki file.
Diffstat (limited to 'src')
-rw-r--r--src/bin/initdb/initdb.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c
index fa14161551f..0febcf1fcfb 100644
--- a/src/bin/initdb/initdb.c
+++ b/src/bin/initdb/initdb.c
@@ -1355,9 +1355,9 @@ bootstrap_template1(char *short_version)
bki_lines = replace_token(bki_lines, "ENCODING", encodingid);
- bki_lines = replace_token(bki_lines, "LC_COLLATE", lc_collate);
+ bki_lines = replace_token(bki_lines, "LC_COLLATE", escape_quotes(lc_collate));
- bki_lines = replace_token(bki_lines, "LC_CTYPE", lc_ctype);
+ bki_lines = replace_token(bki_lines, "LC_CTYPE", escape_quotes(lc_ctype));
/*
* Pass correct LC_xxx environment to bootstrap.