cvs: gd /gd-pango gd_pango.c gd_pango.h
[email protected] ("Takeshi Abe") Sun, 14 Sep 2008 15:21:13 -0000
| Newsgroups | php.gd.cvs |
|---|---|
| Message-ID | <cvstabe1221405673@cvsserver> |
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 <[email protected]> |
+----------------------------------------------------------------------+
*/
-/* $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 <[email protected]> |
+----------------------------------------------------------------------+
*/
-/* $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: