예제 #1
0
파일: zdiff.c 프로젝트: das-labor/radare2
R_API int r_core_zdiff(RCore *c, RCore *c2) {
	if (!c || !c2) {
		return false;
	}
	////////// moove this into anal/sign
	SdbList *a = sdb_foreach_list (c->anal->sdb_zigns, false);
	SdbList *b = sdb_foreach_list (c2->anal->sdb_zigns, false);

	eprintf ("Diff %d %d\n", (int)ls_length (a), (int)ls_length (b));
	SdbListIter *iter;
	SdbKv *kv;
	RList *la = r_list_new ();
	ls_foreach (a, iter, kv) {
		RSignItem *it = r_sign_item_new ();
		if (r_sign_deserialize (c->anal, it, kv->base.key, kv->base.value)) {
			r_list_append (la, it);
		} else {
			r_sign_item_free (it);
		}
	}
예제 #2
0
파일: vec.c 프로젝트: FunnyLanguage/funny
// (vector x y ...)
Cell* op_vector(Scheme *sc) {
	Cell* x;
	int len = ls_length(sc, sc->args);
	if (len < 0)
		return error_helper(sc, "vector: not a proper list:", sc->args);
	Cell* vec = make_vector(sc, len);
	int index = 0;
	for (x = sc->args; is_pair(x); x = cdr(x), index++) {
		set_vector_item(vec, index, car(x));
	}
	return s_return_helper(sc, vec);
}