www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | Submodules | README | LICENSE

commit e861c3e298244256e8efad1225d371f597f37a22
parent f2a887fd242027fbc5834076300070f82708b410
Author: Aurimas Vinckevicius <aurimas.dev@gmail.com>
Date:   Tue, 13 May 2014 13:22:59 -0500

Fix slash direction on Windows for absolute paths
E.g. Mendeley exports something like `C:/some/path/test.pdf`

Diffstat:
Mchrome/content/zotero/xpcom/translation/translate_item.js | 15++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/chrome/content/zotero/xpcom/translation/translate_item.js b/chrome/content/zotero/xpcom/translation/translate_item.js @@ -329,11 +329,16 @@ Zotero.Translate.ItemSaver.prototype = { var file; // First, try to parse as absolute path - if(((/^[a-zA-Z]:\\|^\\\\/.test(path) && Zotero.isWin) // Paths starting with drive letter or network shares starting with \\ - || (path[0] === "/" && !Zotero.isWin)) - && (file = this._parseAbsolutePath(path))) { - Zotero.debug("Translate: Got file "+path+" as absolute path"); - return file; + if((/^[a-zA-Z]:[\\\/]|^\\\\/.test(path) && Zotero.isWin) // Paths starting with drive letter or network shares starting with \\ + || (path[0] === "/" && !Zotero.isWin)) { + // Forward slashes on Windows are not allowed in filenames, so we can + // assume they're meant to be backslashes. Backslashes are technically + // allowed on Linux, so the reverse cannot be done reliably. + var nativePath = Zotero.isWin ? path.replace('/', '\\', 'g') : path; + if (file = this._parseAbsolutePath(nativePath)) { + Zotero.debug("Translate: Got file "+nativePath+" as absolute path"); + return file; + } } // Next, try to parse as URI