mirror of
https://git.lyx.org/repos/lyx.git
synced 2025-01-11 03:03:06 +00:00
Simpler things are almost always better.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29843 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
c3d457a143
commit
2fb21c28b5
@ -60,9 +60,9 @@ std::string const python();
|
|||||||
bool isFilesystemCaseSensitive();
|
bool isFilesystemCaseSensitive();
|
||||||
|
|
||||||
/// Extract the path common to both @c p1 and @c p2. DBCS aware!
|
/// Extract the path common to both @c p1 and @c p2. DBCS aware!
|
||||||
/// \p p1 and \p p2 are encoded in ucs4, \returns the index to the
|
/// \p p1 and \p p2 are encoded in ucs4, \returns the index to the end of
|
||||||
/// end of the last matching path component (the index may be pointing
|
/// the last matching path component (the index may be pointing after the
|
||||||
/// to the path separator, if it is the last char in @c p2).
|
/// end of @c p1 or @c p2 if their last char is not the path separator).
|
||||||
std::size_t common_path(docstring const & p1, docstring const & p2);
|
std::size_t common_path(docstring const & p1, docstring const & p2);
|
||||||
|
|
||||||
/// Converts a unix style path to host OS style.
|
/// Converts a unix style path to host OS style.
|
||||||
|
@ -162,9 +162,7 @@ docstring::size_type common_path(docstring const & p1, docstring const & p2)
|
|||||||
--i; // here was the last match
|
--i; // here was the last match
|
||||||
while (i && p1[i] != '/')
|
while (i && p1[i] != '/')
|
||||||
--i;
|
--i;
|
||||||
} else
|
}
|
||||||
--i;
|
|
||||||
|
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -181,13 +179,12 @@ bool path_prefix_is(string & path, string const & pre, path_case how)
|
|||||||
docstring const p2 = from_utf8(pre);
|
docstring const p2 = from_utf8(pre);
|
||||||
docstring::size_type const p1_len = p1.length();
|
docstring::size_type const p1_len = p1.length();
|
||||||
docstring::size_type const p2_len = p2.length();
|
docstring::size_type const p2_len = p2.length();
|
||||||
docstring::size_type const common_len = common_path(p1, p2) + 1;
|
docstring::size_type common_len = common_path(p1, p2);
|
||||||
|
|
||||||
if (common_len == 1) {
|
if (p2[p2_len - 1] == '/')
|
||||||
if (p2_len != 1 || p1_len == 0 || p1[0] != p2[0]
|
++common_len;
|
||||||
|| (p1_len != 1 && p1[1] != '/'))
|
|
||||||
return false;
|
if (common_len != p2_len)
|
||||||
} else if (common_len != p2_len)
|
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (how == CASE_ADJUSTED && !prefixIs(path, pre))
|
if (how == CASE_ADJUSTED && !prefixIs(path, pre))
|
||||||
|
@ -70,9 +70,7 @@ docstring::size_type common_path(docstring const & p1, docstring const & p2)
|
|||||||
--i; // here was the last match
|
--i; // here was the last match
|
||||||
while (i && p1[i] != '/')
|
while (i && p1[i] != '/')
|
||||||
--i;
|
--i;
|
||||||
} else
|
}
|
||||||
--i;
|
|
||||||
|
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -94,13 +92,12 @@ bool path_prefix_is(string & path, string const & pre, path_case how)
|
|||||||
docstring const p2 = from_utf8(pre);
|
docstring const p2 = from_utf8(pre);
|
||||||
docstring::size_type const p1_len = p1.length();
|
docstring::size_type const p1_len = p1.length();
|
||||||
docstring::size_type const p2_len = p2.length();
|
docstring::size_type const p2_len = p2.length();
|
||||||
docstring::size_type const common_len = common_path(p1, p2) + 1;
|
docstring::size_type common_len = common_path(p1, p2);
|
||||||
|
|
||||||
if (common_len == 1) {
|
if (p2[p2_len - 1] == '/')
|
||||||
if (p2_len != 1 || p1_len == 0 || p1[0] != p2[0]
|
++common_len;
|
||||||
|| (p1_len != 1 && p1[1] != '/'))
|
|
||||||
return false;
|
if (common_len != p2_len)
|
||||||
} else if (common_len != p2_len)
|
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (how == CASE_ADJUSTED && !prefixIs(path, pre))
|
if (how == CASE_ADJUSTED && !prefixIs(path, pre))
|
||||||
|
@ -193,9 +193,7 @@ docstring::size_type common_path(docstring const & p1, docstring const & p2)
|
|||||||
--i; // here was the last match
|
--i; // here was the last match
|
||||||
while (i && p1[i] != '/')
|
while (i && p1[i] != '/')
|
||||||
--i;
|
--i;
|
||||||
} else
|
}
|
||||||
--i;
|
|
||||||
|
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -212,13 +210,12 @@ bool path_prefix_is(string & path, string const & pre, path_case how)
|
|||||||
docstring const p2 = from_utf8(pre);
|
docstring const p2 = from_utf8(pre);
|
||||||
docstring::size_type const p1_len = p1.length();
|
docstring::size_type const p1_len = p1.length();
|
||||||
docstring::size_type const p2_len = p2.length();
|
docstring::size_type const p2_len = p2.length();
|
||||||
docstring::size_type const common_len = common_path(p1, p2) + 1;
|
docstring::size_type common_len = common_path(p1, p2);
|
||||||
|
|
||||||
if (common_len == 1) {
|
if (p2[p2_len - 1] == '/')
|
||||||
if (p2_len != 1 || p1_len == 0 || p1[0] != p2[0]
|
++common_len;
|
||||||
|| (p1_len != 1 && p1[1] != '/'))
|
|
||||||
return false;
|
if (common_len != p2_len)
|
||||||
} else if (common_len != p2_len)
|
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (how == CASE_ADJUSTED && !prefixIs(path, pre))
|
if (how == CASE_ADJUSTED && !prefixIs(path, pre))
|
||||||
|
Loading…
Reference in New Issue
Block a user