bus: use C99 struct construction for error initializers

That way we can allocate an error struct on-the-fly while calling a
function. Nice!