int dsdb_werror_at(struct ldb_context *ldb, int ldb_ecode, WERROR werr,
		   const char *location, const char *func,
		   const char *reason)
{
	if (reason == NULL) {
		reason = win_errstr(werr);
	}
	ldb_asprintf_errstring(ldb, "%08X: %s at %s:%s",
			       W_ERROR_V(werr), reason, location, func);
	return ldb_ecode;
}
int dsdb_werror_at(struct ldb_context *ldb, int ldb_ecode, WERROR werr,
		   const char *location, const char *func,
		   const char *reason)
{
	if (reason == NULL) {
		reason = win_errstr(werr);
	}
	ldb_asprintf_errstring(ldb, "%08X: %s at %s:%s",
			       W_ERROR_V(werr), reason, location, func);
	return ldb_ecode;
}