freebsd-ports/x11-fonts/alfont/files/patch-src_alfont.c
Rene Ladan 38c94a687d x11-fonts/alfont: fix build and undeprecate, also clean up fetching.
Somehow I failed to see this patch earlier when the port originally expired.

PR:		213600
Submitted by:	timon at timon.net.nz
Approved by:	maintainer timeout (nemysis@, 1 year)
MFH:		2017Q4
2017-11-12 12:35:22 +00:00

120 lines
3.8 KiB
C

--- src/alfont.c.orig 2016-10-18 20:04:21 UTC
+++ src/alfont.c
@@ -1,3 +1,28 @@
+/*
+ * Modified Alfont 2.0.9
+ *
+ * The original AllegroFont v2.0.9 has a few problems.
+ * This modification solves them.
+ *
+ * Modification by: Alexandre Martins (thanks to http://allegro.cc forums)
+ * Modification date: 2010-10-30
+ *
+ * Modification by: Rusmir Dusko
+ * (thanks to http://allegro.cc forums and Hans de Goede [alfont] Fix undefined reference to _msize)
+ * Modification date: 2014-03-10
+ *
+ * Original Alfont website: http://chernsha.sitesled.com/
+ * AllegroFont (c) 2001, 2002 Javier Gonzalez
+ * Enhanced by Chernsha since 2004 year
+ */
+
+//#define malloc_usable_size malloc_size
+
+#ifdef __GNUC__
+#define _msize malloc_usable_size
+#include <malloc_np.h>
+#endif
+
/* AllegroFont - a wrapper for FreeType 2 */
/* to render TTF and other font formats with Allegro */
@@ -336,7 +361,7 @@ int alfont_set_font_size(ALFONT_FONT *f,
break;
/* compare real height with asked height */
- real_height = abs(f->face->size->metrics.ascender >> 6) + abs(f->face->size->metrics.descender >> 6);
+ real_height = labs(f->face->size->metrics.ascender >> 6) + labs(f->face->size->metrics.descender >> 6);
if (real_height == h) {
/* we found the wanted height */
break;
@@ -468,7 +493,7 @@ ALFONT_FONT *alfont_load_font(const char
alfont_set_char_extra_spacing(font, 0);
//Initial Font attribute
- font->language=""; /* Initial Language */
+ font->language=NULL; /* Initial Language */
font->type=0; /* Initial Code Convert */
font->outline_top=0; /* Initial Font top outline width */
font->outline_bottom=0; /* Initial Font bottom outline width */
@@ -515,7 +540,7 @@ ALFONT_FONT *alfont_load_font_from_mem(c
memcpy((void *)font->data, (void *)data, data_len);
/* load the font */
- error = FT_New_Memory_Face(ft_library, font->data, font->data_size, 0, &font->face);
+ error = FT_New_Memory_Face(ft_library, (unsigned char*)font->data, font->data_size, 0, &font->face);
if (error) {
free(font->data);
@@ -548,7 +573,7 @@ ALFONT_FONT *alfont_load_font_from_mem(c
alfont_set_char_extra_spacing(font, 0);
//Initial Font attribute
- font->language=""; /* Initial Language */
+ font->language=NULL; /* Initial Language */
font->type=0; /* Initial Code Convert */
font->outline_top=0; /* Initial Font top outline width */
font->outline_bottom=0; /* Initial Font bottom outline width */
@@ -3761,15 +3786,15 @@ int alfont_ugetx(ALFONT_FONT *f, char **
//advances the *s pointer to the next character
if (f->type==1) {
- ugetxc((char**)s);
+ ugetxc((const char**)s);
#ifdef ALFONT_LINUX
- ugetxc((char**)s);
+ ugetxc((const char**)s);
#endif
}
else if(f->type==2) {
- ugetxc(&lpszWS);
+ ugetxc((const char**)&lpszWS);
#ifdef ALFONT_LINUX
- ugetxc(&lpszWS);
+ ugetxc((const char**)&lpszWS);
#endif
#ifdef ALFONT_DOS
if ((c_pt = iconv_open(f->language, "UTF-16LE")) == (iconv_t)-1) {
@@ -3814,9 +3839,9 @@ int alfont_ugetx(ALFONT_FONT *f, char **
#ifdef ALFONT_LINUX
set_uformat(U_UTF8);
#endif
- ugetxc((char**)s);
+ ugetxc((const char**)s);
#ifdef ALFONT_LINUX
- ugetxc((char**)s);
+ ugetxc((const char**)s);
#endif
}
@@ -4083,9 +4108,9 @@ int alfont_ugetxc(ALFONT_FONT *f, const
#endif
}
else if(f->type==2) {
- ugetxc(&lpszWS);
+ ugetxc((const char**)&lpszWS);
#ifdef ALFONT_LINUX
- ugetxc(&lpszWS);
+ ugetxc((const char**)&lpszWS);
#endif
#ifdef ALFONT_DOS
if ((c_pt = iconv_open(f->language, "UTF-16LE")) == (iconv_t)-1) {
@@ -4828,7 +4853,7 @@ void alfont_set_language(ALFONT_FONT *f,
}
else
{
- f->language=(char *)malloc(strlen(language)*sizeof(char));
+ f->language=(char *)malloc((strlen(language)+1)*sizeof(char));
strcpy(f->language,language);
}
}