From 5c98fd00c4bece649eef9f74dfb7e0a6f4323e6c Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Thu, 11 May 2023 14:35:00 +1000 Subject: [PATCH] markup: fix normalisation of priorities. When I clipped priority to 0:65535, I didn't do it at all for as_clear(), and not completely for as_add(). Signed-off-by: NeilBrown --- lib-markup.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lib-markup.c b/lib-markup.c index 36b3400a..6e955a35 100644 --- a/lib-markup.c +++ b/lib-markup.c @@ -222,10 +222,6 @@ static void as_add(struct attr_return *ar safe, if (end == 0 || INT_MAX - end <= ar->chars) end = INT_MAX - 1 - ar->chars; new->end = ar->chars + end; - if (prio < 0) - prio = 0; - if (prio > 65535) - prio = 65535; new->priority = prio; *here = new; } @@ -257,11 +253,16 @@ DEF_CB(text_attr_callback) { struct attr_return *ar = container_of(ci->comm, struct attr_return, rtn); + int prio = ci->num2; + if (prio < 0) + prio = 0; + if (prio > 65535) + prio = 65535; if (ci->num >= 0) { if (ci->str) - as_add(ar, ci->num, ci->num2, ci->str); + as_add(ar, ci->num, prio, ci->str); } else - as_clear(ar, ci->num2, ci->str); + as_clear(ar, prio, ci->str); if (ci->str2) buf_concat(&ar->insert, ci->str2); return 1; -- 2.39.5