[PATCH 4/5] usp10: Use memmove() in GSUB_apply_LigatureSubst().

Aric Stewart aric at codeweavers.com
Wed Mar 1 07:02:51 CST 2017


Signed-off-by: Aric Stewart <aric at codeweavers.com>

On 3/1/17 12:14 AM, Henri Verbeet wrote:
> Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
> ---
>  dlls/usp10/opentype.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/dlls/usp10/opentype.c b/dlls/usp10/opentype.c
> index 4f3b559..3bbf5ec 100644
> --- a/dlls/usp10/opentype.c
> +++ b/dlls/usp10/opentype.c
> @@ -1058,9 +1058,8 @@ static INT GSUB_apply_LigatureSubst(const OT_LookupTable *look, WORD *glyphs, IN
>                      TRACE("0x%x\n",glyphs[replaceIdx]);
>                      if (CompCount > 0)
>                      {
> -                        int j;
> -                        for (j = replaceIdx + 1; j < *glyph_count; j++)
> -                            glyphs[j] =glyphs[j+CompCount];
> +                        unsigned int j = replaceIdx + 1;
> +                        memmove(&glyphs[j], &glyphs[j + CompCount], (*glyph_count - j) * sizeof(*glyphs));
>                          *glyph_count = *glyph_count - CompCount;
>                      }
>                      return replaceIdx + write_dir;
> 



More information about the wine-patches mailing list