]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Fix a few places that were non-multibyte-safe in tsearch configuration file
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 19 Jun 2008 16:52:24 +0000 (16:52 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
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 */