Fix latex_path on cygwin:

* src/support/os.h
        * src/support/os_unix.C
        * src/support/os_win32.C
        * src/support/os_cygwin.C
        (latex_path): new function, handle the OS-specific part of
        lyx::support::latex_path

        * src/support/filetools.C
        (latex_path): use lyx::os::support::latex_path (bug 2409)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13474 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Georg Baum 2006-03-24 12:48:37 +00:00
parent a9b0afd3b5
commit 05ea233390
5 changed files with 31 additions and 0 deletions

View File

@ -87,6 +87,8 @@ string const latex_path(string const & original_path,
latex_path_dots dots)
{
string path = subst(original_path, "\\", "/");
// On cygwin, we may need windows or posix style paths.
path = os::latex_path(path);
path = subst(path, "~", "\\string~");
if (path.find(' ') != string::npos) {
// We can't use '"' because " is sometimes active (e.g. if

View File

@ -47,6 +47,14 @@ std::string external_path(std::string const & p);
/// Converts a host OS style path to unix style.
std::string internal_path(std::string const & p);
/**
* Converts a unix style path into a form suitable for inclusion in a LaTeX
* document.
* Caution: This function handles only the OS specific part of that task.
* Never use it directly, use lyx::support::latex_path instead.
*/
std::string latex_path(std::string const & p);
/// Is the path absolute?
bool is_absolute_path(std::string const & p);

View File

@ -102,6 +102,15 @@ string internal_path(string const & p)
}
string latex_path(string const & p)
{
// We may need a posix style path or a windows style path (depending
// on cygwin_path_fix_), but we use always forward slashes, since it
// gets written into a .tex file.
return external_path(p);
}
bool is_absolute_path(string const & p)
{
if (p.empty())

View File

@ -63,6 +63,12 @@ string internal_path(string const & p)
}
string latex_path(string const & p)
{
return p;
}
bool is_absolute_path(string const & p)
{
return !p.empty() && p[0] == '/';

View File

@ -216,6 +216,12 @@ string internal_path(string const & p)
}
string latex_path(string const & p)
{
return p;
}
// (Claus H.) On Win32 both Unix and Win32/DOS pathnames are used.
// Therefore an absolute path could be either a pathname starting
// with a slash (Unix) or a pathname starting with a drive letter