summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2012-12-03 22:06:40 +1030
committerRusty Russell <rusty@rustcorp.com.au>2012-12-03 22:06:40 +1030
commit49a1a4366fdcea418582a97cb0bf700373b89868 (patch)
tree0c8426d275d88c9c88c16c8442dc07332c7e4d84
parent09d5cd70d7e8105a003ed9583eadb077de014f3b (diff)
tools: use tal/path instead of opencoding most paths.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-rw-r--r--tools/ccanlint/ccanlint.c12
-rw-r--r--tools/ccanlint/tests/depends_exist.c3
-rw-r--r--tools/ccanlint/tests/license_exists.c5
-rw-r--r--tools/ccanlint/tests/objects_build.c3
-rw-r--r--tools/ccanlint/tests/tests_exist.c3
-rw-r--r--tools/depends.c8
-rw-r--r--tools/manifest.c2
-rw-r--r--tools/namespacize.c16
-rw-r--r--tools/read_config_header.c3
9 files changed, 27 insertions, 28 deletions
diff --git a/tools/ccanlint/ccanlint.c b/tools/ccanlint/ccanlint.c
index 83549cc9..196f75f4 100644
--- a/tools/ccanlint/ccanlint.c
+++ b/tools/ccanlint/ccanlint.c
@@ -647,7 +647,7 @@ int main(int argc, char *argv[])
strmap_iterate(&tests, add_to_all, &all);
/* This links back to the module's test dir. */
- testlink = tal_fmt(NULL, "%s/test", temp_dir());
+ testlink = path_join(NULL, temp_dir(), "test");
/* Defaults to pwd. */
if (argc == 1) {
@@ -656,12 +656,8 @@ int main(int argc, char *argv[])
}
for (i = 1; i < argc; i++) {
- dir = argv[i];
-
- if (dir[0] != '/')
- dir = tal_fmt(NULL, "%s/%s", base_dir, dir);
- while (strends(dir, "/"))
- dir[strlen(dir)-1] = '\0';
+ dir = path_simplify(NULL,
+ take(path_join(NULL, base_dir, argv[i])));
got_dir:
/* We assume there's a ccan/ in there somewhere... */
@@ -685,7 +681,7 @@ int main(int argc, char *argv[])
/* Create a symlink from temp dir back to src dir's
* test directory. */
unlink(testlink);
- if (symlink(tal_fmt(m, "%s/test", dir), testlink) != 0)
+ if (symlink(path_join(m, dir, "test"), testlink) != 0)
err(1, "Creating test symlink in %s", temp_dir());
if (!run_tests(&all, summary, m, prefix))
diff --git a/tools/ccanlint/tests/depends_exist.c b/tools/ccanlint/tests/depends_exist.c
index c63d2d2c..39015fd5 100644
--- a/tools/ccanlint/tests/depends_exist.c
+++ b/tools/ccanlint/tests/depends_exist.c
@@ -1,6 +1,7 @@
#include <tools/ccanlint/ccanlint.h>
#include <tools/tools.h>
#include <ccan/str/str.h>
+#include <ccan/tal/path/path.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
@@ -30,7 +31,7 @@ static bool add_dep(struct manifest *m,
{
struct stat st;
struct manifest *subm;
- char *dir = tal_fmt(m, "%s/%s", ccan_dir, dep);
+ char *dir = path_join(m, ccan_dir, dep);
/* FIXME: get_manifest has a tendency to exit. */
if (stat(dir, &st) != 0) {
diff --git a/tools/ccanlint/tests/license_exists.c b/tools/ccanlint/tests/license_exists.c
index af1bc52a..85ff7985 100644
--- a/tools/ccanlint/tests/license_exists.c
+++ b/tools/ccanlint/tests/license_exists.c
@@ -1,6 +1,7 @@
#include <tools/ccanlint/ccanlint.h>
#include <ccan/tal/tal.h>
#include <ccan/tal/str/str.h>
+#include <ccan/tal/path/path.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
@@ -73,7 +74,7 @@ static void handle_license_link(struct manifest *m, struct score *score)
{
struct doc_section *d = find_license_tag(m);
const char *prefix = link_prefix(m);
- const char *link = tal_fmt(m, "%s/LICENSE", m->dir);
+ const char *link = path_join(m, m->dir, "LICENSE");
const char *ldest = expected_link(score, prefix, m->license);
char *q;
@@ -97,7 +98,7 @@ static void check_has_license(struct manifest *m,
{
char buf[PATH_MAX];
ssize_t len;
- char *license = tal_fmt(m, "%s/LICENSE", m->dir);
+ char *license = path_join(m, m->dir, "LICENSE");
const char *expected;
struct doc_section *d;
const char *prefix = link_prefix(m);
diff --git a/tools/ccanlint/tests/objects_build.c b/tools/ccanlint/tests/objects_build.c
index b86c53be..21a02773 100644
--- a/tools/ccanlint/tests/objects_build.c
+++ b/tools/ccanlint/tests/objects_build.c
@@ -1,6 +1,7 @@
#include <tools/ccanlint/ccanlint.h>
#include <tools/tools.h>
#include <ccan/str/str.h>
+#include <ccan/tal/path/path.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
@@ -35,7 +36,7 @@ void build_objects(struct manifest *m,
list_for_each(&m->c_files, i, list) {
char *output;
- char *fullfile = tal_fmt(m, "%s/%s", m->dir, i->name);
+ char *fullfile = path_join(m, m->dir, i->name);
i->compiled[ctype] = temp_file(m, "", fullfile);
if (!compile_object(score, fullfile, ccan_dir, compiler, flags,
diff --git a/tools/ccanlint/tests/tests_exist.c b/tools/ccanlint/tests/tests_exist.c
index f339b6b9..69e01df6 100644
--- a/tools/ccanlint/tests/tests_exist.c
+++ b/tools/ccanlint/tests/tests_exist.c
@@ -1,5 +1,6 @@
#include <tools/ccanlint/ccanlint.h>
#include <ccan/tal/str/str.h>
+#include <ccan/tal/path/path.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
@@ -106,7 +107,7 @@ static void check_tests_exist(struct manifest *m,
unsigned int *timeleft, struct score *score)
{
struct stat st;
- char *test_dir = tal_fmt(m, "%s/test", m->dir);
+ char *test_dir = path_join(m, m->dir, "test");
if (lstat(test_dir, &st) != 0) {
score->error = tal_strdup(score, "No test directory");
diff --git a/tools/depends.c b/tools/depends.c
index 664b3972..4f56d14e 100644
--- a/tools/depends.c
+++ b/tools/depends.c
@@ -1,6 +1,7 @@
#include <ccan/str/str.h>
#include <ccan/read_write_all/read_write_all.h>
#include <ccan/rbuf/rbuf.h>
+#include <ccan/tal/path/path.h>
#include <ccan/compiler/compiler.h>
#include <ccan/err/err.h>
#include "tools.h"
@@ -125,7 +126,7 @@ static char **get_one_safe_deps(const void *ctx,
unsigned int i, n;
bool correct_style = false;
- fname = tal_fmt(ctx, "%s/_info", dir);
+ fname = path_join(ctx, dir, "_info");
raw = tal_grab_file(fname, fname, NULL);
if (!raw)
errx(1, "Could not open %s", fname);
@@ -206,7 +207,7 @@ get_all_deps(const void *ctx, const char *dir, const char *style,
if (!strstarts(deps[i], "ccan/"))
continue;
- subdir = tal_fmt(ctx, "%s/%s", find_ccan_dir(dir), deps[i]);
+ subdir = path_join(ctx, find_ccan_dir(dir), deps[i]);
newdeps = get_one(ctx, subdir, "depends", get_info);
/* Should be short, so brute-force out dups. */
@@ -279,8 +280,7 @@ char **get_libs(const void *ctx, const char *dir, const char *style,
if (!strstarts(deps[i], "ccan/"))
continue;
- subdir = tal_fmt(ctx, "%s/%s",
- find_ccan_dir(dir), deps[i]);
+ subdir = path_join(ctx, find_ccan_dir(dir), deps[i]);
newlibs = get_one_libs(ctx, subdir, get_info);
newlen = tal_count(newlibs);
diff --git a/tools/manifest.c b/tools/manifest.c
index 612a8a6d..b94016e1 100644
--- a/tools/manifest.c
+++ b/tools/manifest.c
@@ -76,7 +76,7 @@ struct ccan_file *new_ccan_file(const void *ctx, const char *dir, char *name)
for (i = 0; i < ARRAY_SIZE(f->compiled); i++)
f->compiled[i] = NULL;
f->name = tal_steal(f, name);
- f->fullname = tal_fmt(f, "%s/%s", dir, f->name);
+ f->fullname = path_join(f, dir, f->name);
f->contents = NULL;
f->simplified = NULL;
return f;
diff --git a/tools/namespacize.c b/tools/namespacize.c
index f1a9374e..ac413545 100644
--- a/tools/namespacize.c
+++ b/tools/namespacize.c
@@ -256,7 +256,8 @@ static void analyze_headers(const char *dir, struct replace **repl)
char *hdr, *contents;
/* Get hold of header, assume that's it. */
- hdr = tal_fmt(dir, "%s/%s.h", dir, path_basename(dir, dir));
+ hdr = tal_fmt(dir, "%s.h",
+ path_join(NULL, dir, take(path_basename(NULL, dir))));
contents = tal_grab_file(dir, hdr, NULL);
if (!contents)
@@ -275,7 +276,7 @@ static void analyze_headers(const char *dir, struct replace **repl)
static void write_replacement_file(const char *dir, struct replace **repl)
{
- char *replname = tal_fmt(dir, "%s/.namespacize", dir);
+ char *replname = path_join(dir, dir, ".namespacize");
int fd;
struct replace *r;
@@ -415,10 +416,7 @@ static void convert_dir(const char *dir)
struct adjusted *adj = NULL;
/* Remove any ugly trailing slashes. */
- name = tal_strdup(NULL, dir);
- while (strends(name, "/"))
- name[strlen(name)-1] = '\0';
-
+ name = path_canon(NULL, dir);
analyze_headers(name, &replace);
write_replacement_file(name, &replace);
setup_adjust_files(name, replace, &adj);
@@ -430,7 +428,7 @@ static void convert_dir(const char *dir)
static struct replace *read_replacement_file(const char *depdir)
{
struct replace *repl = NULL;
- char *replname = tal_fmt(depdir, "%s/.namespacize", depdir);
+ char *replname = path_join(depdir, depdir, ".namespacize");
char *file, **line;
file = tal_grab_file(replname, replname, NULL);
@@ -459,7 +457,7 @@ static void adjust_dir(const char *dir)
struct adjusted *adj = NULL;
struct replace *repl;
- depdir = tal_fmt(parent, "%s/%s", parent, *deps);
+ depdir = path_join(parent, parent, *deps);
repl = read_replacement_file(depdir);
if (repl) {
verbose("%s has been namespacized\n", depdir);
@@ -488,7 +486,7 @@ static void adjust_dependents(const char *dir)
if (path_basename(*file, *file)[0] == '.')
continue;
- info = tal_fmt(*file, "%s/_info", *file);
+ info = path_join(*file, *file, "_info");
if (access(info, R_OK) != 0)
continue;
diff --git a/tools/read_config_header.c b/tools/read_config_header.c
index bd268722..732ab4ab 100644
--- a/tools/read_config_header.c
+++ b/tools/read_config_header.c
@@ -1,5 +1,6 @@
#include <ccan/err/err.h>
#include <ccan/str/str.h>
+#include <ccan/tal/path/path.h>
#include "read_config_header.h"
#include "tools.h"
#include <string.h>
@@ -90,7 +91,7 @@ char *read_config_header(const char *ccan_dir,
const char **compiler, const char **cflags,
bool verbose)
{
- char *fname = tal_fmt(NULL, "%s/config.h", ccan_dir);
+ char *fname = path_join(NULL, ccan_dir, "config.h");
char **lines;
unsigned int i;
char *config_header;