Ejemplo n.º 1
0
char *name_to_id(char *s)
{
	if (strchr(s, '.')) { /* server */
		u_server *sv = u_server_by_name(s);
		return sv ? (sv->sid[0] ? sv->sid : NULL) : NULL;
	} else {
		u_user *u = u_user_by_nick(s);
		return u ? u->uid : NULL;
	}
}
Ejemplo n.º 2
0
u_entity *u_entity_from_name(u_entity *e, char *s)
{
	if (!s) return NULL;

	if (strchr(s, '.')) {
		if (!(e->v.sv = u_server_by_name(s)))
			return NULL;
		make_server(e);
	} else {
		if (!(e->v.u = u_user_by_nick(s)))
			return NULL;
		make_user(e);
	}

	return e;
}
Ejemplo n.º 3
0
u_conn *ref_link(u_conn *ctx, char *ref)
{
	if (ctx && ctx->ctx == CTX_SERVER && isdigit(ref[0])) {
		if (ref[3]) {
			u_user *u = u_user_by_uid(ref);
			return u ? u->link : NULL;
		} else {
			u_server *sv = u_server_by_sid(ref);
			return sv ? sv->link : NULL;
		}
	} else {
		if (!strchr(ref, '.')) {
			u_user *u = u_user_by_nick(ref);
			return u ? u->link : NULL;
		} else {
			u_server *sv = u_server_by_name(ref);
			return sv ? sv->link : NULL;
		}
	}
}