mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-02 05:55:38 +00:00
Quote graphics conversion commands correctly.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9820 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
f724b28cd9
commit
9d3de76fdf
@ -1,3 +1,7 @@
|
|||||||
|
2005-04-17 Angus Leeming <leeming@lyx.org>
|
||||||
|
|
||||||
|
* GraphicsConverter.C (c-tor): quote conversion commands correctly.
|
||||||
|
|
||||||
2005-02-15 Angus Leeming <leeming@lyx.org>
|
2005-02-15 Angus Leeming <leeming@lyx.org>
|
||||||
|
|
||||||
* GraphicsLoader.C: s/struct/class/ in definition of
|
* GraphicsLoader.C: s/struct/class/ in definition of
|
||||||
|
@ -167,9 +167,12 @@ Converter::Impl::Impl(string const & from_file, string const & to_file_base,
|
|||||||
|
|
||||||
if (!success) {
|
if (!success) {
|
||||||
script_command_ =
|
script_command_ =
|
||||||
"sh " + LibFileSearch("scripts", "convertDefault.sh") +
|
"sh " +
|
||||||
' ' + from_format + ':' + from_file + ' ' +
|
QuoteName(LibFileSearch("scripts", "convertDefault.sh")) +
|
||||||
to_format + ':' + to_file_;
|
' ' +
|
||||||
|
QuoteName(from_format + ':' + from_file) +
|
||||||
|
' ' +
|
||||||
|
QuoteName(to_format + ':' + to_file_);
|
||||||
|
|
||||||
lyxerr[Debug::GRAPHICS]
|
lyxerr[Debug::GRAPHICS]
|
||||||
<< "\tNo converter defined! I use convertDefault.sh\n\t"
|
<< "\tNo converter defined! I use convertDefault.sh\n\t"
|
||||||
@ -203,8 +206,9 @@ Converter::Impl::Impl(string const & from_file, string const & to_file_base,
|
|||||||
// We create a dummy command for ease of understanding of the
|
// We create a dummy command for ease of understanding of the
|
||||||
// list of forked processes.
|
// list of forked processes.
|
||||||
// Note: 'sh ' is absolutely essential, or execvp will fail.
|
// Note: 'sh ' is absolutely essential, or execvp will fail.
|
||||||
script_command_ = "sh " + script_file_ + ' ' +
|
script_command_ = "sh " + QuoteName(script_file_) + ' ' +
|
||||||
OnlyFilename(from_file) + ' ' + to_format;
|
QuoteName(OnlyFilename(from_file)) + ' ' +
|
||||||
|
QuoteName(to_format);
|
||||||
}
|
}
|
||||||
// All is ready to go
|
// All is ready to go
|
||||||
valid_process_ = true;
|
valid_process_ = true;
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
2005-04-17 Angus Leeming <leeming@lyx.org>
|
||||||
|
|
||||||
|
* forkedcall.C (generateChild): do not strip quotes from args on
|
||||||
|
Windows.
|
||||||
|
Wrap lyxerr output inside an if (lyxerr.debugging(Debug::FILES))
|
||||||
|
block.
|
||||||
|
|
||||||
2005-03-23 Angus Leeming <leeming@lyx.org>
|
2005-03-23 Angus Leeming <leeming@lyx.org>
|
||||||
|
|
||||||
* Makefile.am (build_package): Solaris sed does not like
|
* Makefile.am (build_package): Solaris sed does not like
|
||||||
|
@ -282,11 +282,23 @@ int Forkedcall::generateChild()
|
|||||||
if (c == ' ')
|
if (c == ' ')
|
||||||
*it = '\0';
|
*it = '\0';
|
||||||
else if (c == '\'' || c == '"') {
|
else if (c == '\'' || c == '"') {
|
||||||
|
#if defined (_WIN32)
|
||||||
|
// How perverse!
|
||||||
|
// spawnvp *requires* the quotes or it will
|
||||||
|
// split the arg at the internal whitespace!
|
||||||
|
// Make shure the quote is a DOS-style one.
|
||||||
|
*it = '"';
|
||||||
|
#else
|
||||||
*it = '\0';
|
*it = '\0';
|
||||||
|
#endif
|
||||||
inside_quote = c;
|
inside_quote = c;
|
||||||
}
|
}
|
||||||
} else if (c == inside_quote) {
|
} else if (c == inside_quote) {
|
||||||
|
#if defined (_WIN32)
|
||||||
|
*it = '"';
|
||||||
|
#else
|
||||||
*it = '\0';
|
*it = '\0';
|
||||||
|
#endif
|
||||||
inside_quote = 0;
|
inside_quote = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -303,13 +315,16 @@ int Forkedcall::generateChild()
|
|||||||
argv.push_back(0);
|
argv.push_back(0);
|
||||||
|
|
||||||
// Debug output.
|
// Debug output.
|
||||||
vector<char *>::iterator ait = argv.begin();
|
if (lyxerr.debugging(Debug::FILES)) {
|
||||||
vector<char *>::iterator const aend = argv.end();
|
vector<char *>::iterator ait = argv.begin();
|
||||||
lyxerr << "<command>\n";
|
vector<char *>::iterator const aend = argv.end();
|
||||||
for (; ait != aend; ++ait)
|
lyxerr << "<command>\n\t" << line
|
||||||
if (*ait)
|
<< "\n\tInterpretted as:\n\n";
|
||||||
lyxerr << '\t'<< *ait << '\n';
|
for (; ait != aend; ++ait)
|
||||||
lyxerr << "</command>" << std::endl;
|
if (*ait)
|
||||||
|
lyxerr << '\t'<< *ait << '\n';
|
||||||
|
lyxerr << "</command>" << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
#ifndef __EMX__
|
#ifndef __EMX__
|
||||||
pid_t const cpid = ::fork();
|
pid_t const cpid = ::fork();
|
||||||
|
Loading…
Reference in New Issue
Block a user