From fecd19b449c5b8a5a3a935466df1e5a9c5bcc0bd Mon Sep 17 00:00:00 2001 From: Alexei Podtelezhnikov Date: Mon, 20 Feb 2023 17:13:40 +0000 Subject: * src/base/ftstroke.c (FT_Stroker_ParseOutline): Clean up contour indexing. --- src/base/ftstroke.c | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/src/base/ftstroke.c b/src/base/ftstroke.c index db358e772..92f1e4308 100644 --- a/src/base/ftstroke.c +++ b/src/base/ftstroke.c @@ -2055,7 +2055,9 @@ FT_Error error; FT_Int n; /* index of contour in outline */ - FT_UInt first; /* index of first point in contour */ + FT_Int first; /* index of first point in contour */ + FT_Int last; /* index of last point in contour */ + FT_Int tag; /* current point's state */ @@ -2067,22 +2069,17 @@ FT_Stroker_Rewind( stroker ); - first = 0; - + last = -1; for ( n = 0; n < outline->n_contours; n++ ) { - FT_UInt last; /* index of last point in contour */ - - - last = (FT_UInt)outline->contours[n]; - limit = outline->points + last; + first = last + 1; + last = outline->contours[n]; /* skip empty points; we don't stroke these */ if ( last <= first ) - { - first = last + 1; continue; - } + + limit = outline->points + last; v_start = outline->points[first]; v_last = outline->points[last]; @@ -2231,8 +2228,6 @@ if ( error ) goto Exit; } - - first = last + 1; } return FT_Err_Ok; -- cgit v1.2.1