X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=tools%2Fnamespacize.c;h=f5dced5dd7201b184a979c3c48a2ecc7f22c2bf2;hp=3e656c84a4346344bd7b90749c1f0aa50c7a798d;hb=6b73d11998591ec50e726cc2d4105ca85f38d87d;hpb=437fa285d12183a0f1e7450b3a01cbe5620a3507 diff --git a/tools/namespacize.c b/tools/namespacize.c index 3e656c84..f5dced5d 100644 --- a/tools/namespacize.c +++ b/tools/namespacize.c @@ -10,13 +10,12 @@ #include #include #include -#include "talloc/talloc.h" +#include "ccan/str/str.h" +#include "ccan/str_talloc/str_talloc.h" +#include "ccan/grab_file/grab_file.h" +#include "ccan/talloc/talloc.h" #include "tools.h" -#define IDENT_CHARS "ABCDEFGHIJKLMNOPQRSTUVWXYZ" \ - "abcdefghijklmnopqrstuvwxyz" \ - "01234567889_" - static bool verbose = false; static int indent = 0; #define verbose(args...) \ @@ -29,16 +28,6 @@ static int indent = 0; #define verbose_indent() (indent += 2) #define verbose_unindent() (indent -= 2) -#define strstarts(str,prefix) (strncmp((str),(prefix),strlen(prefix)) == 0) - -static inline bool strends(const char *str, const char *postfix) -{ - if (strlen(str) < strlen(postfix)) - return false; - - return streq(str + strlen(str) - strlen(postfix), postfix); -} - static int unlink_no_errno(const char *filename) { int ret = 0, serrno = errno; @@ -281,7 +270,7 @@ static void analyze_headers(const char *dir, struct replace **repl) /* Get hold of header, assume that's it. */ hdr = talloc_asprintf(dir, "%s/%s.h", dir, basename(dir, dir)); - contents = grab_file(dir, hdr); + contents = grab_file(dir, hdr, NULL); if (!contents) err(1, "Reading %s", hdr); @@ -357,7 +346,7 @@ static const char *rewrite_file(const char *filename, int fd; verbose("Rewriting %s\n", filename); - file = grab_file(filename, filename); + file = grab_file(filename, filename, NULL); if (!file) err(1, "Reading file %s", filename); @@ -458,14 +447,14 @@ static struct replace *read_replacement_file(const char *depdir) char *replname = talloc_asprintf(depdir, "%s/.namespacize", depdir); char *file, **line; - file = grab_file(replname, replname); + file = grab_file(replname, replname, NULL); if (!file) { if (errno != ENOENT) err(1, "Opening %s", replname); return NULL; } - for (line = split(file, file, "\n", NULL); *line; line++) + for (line = strsplit(file, file, "\n", NULL); *line; line++) add_replace(&repl, *line); return repl; } @@ -485,12 +474,12 @@ static char *parent_dir(const void *ctx, const char *dir) static void adjust_dir(const char *dir) { - char *parent = parent_dir(NULL, dir); + char *parent = parent_dir(talloc_autofree_context(), dir); char **deps; verbose("Adjusting %s\n", dir); verbose_indent(); - for (deps = get_deps(parent, dir); *deps; deps++) { + for (deps = get_deps(parent, dir, false); *deps; deps++) { char *depdir; struct adjusted *adj = NULL; struct replace *repl; @@ -506,6 +495,7 @@ static void adjust_dir(const char *dir) talloc_free(depdir); } verbose_unindent(); + talloc_free(parent); } static void adjust_dependents(const char *dir) @@ -527,7 +517,7 @@ static void adjust_dependents(const char *dir) if (access(infoc, R_OK) != 0) continue; - for (deps = get_deps(*file, *file); *deps; deps++) { + for (deps = get_deps(*file, *file, false); *deps; deps++) { if (streq(*deps, base)) isdep = true; }