texlive[60047] Build/source/texk/web2c/lib: web2c/lib: patch for

commits+takuji at tug.org commits+takuji at tug.org
Sun Jul 25 01:04:16 CEST 2021


Revision: 60047
          http://tug.org/svn/texlive?view=revision&revision=60047
Author:   takuji
Date:     2021-07-25 01:04:15 +0200 (Sun, 25 Jul 2021)
Log Message:
-----------
web2c/lib: patch for Visual Studio 2015 (Windows only)

Modified Paths:
--------------
    trunk/Build/source/texk/web2c/lib/ChangeLog
    trunk/Build/source/texk/web2c/lib/texmfmp.c

Modified: trunk/Build/source/texk/web2c/lib/ChangeLog
===================================================================
--- trunk/Build/source/texk/web2c/lib/ChangeLog	2021-07-24 20:50:42 UTC (rev 60046)
+++ trunk/Build/source/texk/web2c/lib/ChangeLog	2021-07-24 23:04:15 UTC (rev 60047)
@@ -1,3 +1,8 @@
+2021-07-25  TANAKA Takuji  <ttk at t-lab.opal.ne.jp>
+
+	* texmfmp.c: Apply patch of W32TeX for Visual Studio 2015
+	by Kakuto-san.
+
 2021-05-18  Karl Berry  <karl at freefriends.org>
 
 	* usage.c (usagehelp): if bug_email arg ends in "@tug.org"

Modified: trunk/Build/source/texk/web2c/lib/texmfmp.c
===================================================================
--- trunk/Build/source/texk/web2c/lib/texmfmp.c	2021-07-24 20:50:42 UTC (rev 60046)
+++ trunk/Build/source/texk/web2c/lib/texmfmp.c	2021-07-24 23:04:15 UTC (rev 60047)
@@ -1065,6 +1065,25 @@
 #endif /* TeX */
 }
 
+#if defined(_MSC_VER) && _MSC_VER > 1600
+#include <crtdbg.h>
+void
+myInvalidParameterHandler(const wchar_t* expression,
+   const wchar_t* function, 
+   const wchar_t* file, 
+   unsigned int line, 
+   uintptr_t pReserved)
+{
+/* After updating a compiler from Visual Studio 2010 to
+   Visual Studio 2015, XeTeX exits with the code 0xc0000417,
+   that means "invalid paremeter in CRT detected".
+   Probably it is safe to ignore the error.
+   So I use a handler which smiply return.
+*/
+   return;
+}
+#endif /* defined(_MSC_VER) ... */
+
 /* main: Set up for reading the command line, which will happen in
    `maininit' and `topenin', then call the main body, plus
    special Windows/Kanji initializations.  */
@@ -1081,6 +1100,13 @@
   _response (&ac, &av);
 #endif
 
+#if defined(_MSC_VER) && _MSC_VER > 1600
+   _invalid_parameter_handler oldHandler, newHandler;
+   newHandler = myInvalidParameterHandler;
+   oldHandler = _set_invalid_parameter_handler(newHandler);
+   _CrtSetReportMode(_CRT_ASSERT, 0);
+#endif /* defined(_MSC_VER) ... */
+
 #ifdef WIN32
   av[0] = kpse_program_basename (av[0]);
   _setmaxstdio(2048);



More information about the tex-live-commits mailing list.