X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsupport%2Ffiletools.cpp;h=12457cb3ae328a4c2c679887b4313d1949356286;hb=bf56e2c8e1afa857cd5e313c19948040e41b8227;hp=a72c93ed610ce7c711df4eab94f2d8d0f7ae7446;hpb=637fbb7ac9f43aac5bcfc09adca0e5ca0631a14b;p=lyx.git diff --git a/src/support/filetools.cpp b/src/support/filetools.cpp index a72c93ed61..12457cb3ae 100644 --- a/src/support/filetools.cpp +++ b/src/support/filetools.cpp @@ -21,6 +21,7 @@ #include +#include "LyX.h" #include "LyXRC.h" #include "support/filetools.h" @@ -51,6 +52,7 @@ #endif #include +#include #include #include @@ -643,35 +645,6 @@ string const onlyFileName(string const & fname) } -// Create absolute path. If impossible, don't do anything -// Supports ./ and ~/. Later we can add support for ~logname/. (Asger) -string const expandPath(string const & path) -{ - // checks for already absolute path - string rTemp = replaceEnvironmentPath(path); - if (FileName::isAbsolute(rTemp)) - return rTemp; - - string temp; - string const copy = rTemp; - - // Split by next / - rTemp = split(rTemp, temp, '/'); - - if (temp == ".") - return FileName::getcwd().absFileName() + '/' + rTemp; - - if (temp == "~") - return Package::get_home_dir().absFileName() + '/' + rTemp; - - if (temp == "..") - return makeAbsPath(copy).absFileName(); - - // Don't know how to handle this - return copy; -} - - // Search the string for ${VAR} and $VAR and replace VAR using getenv. string const replaceEnvironmentPath(string const & path) { @@ -1023,6 +996,11 @@ cmd_ret const runCommand(string const & cmd) // pstream (process stream), with the // variants ipstream, opstream + if (verbose) + lyxerr << "\nRunning: " << cmd << endl; + else + LYXERR(Debug::INFO,"Running: " << cmd); + #if defined (_WIN32) STARTUPINFO startup; PROCESS_INFORMATION process; @@ -1093,10 +1071,14 @@ cmd_ret const runCommand(string const & cmd) #if defined (_WIN32) WaitForSingleObject(process.hProcess, INFINITE); + DWORD pret; + if (!GetExitCodeProcess(process.hProcess, &pret)) + pret = -1; if (!infile.empty()) CloseHandle(startup.hStdInput); CloseHandle(process.hProcess); - int const pret = fclose(inf); + if (fclose(inf) != 0) + pret = -1; #elif defined (HAVE_PCLOSE) int const pret = pclose(inf); #elif defined (HAVE__PCLOSE)