Fix a few places that were non-multibyte-safe in tsearch configuration file
authorTom Lane
Thu, 19 Jun 2008 16:52:24 +0000 (16:52 +0000)
committerTom Lane
Thu, 19 Jun 2008 16:52:24 +0000 (16:52 +0000)
parsing.  Per bug #4253 from Giorgio Valoti.

src/backend/tsearch/spell.c
src/backend/tsearch/ts_utils.c

index d6e3a081b8917c2bea178f3717b71b1f4c19fef6..b240fe6c9f76cd6ea4759ad868296296d4c7eea8 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/tsearch/spell.c,v 1.12 2008/06/18 20:55:42 tgl Exp $
+ *   $PostgreSQL: pgsql/src/backend/tsearch/spell.c,v 1.13 2008/06/19 16:52:24 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -509,7 +509,7 @@ static void
 addFlagValue(IspellDict *Conf, char *s, uint32 val)
 {
    while (*s && t_isspace(s))
-       s++;
+       s += pg_mblen(s);
 
    if (!*s)
        ereport(ERROR,
@@ -595,7 +595,7 @@ NIImportOOAffixes(IspellDict *Conf, const char *filename)
            char       *s = recoded + strlen("FLAG");
 
            while (*s && t_isspace(s))
-               s++;
+               s += pg_mblen(s);
 
            if (*s && STRNCMP(s, "default") != 0)
                ereport(ERROR,
@@ -729,9 +729,9 @@ NIImportAffixes(IspellDict *Conf, const char *filename)
                s = recoded + (s - pstr);       /* we need non-lowercased
                                                 * string */
                while (*s && !t_isspace(s))
-                   s++;
+                   s += pg_mblen(s);
                while (*s && t_isspace(s))
-                   s++;
+                   s += pg_mblen(s);
 
                if (*s && pg_mblen(s) == 1)
                {
@@ -762,7 +762,7 @@ NIImportAffixes(IspellDict *Conf, const char *filename)
            flagflags = 0;
 
            while (*s && t_isspace(s))
-               s++;
+               s += pg_mblen(s);
            oldformat = true;
 
            /* allow only single-encoded flags */
index 04586647890836b19d23ada248d86834bd51bf21..11d79d7125bc719dd039a19cb9b2768885e9010a 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/tsearch/ts_utils.c,v 1.11 2008/06/18 20:55:42 tgl Exp $
+ *   $PostgreSQL: pgsql/src/backend/tsearch/ts_utils.c,v 1.12 2008/06/19 16:52:24 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -97,7 +97,7 @@ readstoplist(const char *fname, StopList *s, char *(*wordop) (const char *))
 
            /* Trim trailing space */
            while (*pbuf && !t_isspace(pbuf))
-               pbuf++;
+               pbuf += pg_mblen(pbuf);
            *pbuf = '\0';
 
            /* Skip empty lines */