[vala/staging] valadoc: Drop custom realpath()
- From: Rico Tzschichholz <ricotz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala/staging] valadoc: Drop custom realpath()
- Date: Tue, 9 Jan 2018 09:40:43 +0000 (UTC)
commit 02ac44bb150f503d3141f525b134dd5a0e943095
Author: Rico Tzschichholz <ricotz ubuntu com>
Date: Sun Nov 26 20:40:14 2017 +0100
valadoc: Drop custom realpath()
libvaladoc/api/tree.vala | 2 +-
libvaladoc/filehelper.vala | 83 --------------------------
libvaladoc/importer/internalidregistrar.vala | 2 +-
libvaladoc/moduleloader.vala | 2 +-
vala/valacodecontext.vala | 8 ++-
valadoc/doclets/gtkdoc/doclet.vala | 6 +-
valadoc/treebuilder.vala | 8 +-
valadoc/valadoc.vala | 2 +-
8 files changed, 18 insertions(+), 95 deletions(-)
---
diff --git a/libvaladoc/api/tree.vala b/libvaladoc/api/tree.vala
index 4344c2e..b505faf 100644
--- a/libvaladoc/api/tree.vala
+++ b/libvaladoc/api/tree.vala
@@ -332,7 +332,7 @@ public class Valadoc.Api.Tree {
continue;
}
- path = realpath (path);
+ path = Vala.CodeContext.realpath (path);
imported = true;
if (!processed.contains (path)) {
diff --git a/libvaladoc/filehelper.vala b/libvaladoc/filehelper.vala
index 54c7b87..c9ff9c1 100644
--- a/libvaladoc/filehelper.vala
+++ b/libvaladoc/filehelper.vala
@@ -112,88 +112,5 @@ namespace Valadoc {
return true;
}
-
-
- private inline bool ends_with_dir_separator (string s) {
- // --- ported from libvala ---
- return Path.is_dir_separator (s.get_char (s.length - 1));
- }
-
- /**
- * Returns canonicalized absolute pathname
- *
- * @param name the path being checked
- * @return a canonicalized absolute pathname
- */
- public string realpath (string name) {
- // --- ported from libvala ---
-
- string rpath;
-
- // start of path component
- weak string start;
- // end of path component
- weak string end;
-
- if (!Path.is_absolute (name)) {
- // relative path
- rpath = Environment.get_current_dir ();
-
- start = end = name;
- } else {
- // set start after root
- start = end = Path.skip_root (name);
-
- // extract root
- rpath = name.substring (0, (int) ((char*) start - (char*) name));
- }
-
- long root_len = (long) ((char*) Path.skip_root (rpath) - (char*) rpath);
-
- for (; start.get_char () != 0; start = end) {
- // skip sequence of multiple path-separators
- while (Path.is_dir_separator (start.get_char ())) {
- start = start.next_char ();
- }
-
- // find end of path component
- long len = 0;
- for (end = start; end.get_char () != 0 && !Path.is_dir_separator (end.get_char ());
end = end.next_char ()) {
- len++;
- }
-
- if (len == 0) {
- break;
- } else if (len == 1 && start.get_char () == '.') {
- // do nothing
- } else if (len == 2 && start.has_prefix ("..")) {
- // back up to previous component, ignore if at root already
- if (rpath.length > root_len) {
- do {
- rpath = rpath.substring (0, rpath.length - 1);
- } while (!ends_with_dir_separator (rpath));
- }
- } else {
- if (!ends_with_dir_separator (rpath)) {
- rpath += Path.DIR_SEPARATOR_S;
- }
-
- rpath += start.substring (0, len);
- }
- }
-
- if (rpath.length > root_len && ends_with_dir_separator (rpath)) {
- rpath = rpath.substring (0, rpath.length - 1);
- }
-
- if (Path.DIR_SEPARATOR != '/') {
- // don't use backslashes internally,
- // to avoid problems in #include directives
- string[] components = rpath.split ("\\");
- rpath = string.joinv ("/", components);
- }
-
- return rpath;
- }
}
diff --git a/libvaladoc/importer/internalidregistrar.vala b/libvaladoc/importer/internalidregistrar.vala
index 8bad9ab..fcc1e5a 100644
--- a/libvaladoc/importer/internalidregistrar.vala
+++ b/libvaladoc/importer/internalidregistrar.vala
@@ -52,7 +52,7 @@ public class Valadoc.Importer.InternalIdRegistrar {
Vala.SourceLocation end;
Vala.MarkupTokenType token;
- string base_path = index_sgml_online ?? realpath (filename);
+ string base_path = index_sgml_online ?? Vala.CodeContext.realpath (filename);
var reader = new Vala.MarkupReader (filename);
while ((token = reader.read_token (out begin, out end)) != Vala.MarkupTokenType.EOF) {
diff --git a/libvaladoc/moduleloader.vala b/libvaladoc/moduleloader.vala
index 7f729a0..d73adda 100644
--- a/libvaladoc/moduleloader.vala
+++ b/libvaladoc/moduleloader.vala
@@ -92,7 +92,7 @@ public class Valadoc.ModuleLoader : Object {
}
public Doclet? create_doclet (string _path) {
- string path = realpath (_path);
+ string path = Vala.CodeContext.realpath (_path);
ModuleData? data = doclets.get (path);
if (data == null) {
diff --git a/vala/valacodecontext.vala b/vala/valacodecontext.vala
index 404d9d8..ad6fcd4 100644
--- a/vala/valacodecontext.vala
+++ b/vala/valacodecontext.vala
@@ -603,7 +603,13 @@ public class Vala.CodeContext {
return Path.is_dir_separator (s.get_char (s.length - 1));
}
- /* ported from glibc */
+ /**
+ * Returns canonicalized absolute pathname
+ * ported from glibc
+ *
+ * @param name the path being checked
+ * @return a canonicalized absolute pathname
+ */
public static string realpath (string name) {
string rpath;
diff --git a/valadoc/doclets/gtkdoc/doclet.vala b/valadoc/doclets/gtkdoc/doclet.vala
index 11b6e88..c8c8bb0 100644
--- a/valadoc/doclets/gtkdoc/doclet.vala
+++ b/valadoc/doclets/gtkdoc/doclet.vala
@@ -64,7 +64,7 @@ namespace Gtkdoc.Config {
// real path to ignored headers
for (int i=0; i < ignore_headers.length; i++) {
- var realheader = realpath (ignore_headers[i]);
+ var realheader = Vala.CodeContext.realpath (ignore_headers[i]);
if (realheader != null) {
ignore_headers[i] = realheader;
}
@@ -179,7 +179,7 @@ public class Gtkdoc.Director : Valadoc.Doclet, Object {
string[] prepared = new string[]{};
foreach (string relative_filename in files) {
- var filename = realpath (relative_filename);
+ var filename = Vala.CodeContext.realpath (relative_filename);
if (filename in prepared) {
continue;
@@ -253,7 +253,7 @@ public class Gtkdoc.Director : Valadoc.Doclet, Object {
StringBuilder library_paths = new StringBuilder ();
StringBuilder library_dirs = new StringBuilder ();
foreach (string library in Config.library_filenames) {
- string so_path = realpath (library);
+ string so_path = Vala.CodeContext.realpath (library);
string name = Path.get_dirname (so_path);
library_dirs.append (name);
library_paths.append (so_path);
diff --git a/valadoc/treebuilder.vala b/valadoc/treebuilder.vala
index b060e0c..bc32e98 100644
--- a/valadoc/treebuilder.vala
+++ b/valadoc/treebuilder.vala
@@ -819,7 +819,7 @@ public class Valadoc.Drivers.TreeBuilder : Vala.CodeVisitor {
foreach (string source in sources) {
if (FileUtils.test (source, FileTest.EXISTS)) {
- var rpath = realpath (source);
+ var rpath = Vala.CodeContext.realpath (source);
if (source.has_suffix (".vala") || source.has_suffix (".gs")) {
var source_file = new Vala.SourceFile (context,
Vala.SourceFileType.SOURCE, rpath);
@@ -877,13 +877,13 @@ public class Valadoc.Drivers.TreeBuilder : Vala.CodeVisitor {
context.gir_directories = settings.gir_directories;
if (settings.basedir == null) {
- context.basedir = realpath (".");
+ context.basedir = Vala.CodeContext.realpath (".");
} else {
- context.basedir = realpath (settings.basedir);
+ context.basedir = Vala.CodeContext.realpath (settings.basedir);
}
if (settings.directory != null) {
- context.directory = realpath (settings.directory);
+ context.directory = Vala.CodeContext.realpath (settings.directory);
} else {
context.directory = context.basedir;
}
diff --git a/valadoc/valadoc.vala b/valadoc/valadoc.vala
index d68ed62..11263a0 100644
--- a/valadoc/valadoc.vala
+++ b/valadoc/valadoc.vala
@@ -209,7 +209,7 @@ public class ValaDoc : Object {
settings._internal = ValaDoc._internal;
settings.with_deps = ValaDoc.with_deps;
settings._private = ValaDoc._private;
- settings.path = realpath (ValaDoc.directory);
+ settings.path = Vala.CodeContext.realpath (ValaDoc.directory);
settings.verbose = ValaDoc.verbose;
settings.wiki_directory = ValaDoc.wikidirectory;
settings.pluginargs = ValaDoc.pluginargs;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]