aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--contrib/unaccent/unaccent.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/contrib/unaccent/unaccent.c b/contrib/unaccent/unaccent.c
index 0101506b458..c7d54b205e0 100644
--- a/contrib/unaccent/unaccent.c
+++ b/contrib/unaccent/unaccent.c
@@ -63,7 +63,9 @@ placeChar(TrieChar *node, const unsigned char *str, int lenstr,
if (lenstr <= 1)
{
if (curnode->replaceTo)
- elog(WARNING, "duplicate source strings, first one will be used");
+ ereport(WARNING,
+ (errcode(ERRCODE_CONFIG_FILE_ERROR),
+ errmsg("duplicate source strings, first one will be used")));
else
{
curnode->replacelen = replacelen;
@@ -128,7 +130,7 @@ initTrie(char *filename)
* 2 in whitespace after src
* 3 in trg
* 4 in whitespace after trg
- * -1 syntax error detected (line will be ignored)
+ * -1 syntax error detected
*----------
*/
int state;
@@ -192,6 +194,10 @@ initTrie(char *filename)
rootTrie = placeChar(rootTrie,
(unsigned char *) src, srclen,
trg, trglen);
+ else if (state < 0)
+ ereport(WARNING,
+ (errcode(ERRCODE_CONFIG_FILE_ERROR),
+ errmsg("invalid syntax: more than two strings in unaccent rule")));
pfree(line);
}