warning() << msg.str();
warning() << msg.str() << std::flush;
void validate_security(bool do_validate){    if(!do_validate)        {        return;        }    int invalid = secure_date::instance()->validate        (calendar_date()        ,global_settings::instance().data_directory        );    // TODO ?? It would be better either to return a string from    // validate(), or to let it throw an exception. In particular,    // in the 'date_out_of_range' case it would be nice to specify    // the current date and range.    std::string problem;    switch(invalid)        {        case 0:            {            // Do nothing.            }            break;        case secure_date::ill_formed_passkey:            {            problem =                "Passkey has unexpected length."                " Try reinstalling."                ;            }            break;        case secure_date::date_out_of_range:            {            problem =                "Current date is outside permitted range."                " Contact the home office."                ;            }            break;        case secure_date::md5sum_error:            {            problem =                "At least one file is missing, altered, or invalid."                " Try reinstalling."                ;            }            break;        case secure_date::incorrect_passkey:            {            problem =                "Passkey is incorrect for this version."                " Contact the home office."                ;            }            break;        default:            {            fatal_error()                << "Case '"                << invalid                << "' not found."                << LMI_FLUSH                ;            }        }    // TODO ?? Instead of making this file depend on any gui, either    // add an untrappable exit facility to 'alert.hpp', or return    // a string.    //    if(invalid)        {        std::ostringstream msg;        msg << "Passkey validation failed.";        warning() << msg.str();        std::exit(invalid);        }}