texlive[47799] Build/source/texk/dvipdfm-x: First search for an input

commits+kakuto at tug.org commits+kakuto at tug.org
Wed May 23 02:31:15 CEST 2018


Revision: 47799
          http://tug.org/svn/texlive?view=revision&revision=47799
Author:   kakuto
Date:     2018-05-23 02:31:14 +0200 (Wed, 23 May 2018)
Log Message:
-----------
First search for an input file with a suffix .xdv or .dvi. Report from Andreas Scherer.

Modified Paths:
--------------
    trunk/Build/source/texk/dvipdfm-x/ChangeLog
    trunk/Build/source/texk/dvipdfm-x/dvi.c

Modified: trunk/Build/source/texk/dvipdfm-x/ChangeLog
===================================================================
--- trunk/Build/source/texk/dvipdfm-x/ChangeLog	2018-05-23 00:18:01 UTC (rev 47798)
+++ trunk/Build/source/texk/dvipdfm-x/ChangeLog	2018-05-23 00:31:14 UTC (rev 47799)
@@ -1,3 +1,9 @@
+2018-05-23  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
+
+	* dvi.c: First search for an input file with a suffix .xdv
+	or .dvi. Report from Andreas Scherer:
+	http://tug.org/pipermail/tex-k/2018-May/002882.html.
+
 2018-05-16  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
 
 	* pdfparse.c: Revert. The changes on 2018-05-14 must be

Modified: trunk/Build/source/texk/dvipdfm-x/dvi.c
===================================================================
--- trunk/Build/source/texk/dvipdfm-x/dvi.c	2018-05-23 00:18:01 UTC (rev 47798)
+++ trunk/Build/source/texk/dvipdfm-x/dvi.c	2018-05-23 00:31:14 UTC (rev 47799)
@@ -1,6 +1,6 @@
 /* This is dvipdfmx, an eXtended version of dvipdfm by Mark A. Wicks.
 
-    Copyright (C) 2002-2017 by Jin-Hwan Cho and Shunsaku Hirata,
+    Copyright (C) 2002-2018 by Jin-Hwan Cho and Shunsaku Hirata,
     the dvipdfmx project team.
 
     Copyright (C) 2012-2015 by Khaled Hosny <khaledhosny at eglug.org>
@@ -1999,21 +1999,24 @@
     else
       ungetc(ch, dvi_file);
   } else {
-    dvi_file = MFOPEN(dvi_filename, FOPEN_RBIN_MODE);
-    if (!dvi_file) {
-      char *p;
-      p = strrchr(dvi_filename, '.');
-      if (p == NULL || (!FILESTRCASEEQ(p, ".dvi") &&
-                        !FILESTRCASEEQ(p, ".xdv"))) {
-        strcat(dvi_filename, ".xdv");
+    char *p, *saved_orig_name;
+    dvi_file = NULL;
+    saved_orig_name = xstrdup(dvi_filename);
+    p = strrchr(dvi_filename, '.');
+    if (p == NULL || (!FILESTRCASEEQ(p, ".dvi") &&
+                      !FILESTRCASEEQ(p, ".xdv"))) {
+      strcat(dvi_filename, ".xdv");
+      dvi_file = MFOPEN(dvi_filename, FOPEN_RBIN_MODE);
+      if (!dvi_file) {
+        dvi_filename[strlen(dvi_filename) - 4] = '\0';
+        strcat(dvi_filename, ".dvi");
         dvi_file = MFOPEN(dvi_filename, FOPEN_RBIN_MODE);
-        if (!dvi_file) {
-          dvi_filename[strlen(dvi_filename) - 4] = '\0';
-          strcat(dvi_filename, ".dvi");
-          dvi_file = MFOPEN(dvi_filename, FOPEN_RBIN_MODE);
-        }
       }
     }
+    if (!dvi_file)
+      dvi_file = MFOPEN(saved_orig_name, FOPEN_RBIN_MODE);
+    free(saved_orig_name);
+
     if (!dvi_file) {
       ERROR("Could not open specified DVI (or XDV) file: %s",
             dvi_filename);



More information about the tex-live-commits mailing list