diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2016-01-20 22:51:05 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2016-01-20 22:51:05 +0000 |
commit | 750677795ba1ca41627edd68a4de24e0d6c07a20 (patch) | |
tree | cf04e63db0e52cc7cc0eda94fac0fabf7de79143 | |
parent | a774e9473df785f77e86e69a7d450324a2aa03a3 (diff) | |
download | netsurf-750677795ba1ca41627edd68a4de24e0d6c07a20.tar.gz netsurf-750677795ba1ca41627edd68a4de24e0d6c07a20.tar.bz2 |
Alloc font name on the stack
-rw-r--r-- | amiga/font_diskfont.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/amiga/font_diskfont.c b/amiga/font_diskfont.c index 7b8819969..bd1e1f9d0 100644 --- a/amiga/font_diskfont.c +++ b/amiga/font_diskfont.c @@ -35,11 +35,14 @@ #include "amiga/gui.h" #include "amiga/utf8.h" +#define MAX_FONT_NAME_SIZE 33 + static struct TextFont *ami_font_bm_open(struct RastPort *rp, const plot_font_style_t *fstyle) { struct TextFont *bmfont = NULL; struct TextAttr tattr; - char *fontname, *font; + char *fontname; + char font[MAX_FONT_NAME_SIZE]; if(rp == NULL) return NULL; @@ -78,14 +81,12 @@ static struct TextFont *ami_font_bm_open(struct RastPort *rp, const plot_font_st if (fstyle->weight >= 700) tattr.ta_Style |= FSF_BOLD; - if((font = ASPrintf("%s.font", fontname))) { - tattr.ta_Name = font; - tattr.ta_YSize = fstyle->size / FONT_SIZE_SCALE; - LOG("font: %s/%d", tattr.ta_Name, tattr.ta_YSize); - if((bmfont = OpenDiskFont(&tattr))) { - SetRPAttrs(rp, RPTAG_Font, bmfont, TAG_DONE); - } - FreeVec(font); + snprintf(font, MAX_FONT_NAME_SIZE, "%s.font", fontname); + tattr.ta_Name = font; + tattr.ta_YSize = fstyle->size / FONT_SIZE_SCALE; + LOG("font: %s/%d", tattr.ta_Name, tattr.ta_YSize); + if((bmfont = OpenDiskFont(&tattr))) { + SetRPAttrs(rp, RPTAG_Font, bmfont, TAG_DONE); } return bmfont; |