From 095193a9905caff27509a299d895d399d42c06aa Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sun, 21 Dec 2025 14:08:57 +0100 Subject: Fix truncation issue in libcmap_sprintf_range, and add LIBCMAP_ULTIMATE_CODEPOINT and LIBCMAP_UNIVERSE_RANGE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- libcmap_snprint_range.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'libcmap_snprint_range.c') diff --git a/libcmap_snprint_range.c b/libcmap_snprint_range.c index 268a80e..5dd8a7e 100644 --- a/libcmap_snprint_range.c +++ b/libcmap_snprint_range.c @@ -1,16 +1,12 @@ /* See LICENSE file for copyright and license details. */ -#include "libcmap.h" -#include +#include "common.h" int libcmap_snprint_range(char *buf, size_t bufsize, const struct libcmap_range *range, const char *endash) { - unsigned long int first = (unsigned long int)range->first; - unsigned long int last = (unsigned long int)range->last; - - if (first == last) - return snprintf(buf, bufsize, "U+%04lX", first); + if (range->first == range->last) + return snprintf(buf, bufsize, SINGLETON_RANGE_FMT, SINGLETON_RANGE_ARGS(range)); else - return snprintf(buf, bufsize, "U+%04lX%sU+%04lX", first, endash ? endash : "–", last); + return snprintf(buf, bufsize, RANGE_FMT, RANGE_ARGS(range, endash)); } -- cgit v1.3.1