since xprintf() doesn't always flush, if the read_password() message doesn't have a newline at the end, which it usually doesn't, the prompt won't show up until after you've entered your password.