diff options
author | Peter Breitenlohner <peb@mppmu.mpg.de> | 2013-01-05 09:44:43 +0000 |
---|---|---|
committer | Peter Breitenlohner <peb@mppmu.mpg.de> | 2013-01-05 09:44:43 +0000 |
commit | 31abeb756e78904f1452897fdcaa8a907c2ac1c7 (patch) | |
tree | 6be4c31afebc586237aadf9054e1297097e4c326 /Build/source/texk/web2c/xetexdir | |
parent | fc64f176db15d7daeac02df2d97d5169899b2f68 (diff) |
XeTeX: Build fixes
git-svn-id: svn://tug.org/texlive/trunk@28735 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/xetexdir')
-rw-r--r-- | Build/source/texk/web2c/xetexdir/ChangeLog | 9 | ||||
-rw-r--r-- | Build/source/texk/web2c/xetexdir/XeTeXFontMgr.cpp | 6 | ||||
-rw-r--r-- | Build/source/texk/web2c/xetexdir/XeTeXLayoutInterface.cpp | 6 | ||||
-rw-r--r-- | Build/source/texk/web2c/xetexdir/XeTeX_ext.c | 18 | ||||
-rw-r--r-- | Build/source/texk/web2c/xetexdir/trans.h | 4 |
5 files changed, 24 insertions, 19 deletions
diff --git a/Build/source/texk/web2c/xetexdir/ChangeLog b/Build/source/texk/web2c/xetexdir/ChangeLog index 96cc4ff9654..af93b44e953 100644 --- a/Build/source/texk/web2c/xetexdir/ChangeLog +++ b/Build/source/texk/web2c/xetexdir/ChangeLog @@ -1,3 +1,12 @@ +2013-01-05 Peter Breitenlohner <peb@mppmu.mpg.de> + + * XeTeX_ext.c: If necessary define or declare strndup(). + + * XeTeXFontMgr.cpp, XeTeXLayoutInterface.cpp: Drop definition + of M_PI here ... + * trans.h: ... and '#define M_PI' here immediately after + '#include <math.h>'. + 2013-01-04 Khaled Hosny <khaledhosny@eglug.org> Merge changes from XeTeX repository. diff --git a/Build/source/texk/web2c/xetexdir/XeTeXFontMgr.cpp b/Build/source/texk/web2c/xetexdir/XeTeXFontMgr.cpp index 51297c6d4aa..3521a6b9b35 100644 --- a/Build/source/texk/web2c/xetexdir/XeTeXFontMgr.cpp +++ b/Build/source/texk/web2c/xetexdir/XeTeXFontMgr.cpp @@ -39,12 +39,6 @@ authorization from the copyright holders. #include "XeTeXswap.h" #include "sfnt.h" -#ifdef _MSC_VER -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif -#endif - extern "C" { extern Fixed loadedfontdesignsize; } diff --git a/Build/source/texk/web2c/xetexdir/XeTeXLayoutInterface.cpp b/Build/source/texk/web2c/xetexdir/XeTeXLayoutInterface.cpp index ce6ee2cb78b..082025232c3 100644 --- a/Build/source/texk/web2c/xetexdir/XeTeXLayoutInterface.cpp +++ b/Build/source/texk/web2c/xetexdir/XeTeXLayoutInterface.cpp @@ -44,12 +44,6 @@ authorization from the copyright holders. #include "XeTeXFontMgr.h" #include "XeTeXswap.h" -#ifdef _MSC_VER -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif -#endif - struct XeTeXLayoutEngine_rec { XeTeXFontInst* font; diff --git a/Build/source/texk/web2c/xetexdir/XeTeX_ext.c b/Build/source/texk/web2c/xetexdir/XeTeX_ext.c index 2c7cd172265..68dc7b9a0a7 100644 --- a/Build/source/texk/web2c/xetexdir/XeTeX_ext.c +++ b/Build/source/texk/web2c/xetexdir/XeTeX_ext.c @@ -876,20 +876,24 @@ readFeatureNumber(const char* s, const char* e, int* f, int* v) return true; } -#ifdef _MSC_VER +#if !defined(HAVE_STRNDUP) +/* Inspired by the GNU C Library 2.3.6 + * Copyright (C) 1996, 1997, 1998, 2001, 2002 Free Software Foundation, Inc. + */ static char *strndup (const char *str, size_t n) { - char *ret; - size_t len = strlen (str); + const char *p = (const char *) memchr(str, 0, n); + size_t len = p ? p - str : n; /* strnlen(str, n) */ + char *ret = (char *) malloc (len + 1); - if (n < len) - len = n; - ret = (char *) malloc (len + 1); - if (!ret) + if (ret == NULL) return NULL; + ret[len] = '\0'; return (char *) memcpy (ret, str, len); } +#elif !(defined HAVE_DECL_STRNDUP && HAVE_DECL_STRNDUP) +char *strndup (const char *str, size_t n); #endif static void* diff --git a/Build/source/texk/web2c/xetexdir/trans.h b/Build/source/texk/web2c/xetexdir/trans.h index 70c575fa4b3..88facea6d63 100644 --- a/Build/source/texk/web2c/xetexdir/trans.h +++ b/Build/source/texk/web2c/xetexdir/trans.h @@ -42,6 +42,10 @@ typedef CGAffineTransform transform; #else #include <math.h> +/* apparently M_PI isn't defined by <math.h> under VC++ */ +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif typedef struct { double a; |