1
0
Fork 0
flightgear/src/FDM/UIUCModel/uiuc_warnings_errors.cpp
James Turner c62b004438 Fix many clang errors in UIUC code
- because uiuc_warning_error always called exit(-1), it can be marked
  no return, so Clang realises that when it’s used in the ‘else’
  side of a parsing test, uninitialised variables in the enclosing
  call site are safe.

(Requires Simgear update to define SG_NO_RETURN helper)
2016-01-12 12:50:31 -06:00

126 lines
3.7 KiB
C++

/**********************************************************************
FILENAME: uiuc_warnings_errors.cpp
----------------------------------------------------------------------
DESCRIPTION:
Prints to screen the follow:
- Error Code (errorCode)
- Message indicating the problem. This message should be preceded by
"Warning", "Error" or "Note". Warnings are non-fatal and the code
will pause. Errors are fatal and will stop the code. Notes are
only for information.
----------------------------------------------------------------------
STATUS: alpha version
----------------------------------------------------------------------
REFERENCES: based on "menu reader" format of Michael Selig
----------------------------------------------------------------------
HISTORY: 01/29/2000 initial release
----------------------------------------------------------------------
AUTHOR(S): Bipin Sehgal <bsehgal@uiuc.edu>
Jeff Scott <jscott@mail.com>
Michael Selig <m-selig@uiuc.edu>
----------------------------------------------------------------------
VARIABLES:
----------------------------------------------------------------------
INPUTS: -error code
-input line
----------------------------------------------------------------------
OUTPUTS: -warning/error message to screen
----------------------------------------------------------------------
CALLED BY: uiuc_menu.cpp
----------------------------------------------------------------------
CALLS TO: none
----------------------------------------------------------------------
COPYRIGHT: (C) 2000 by Michael Selig
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
**********************************************************************/
#include <iostream>
#include "uiuc_warnings_errors.h"
using std::cerr;
using std::endl;
#ifndef _MSC_VER
using std::exit;
#endif
void uiuc_warnings_errors(int errorCode, std::string line)
{
switch (errorCode)
{
case 1:
cerr << "UIUC ERROR 1: The value of the coefficient in \"" << line << "\" should be of type float" << endl;
exit(-1);
break;
case 2:
cerr << "UIUC ERROR 2: Unknown identifier in \"" << line << "\" (check uiuc_map_*.cpp)" << endl;
exit(-1);
break;
case 3:
cerr << "UIUC ERROR 3: Slipstream effects only work w/ the engine simpleSingleModel line: \"" << line << endl;
exit(-1);
break;
case 4:
cerr << "UIUC ERROR 4: Downwash mode does not exist: \"" << line << endl;
exit(-1);
break;
case 5:
cerr << "UIUC ERROR 5: Must use dyn_on_speed not equal to zero: \"" << line << endl;
exit(-1);
break;
case 6:
cerr << "UIUC ERROR 6: Table lookup data exceeds 99 point limit: \"" << endl;
exit(-1);
break;
case 7:
cerr << "UIUC ERROR 7: Need to download data file for the ornithopter. Go to http://www.aae.uiuc.edu/m-selig/apasim/Aircraft-uiuc.html " << endl;
exit(-1);
break;
}
cerr << "UIUC UNKNOWN ERROR" << endl;
exit(-1);
}
// end uiuc_warnings_errors.cpp