cvs: gd /gd-pango gd_pango.c gd_pango.h

From: Date: Sun, 14 Sep 2008 15:21:13 +0000
Subject: cvs: gd /gd-pango gd_pango.c gd_pango.h
Groups: php.gd.cvs 
Request: Send a blank email to php-gd-cvs+get-538@lists.php.net to get a copy of this message
tabe Sun Sep 14 15:21:13 2008 UTC Modified files: /gd/gd-pango gd_pango.h gd_pango.c Log: replaced glib string utilities http://cvs.php.net/viewvc.cgi/gd/gd-pango/gd_pango.h?r1=1.9&r2=1.10&diff_format=u Index: gd/gd-pango/gd_pango.h diff -u gd/gd-pango/gd_pango.h:1.9 gd/gd-pango/gd_pango.h:1.10 --- gd/gd-pango/gd_pango.h:1.9 Tue Jul 1 11:40:27 2008 +++ gd/gd-pango/gd_pango.h Sun Sep 14 15:21:13 2008 @@ -15,14 +15,14 @@ | Authors: Pierre-A. Joye <pierre@php.net> | +----------------------------------------------------------------------+ */ -/* $Id: gd_pango.h,v 1.9 2008/07/01 11:40:27 tabe Exp $ */ +/* $Id: gd_pango.h,v 1.10 2008/09/14 15:21:13 tabe Exp $ */ /** * @file * @brief Header file of gd-pango * * @author Pierre-Alain Joye * @date 2006/12/19 - * $Id: gd_pango.h,v 1.9 2008/07/01 11:40:27 tabe Exp $ + * $Id: gd_pango.h,v 1.10 2008/09/14 15:21:13 tabe Exp $ */ #ifndef GD_PANGO_H @@ -52,6 +52,7 @@ enum { GD_PANGO_ERROR_FC_FT, GD_PANGO_ERROR_FC_PAT, + GD_PANGO_ERROR_FORMAT, }; /** http://cvs.php.net/viewvc.cgi/gd/gd-pango/gd_pango.c?r1=1.14&r2=1.15&diff_format=u Index: gd/gd-pango/gd_pango.c diff -u gd/gd-pango/gd_pango.c:1.14 gd/gd-pango/gd_pango.c:1.15 --- gd/gd-pango/gd_pango.c:1.14 Thu Sep 11 14:48:54 2008 +++ gd/gd-pango/gd_pango.c Sun Sep 14 15:21:13 2008 @@ -15,7 +15,7 @@ | Authors: Pierre-A. Joye <pierre@php.net> | +----------------------------------------------------------------------+ */ -/* $Id: gd_pango.c,v 1.14 2008/09/11 14:48:54 tabe Exp $ */ +/* $Id: gd_pango.c,v 1.15 2008/09/14 15:21:13 tabe Exp $ */ /** * @file * @brief Pango support for GD @@ -24,7 +24,7 @@ * * @author Pierre-Alain Joye * @date 2006/12/19 - * $Id: gd_pango.c,v 1.14 2008/09/11 14:48:54 tabe Exp $ + * $Id: gd_pango.c,v 1.15 2008/09/14 15:21:13 tabe Exp $ */ /** * \mainpage @@ -818,28 +818,36 @@ FcValue fcFamilyName; FcResult fcResult; int numFonts; - char *font_desc, buf[G_ASCII_DTOSTR_BUF_SIZE]; - int r; + char *font_desc; + int n, r = GD_FAILURE; fcBlanks = FcBlanksCreate(); fcPattern = FcFreeTypeQuery(fontlist, 0, fcBlanks, &numFonts); if (!fcPattern) { if (error) *error = GD_PANGO_ERROR_FC_FT; - r = GD_FAILURE; goto fail0; } fcResult = FcPatternGet(fcPattern, FC_FAMILY, 0, &fcFamilyName); if (fcResult != FcResultMatch) { if (error) *error = GD_PANGO_ERROR_FC_PAT; - r = GD_FAILURE; goto fail1; } - g_ascii_dtostr(buf, sizeof(buf), ptsize); - font_desc = g_strconcat(fcFamilyName.u.s, " ", buf, NULL); + n = snprintf(NULL, 0, "%s %f", fcFamilyName.u.s, ptsize); + if (n <= 0) { + if (error) *error = GD_PANGO_ERROR_FORMAT; + goto fail1; + } + font_desc = g_malloc(n + 1); + n = snprintf(font_desc, n + 1, "%s %f", fcFamilyName.u.s, ptsize); + if (n <= 0) { + if (error) *error = GD_PANGO_ERROR_FORMAT; + goto fail2; + } context->font_desc = pango_font_description_from_string(font_desc); - g_free(font_desc); r = GD_SUCCESS; + fail2: + g_free(font_desc); fail1: FcPatternDestroy(fcPattern); fail0:

« previous php.gd.cvs (#538) next »