From c7d1778e3f6cd8dedfb13dca7e6034aef390c35b Mon Sep 17 00:00:00 2001 From: Angus Leeming Date: Fri, 17 Dec 2004 12:30:48 +0000 Subject: [PATCH] Don't forget the Windows drive name when mangling the temporary file name. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9393 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/support/ChangeLog | 6 ++++++ src/support/filename.C | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/src/support/ChangeLog b/src/support/ChangeLog index 0587d5d462..7c72859aff 100644 --- a/src/support/ChangeLog +++ b/src/support/ChangeLog @@ -1,3 +1,9 @@ +2004-12-16 Angus Leeming + + * filename.C (mangledFilename): Given a Windows-style path, don't + forget to mangle the drive letter too when generating a unique + temporary file name. + 2004-12-16 Angus Leeming * mkdir.C: move the HAVE_MKDIR conditional code out of config.h diff --git a/src/support/filename.C b/src/support/filename.C index 32f1715dd4..e56956cac3 100644 --- a/src/support/filename.C +++ b/src/support/filename.C @@ -86,6 +86,13 @@ string const FileName::mangledFilename() const mname = subst(mname, ".", "_"); // Add the extension back on mname = ChangeExtension(mname, GetExtension(name_)); + +#if defined(__CYGWIN__) || defined(__CYGWIN32__) || defined(_WIN32) + // Mangle the drive letter in a Windows-style path. + if (mname.size() >= 2 && mname[1] == ':') + mname[1] = '_'; +#endif + // Prepend a counter to the filename. This is necessary to make // the mangled name unique. static int counter = 0; -- 2.39.2