Example #1
0
static gboolean
hook_dump(gpointer k, gpointer v, gpointer u)
{
	GString *gstr = u;
	if (hashstr_len(k) <= 0 || !*hashstr_str(k))
		return FALSE;
	if (gstr->len > 0)
		g_string_append_c(gstr, ',');
	g_string_append_printf(gstr,
			"(%.*s,%"G_GINT64_FORMAT",%"G_GINT64_FORMAT")",
			(int)hashstr_len(k), hashstr_str(k),
			OV(v)->version, OV(v)->when);
	return FALSE;
}
Example #2
0
GByteArray*
version_encode(GTree *t)
{
	asn_enc_rval_t rv;
	GByteArray *encoded;
	struct BaseVersion bv;

	gboolean runner(gpointer _k, gpointer _v, gpointer _u) {
		(void) _u;
		if (_k && _v && hashstr_len(_k) > 0) {
			struct object_version_s *v = _v;
			struct TableVersion *tv = g_malloc0(sizeof(*tv));
			OCTET_STRING_fromBuf(&(tv->name), hashstr_str(_k), hashstr_len(_k));
			asn_int64_to_INTEGER(&(tv->version), v->version);
			asn_int64_to_INTEGER(&(tv->when), v->when);
			asn_sequence_add(&(bv.list), tv);
		}
		return FALSE;
	}
Example #3
0
	gboolean _on_table(hashstr_t *k, GTree *rows, gpointer u0) {
		(void) u0;
		if (g_tree_nnodes(rows) > 0) {
			if (0 != g_ascii_strcasecmp(hashstr_str(k), "main.admin")) {
				gsize max = sizeof("version:")+hashstr_len(k);
				gchar buf[max];
				g_snprintf(buf, max, "version:%s", hashstr_str(k));
				sqlx_admin_inc_version(ctx->sq3, buf, 1);
			}
		}
		return FALSE;
	}