summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-03-29 10:27:10 +0100
committerSam James <sam@gentoo.org>2022-04-17 12:53:05 +0100
commit085bde903b9e684c3c1160e4df912bea9a660997 (patch)
treec4f5e6e9f2422e869ca5bc0b944520d451001282 /psi/zfapi.c
parentImport Ghostscript 9.55 (diff)
downloadghostscript-gpl-patches-085bde903b9e684c3c1160e4df912bea9a660997.tar.gz
ghostscript-gpl-patches-085bde903b9e684c3c1160e4df912bea9a660997.tar.bz2
ghostscript-gpl-patches-085bde903b9e684c3c1160e4df912bea9a660997.zip
Import Ghostscript 9.56.0ghostscript-9.56
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'psi/zfapi.c')
-rw-r--r--psi/zfapi.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/psi/zfapi.c b/psi/zfapi.c
index 0b3ab1cf..6927e60e 100644
--- a/psi/zfapi.c
+++ b/psi/zfapi.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2021 Artifex Software, Inc.
+/* Copyright (C) 2001-2022 Artifex Software, Inc.
All Rights Reserved.
This software is provided AS-IS with no warranty, either express or
@@ -189,8 +189,9 @@ sfnts_reader_seek(sfnts_reader *r, ulong pos)
}
static void
-sfnts_reader_init(sfnts_reader *r, ref *pdr)
+sfnts_reader_init(const gs_memory_t *mem, sfnts_reader *r, ref *pdr)
{
+ r->memory = mem;
r->rbyte = sfnts_reader_rbyte;
r->rword = sfnts_reader_rword;
r->rlong = sfnts_reader_rlong;
@@ -381,11 +382,11 @@ sfnts_copy_except_glyf(sfnts_reader *r, sfnts_writer *w)
}
static int
-true_type_size(ref *pdr, unsigned long int *length)
+true_type_size(const gs_memory_t *mem, ref *pdr, unsigned long int *length)
{
sfnts_reader r;
- sfnts_reader_init(&r, pdr);
+ sfnts_reader_init(mem, &r, pdr);
*length = sfnts_copy_except_glyf(&r, 0);
return r.error;
@@ -400,7 +401,7 @@ FAPI_FF_serialize_tt_font(gs_fapi_font *ff, void *buf, int buf_size)
w.buf_size = buf_size;
w.buf = w.p = buf;
- sfnts_reader_init(&r, pdr);
+ sfnts_reader_init(ff->memory, &r, pdr);
return sfnts_copy_except_glyf(&r, &w);
}
@@ -691,11 +692,11 @@ FAPI_FF_get_word(gs_fapi_font *ff, gs_fapi_font_feature var_id, int index, unsig
length += r_size(&string) + 1;
break;
case t_real:
- gs_sprintf(Buffer, "%f", Element.value.realval);
+ gs_snprintf(Buffer, sizeof(Buffer), "%f", Element.value.realval);
length += strlen(Buffer) + 1;
break;
case t_integer:
- gs_sprintf(Buffer, "%"PRIpsint, Element.value.intval);
+ gs_snprintf(Buffer, sizeof(Buffer), "%"PRIpsint, Element.value.intval);
length += strlen(Buffer) + 1;
break;
case t_operator:
@@ -1409,7 +1410,7 @@ FAPI_FF_get_long(gs_fapi_font *ff, gs_fapi_font_feature var_id, int index, unsig
}
break;
case gs_fapi_font_feature_TT_size:
- code = true_type_size(pdr, ret);
+ code = true_type_size(ff->memory, pdr, ret);
break;
}
return code;
@@ -1657,12 +1658,12 @@ FAPI_FF_get_proc(gs_fapi_font *ff, gs_fapi_font_feature var_id, int index,
ptr += r_size(&string);
break;
case t_real:
- gs_sprintf(Buf, "%f", Element.value.realval);
+ gs_snprintf(Buf, sizeof(Buf), "%f", Element.value.realval);
strcpy(ptr, Buf);
ptr += strlen(Buf);
break;
case t_integer:
- gs_sprintf(Buf, "%"PRIpsint, Element.value.intval);
+ gs_snprintf(Buf, sizeof(Buf), "%"PRIpsint, Element.value.intval);
strcpy(ptr, Buf);
ptr += strlen(Buf);
break;
@@ -1902,7 +1903,7 @@ sfnt_get_glyph_offset(ref *pdr, gs_font_type42 *pfont42, int index,
ulong fullsize;
if (index < pfont42->data.trueNumGlyphs) {
- sfnts_reader_init(&r, pdr);
+ sfnts_reader_init(pfont42->memory, &r, pdr);
r.seek(&r, pfont42->data.loca + index * (ulong)glyf_elem_size);
*offset0 =
pfont42->data.glyf + (glyf_elem_size ==
@@ -2156,7 +2157,7 @@ FAPI_FF_get_glyph(gs_fapi_font *ff, gs_glyph char_code, byte *buf, int buf_lengt
if (buf != 0 && !error) {
sfnts_reader r;
- sfnts_reader_init(&r, pdr);
+ sfnts_reader_init(pfont42->memory, &r, pdr);
r.seek(&r, offset0);
length_read =