log(1, "password too long: %u\n", password_len);
log(1, "password too long: %u\n", (unsigned)password_len);
static struct domain *create_domain(struct host *host, const char *password) {    size_t password_len;    struct domain *domain;    password_len = strlen(password);    if (password_len >= sizeof(domain->password)) {        log(1, "password too long: %u\n", password_len);        return NULL;    }    if (host->num_domains >= MAX_DOMAINS) {        log(1, "domain table is full: %u\n", host->num_domains);        return NULL;    }    domain = calloc(1, sizeof(*domain));    if (domain == NULL)        return NULL;    memcpy(domain->password, password, password_len);    domain->host = host;    if (host->domains_head == NULL) {        assert(host->num_domains == 0);        domain->prev = domain;        domain->next = domain;        host->domains_head = domain;    } else {        assert(host->num_domains > 0);        domain->prev = host->domains_head->prev;        domain->next = host->domains_head;        host->domains_head->prev->next = domain;        host->domains_head->prev = domain;    }    host->num_domains++;    log(2, "created domain '%s'\n", password);    return domain;}