コード例 #1
0
ファイル: examples_compile.c プロジェクト: atbrox/ccan
static char *example_obj_list(struct manifest *m, struct ccan_file *f)
{
	struct manifest **deps = talloc_array(f, struct manifest *, 0);
	char **lines, *list;
	unsigned int i;

	/* This one for a start. */
	add_dep(&deps, m->basename);

	/* Other modules implied by includes. */
	for (lines = get_ccan_file_lines(f); *lines; lines++) {
		unsigned preflen = strspn(*lines, " \t");
		if (strstarts(*lines + preflen, "#include <ccan/")) {
			char *modname;

			modname = talloc_strdup(f, *lines + preflen
						+ strlen("#include <ccan/"));
			modname[strcspn(modname, "/")] = '\0';
			if (!have_mod(deps, modname))
				add_dep(&deps, modname);
		}
	}

	list = talloc_strdup(f, "");
	for (i = 0; i < talloc_get_size(deps) / sizeof(*deps); i++) {
		if (deps[i]->compiled[COMPILE_NORMAL])
			list = talloc_asprintf_append(list, " %s",
						      deps[i]->compiled
						      [COMPILE_NORMAL]);
	}
	return list;
}
コード例 #2
0
ファイル: no_trailing_whitespace.c プロジェクト: dgibson/ccan
		list_for_each(list, f, list) {
			char **lines = get_ccan_file_lines(f);
			for (i = 0; f->lines[i]; i++) {
				char *err = get_trailing_whitespace(score,
								    lines[i]);
				if (err)
					score_file_error(score, f, i+1,
							 "%s", err);
			}
		}