utf8: don't allow NUL in decoded strings.
[ccan] / tools / ccanlint / tests / depends_build_without_features.c
index cf7185be0d80fc2f79aa5cf776663e0b7639eca9..cacb5002532c8f8f0e8b39c4d7bb39956f722c57 100644 (file)
@@ -1,7 +1,7 @@
 #include <tools/ccanlint/ccanlint.h>
 #include <tools/tools.h>
-#include <ccan/talloc/talloc.h>
 #include <ccan/str/str.h>
+#include <ccan/foreach/foreach.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
@@ -14,9 +14,9 @@
 #include <string.h>
 #include <ctype.h>
 #include "reduce_features.h"
-#include "../compulsory_tests/build.h"
+#include "build.h"
 
-static const char *can_build(struct manifest *m)
+static const char *can_build(struct manifest *m UNNEEDED)
 {
        if (safe_mode)
                return "Safe mode enabled";
@@ -24,25 +24,28 @@ static const char *can_build(struct manifest *m)
 }
 
 static void check_depends_built_without_features(struct manifest *m,
-                                                bool keep,
-                                                unsigned int *timeleft,
+                                                unsigned int *timeleft UNNEEDED,
                                                 struct score *score)
 {
+       struct list_head *list;
        struct manifest *i;
        char *flags;
 
-       flags = talloc_asprintf(score, "%s %s", cflags,
-                               REDUCE_FEATURES_FLAGS);
+       flags = tal_fmt(score, "%s %s", cflags, REDUCE_FEATURES_FLAGS);
 
-       list_for_each(&m->deps, i, list) {
-               char *errstr = build_submodule(i, flags, COMPILE_NOFEAT);
+       foreach_ptr(list, &m->deps, &m->test_deps) {
+               list_for_each(list, i, list) {
+                       char *errstr = build_submodule(i, flags,
+                                                      COMPILE_NOFEAT);
 
-               if (errstr) {
-                       score->error = talloc_asprintf(score,
+                       if (errstr) {
+                               score->error = tal_fmt(score,
                                                       "Dependency %s"
                                                       " did not build:\n%s",
-                                                      i->basename, errstr);
-                       return;
+                                                      i->modname,
+                                                      errstr);
+                               return;
+                       }
                }
        }
 
@@ -55,7 +58,7 @@ struct ccanlint depends_build_without_features = {
        .name = "Module's CCAN dependencies can be found or built (reduced features)",
        .check = check_depends_built_without_features,
        .can_run = can_build,
-       .needs = "depends_exist"
+       .needs = "depends_build reduce_features"
 };
 
 REGISTER_TEST(depends_build_without_features);