changeset 31211:8340137bb190

maint: Merge stable to default.
author Markus Mützel <markus.muetzel@gmx.de>
date Mon, 29 Aug 2022 13:58:00 +0200
parents f5db0112f7e8 (current diff) 9ad55d2e1bbf (diff)
children 55415fa6a20f
files libinterp/corefcn/latex-text-renderer.cc
diffstat 1 files changed, 17 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/corefcn/latex-text-renderer.cc	Mon Aug 29 13:45:43 2022 +0200
+++ b/libinterp/corefcn/latex-text-renderer.cc	Mon Aug 29 13:58:00 2022 +0200
@@ -215,7 +215,24 @@
     if (m_tmp_dir.empty ())
       {
         //Create the temporary directory
+#if defined (OCTAVE_USE_WINDOWS_API)
+        static std::string base_tmp_dir;
+
+        if (base_tmp_dir.empty ())
+          {
+            base_tmp_dir = sys::env::get_temp_directory ();
+
+            // Make sure we don't get short 8.3 path on Windows since some
+            // versions of latex on that platform don't support them
+            // (see bug #62779)
+            if (base_tmp_dir.find ('~') != std::string::npos)
+              base_tmp_dir = sys::canonicalize_file_name (base_tmp_dir);
+          }
+
+        m_tmp_dir = sys::tempnam (base_tmp_dir, "latex");
+#else
         m_tmp_dir = sys::tempnam ("", "latex");
+#endif
 
         if (sys::mkdir (m_tmp_dir, 0700) != 0)
           {