vcpkg/ports/libass/ConstantValues.patch
Codiferous c0bf747e45
Add a more correct port for libass (#5223)
This port currently only works on Windows because the dependencies of
the port (fribidi in particular) don't build on non-Windows platforms.

I made patch modifications to the source code because the Visual C++ C
compiler does not allow for non-constant-expression array indicesto be
used to declare a static array.

I've verified that this (1) builds on Windows and (2) works with a
sample test that's included in the libass github repo.
2019-01-24 11:47:28 -08:00

44 lines
1.3 KiB
Diff

---
libass/ass_outline.c | 4 ++--
libass/ass_render.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/libass/ass_outline.c b/libass/ass_outline.c
index 1b9afe9..527403e 100644
--- a/libass/ass_outline.c
+++ b/libass/ass_outline.c
@@ -518,7 +518,7 @@ static bool draw_arc(StrokerState *str, ASS_Vector pt,
ASS_DVector normal0, ASS_DVector normal1, double c, int dir)
{
const int max_subdiv = 15;
- double mul[max_subdiv + 1];
+ double mul[16];
ASS_DVector center;
bool small_angle = true;
@@ -554,7 +554,7 @@ static bool draw_arc(StrokerState *str, ASS_Vector pt,
static bool draw_circle(StrokerState *str, ASS_Vector pt, int dir)
{
const int max_subdiv = 15;
- double mul[max_subdiv + 1], c = 0;
+ double mul[16], c = 0;
int pos = max_subdiv;
while (c < str->split_cos && pos) {
diff --git a/libass/ass_render.c b/libass/ass_render.c
index 69c4439..f6fa85c 100644
--- a/libass/ass_render.c
+++ b/libass/ass_render.c
@@ -1235,7 +1235,7 @@ get_bitmap_glyph(ASS_Renderer *render_priv, GlyphInfo *info)
}
const int n_outlines = 3;
- ASS_Outline outline[n_outlines];
+ ASS_Outline outline[3];
outline_copy(&outline[0], info->outline);
outline_copy(&outline[1], info->border[0]);
outline_copy(&outline[2], info->border[1]);
--
2.18.0.windows.1