commit 9047d60c5a5ddb17e810116bf9e21db7450d0a8f
Author: Juergen Spitzmueller <[email protected]>
Date:   Wed Dec 28 14:05:23 2022 +0100

    tex2lyx: exit earlier if input file could not be found
    
    In particular, do not write an empty .lyx file (#12339)
---
 src/tex2lyx/tex2lyx.cpp |   25 +++++++++++++++----------
 1 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/src/tex2lyx/tex2lyx.cpp b/src/tex2lyx/tex2lyx.cpp
index 308d5b1..8e3b667 100644
--- a/src/tex2lyx/tex2lyx.cpp
+++ b/src/tex2lyx/tex2lyx.cpp
@@ -979,16 +979,9 @@ bool tex2lyx(idocstream & is, ostream & os, string const & 
encoding,
 
 
 /// convert TeX from \p infilename to LyX and write it to \p os
-bool tex2lyx(FileName const & infilename_in, ostream & os, string encoding,
+bool tex2lyx(FileName const & infilename, ostream & os, string encoding,
              string const & outfiledir)
 {
-       FileName infilename = infilename_in;
-       // Like TeX, we consider files without extensions as *.tex files
-       // and append the extension if the file without ext does not exist
-       // (#12340)
-       if (!infilename.exists() && infilename.extension().empty())
-               infilename.changeExtension("tex");
-
        // Set a sensible default encoding.
        // This is used until an encoding command is found.
        // For child documents use the encoding of the master, else try to
@@ -1046,6 +1039,18 @@ bool tex2lyx(FileName const & infilename_in, ostream & 
os, string encoding,
 bool tex2lyx(string const & infilename, FileName const & outfilename,
             string const & encoding)
 {
+       FileName ifname = FileName(infilename);
+       // Like TeX, we consider files without extensions as *.tex files
+       // and append the extension if the file without ext does not exist
+       // (#12340)
+       if (!ifname.exists() && ifname.extension().empty()) {
+               ifname.changeExtension("tex");
+               if (!ifname.exists()) {
+                       cerr << "Could not open input file \"" << infilename
+                            << "\" for reading." << endl;
+                       return false;
+               }
+       }
        if (outfilename.isReadableFile()) {
                if (overwrite_files) {
                        cerr << "Overwriting existing file "
@@ -1065,10 +1070,10 @@ bool tex2lyx(string const & infilename, FileName const 
& outfilename,
                return false;
        }
 #ifdef FILEDEBUG
-       cerr << "Input file: " << infilename << "\n";
+       cerr << "Input file: " << ifname << "\n";
        cerr << "Output file: " << outfilename << "\n";
 #endif
-       return tex2lyx(FileName(infilename), os, encoding,
+       return tex2lyx(ifname, os, encoding,
                       outfilename.onlyPath().absFileName() + '/');
 }
 
-- 
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to