static StreamClient * find_client(char * s, Channel * c) { unsigned id = 0; if (str2id(s, &id)) { unsigned h = get_client_hash(id, c); LINK * l = handle_hash[h].next; while (l != &handle_hash[h]) { StreamClient * client = hash2client(l); if (client->stream->id == id && client->channel == c) return client; l = l->next; } } errno = ERR_INV_CONTEXT; return NULL; }
static StreamClient * find_client(char * s, Channel * c) { unsigned id = 0; if (str2id(s, &id)) { unsigned h = get_client_hash(id, c); LINK * l = handle_hash[h].next; while (l != &handle_hash[h]) { StreamClient * client = hash2client(l); if (client->stream->id == id && client->channel == c) return client; l = l->next; } } errno = set_fmt_errno(ERR_OTHER, "No such stream: %s", s); return NULL; }