add: keys[0] = username_column; keys[1] = domain_column; col[0] = pass_column;
context: static inline int get_ha1(str* _user, str* _domain, str* _realm, char* _table, char* _ha1){	db_key_t keys[] = {username_column, domain_column};	db_val_t vals[2];	db_key_t col[] = {pass_column};	db_res_t* res;	str result;	char* at;	VAL_TYPE(vals) = VAL_TYPE(vals + 1) = DB_STR;	VAL_NULL(vals) = VAL_NULL(vals + 1) = 0;		VAL_STR(vals).s = _user->s;	VAL_STR(vals).len = _user->len;		VAL_STR(vals + 1).s = _realm->s;	VAL_STR(vals + 1).len = _realm->len;	     /* If username contains also domain U */	if (_domain->len) {		     /* Use that domain instead of realm */		VAL_STR(vals + 1).s = _domain->s;		VAL_STR(vals + 1).len = _domain->len;				     /*		      * If we do not calculate HA1 strings on the fly,		      * we must use another column here, because the original		      * column contains HA1 hashed without the domain. So we		      * use another column which contains HA1 string including		      * also the domain		      *		      * This is not necessarry if we calculate HA1 strings on the		      * fly (i.e. plaintext passwords are stored in the database),		      * because in this case HA1 will be always calculated correctly		      * by the server.		      */		if (!calc_ha1) {			col[0] = pass_column_2;		}	}	db_use_table(db_handle, _table);	if (db_query(db_handle, keys, 0, vals, col, 2, 1, 0, &res) < 0) {		LOG(L_ERR, "get_ha1(): Error while querying database\n");		return -1;	}	if (RES_ROW_N(res) == 0) {		DBG("get_ha1(): no result for user \'%.*s@%.*s\'\n", 		    _user->len, _user->s,		    (_domain->len) ? (_domain->len) : (_realm->len),		    (_domain->len) ? (_domain->s) : (_realm->s)		    );		db_free_query(db_handle, res);		return -1;	}        result.s = (char*)ROW_VALUES(RES_ROWS(res))[0].val.string_val;	result.len = strlen(result.s);	if (calc_ha1) {		     /* Only plaintext passwords are stored in database,		      * we have to calculate HA1 */		calc_HA1(HA_MD5, _user, _realm, &result, 0, 0, _ha1);		DBG("HA1 string calculated: %s\n", _ha1);	} else {		memcpy(_ha1, result.s, result.len);		_ha1[result.len] = '\0';	}	db_free_query(db_handle, res);	return 0;}