No description
cf9759f78f
- Line numbering was incorrect, because "in >> lat >> lon >> ident;" happily skipped over blank lines without increasing the line number. - Safe stream input handling: first, std::getline() tries to read data, then we check whether that was successful (via the input stream's bool() method, implicitly called in the 'for' loop's exit check), and only if this is the case, we process the data that was read. The main problem with the previous code is that checking the stream's eofbit can't possibly predict whether a _future_ read will be successful---it may fail due to an I/O error, at least. - Currently, the code uses atof() to parse the latitude and longitude fields. This should be fast, though not good at detecting errors in the input; however, this is not worse than the previous code which didn't handle such cases at all. - Correctly deal with input lines containing a number of fields different from 3 (except for the header and the special '99' line): log a warning, ignore the line and continue. This adresses the problem described in <https://sourceforge.net/p/flightgear/mailman/flightgear-devel/thread/87shydeen1.fsf%40frougon.crabdance.com/#msg35034274>. In short, the previous code entered an endless loop trying to process 31.815914 -106.281897 EL PA from recent earth_fix.dat (obtained from <http://gateway.x-plane.com/navaids/LatestNavFix.zip>). |
||
---|---|---|
3rdparty | ||
CMakeModules | ||
docs-mini | ||
examples/netfdm | ||
icons | ||
man | ||
package | ||
scripts | ||
src | ||
tests | ||
utils | ||
.gitignore | ||
AUTHORS | ||
ChangeLog | ||
CMakeLists.txt | ||
COPYING | ||
INSTALL | ||
NEWS | ||
README | ||
README.cmake | ||
README.msvc | ||
README.OpenAL | ||
README.OSG | ||
README.plib | ||
README.SimGear | ||
Thanks | ||
version |
Welcome to the FlightGear Flight Simulator project. =================================================== The primary web page for this project is: http://www.flightgear.org For basic installation instructions see the "INSTALL" file. Before you can run FlightGear you will also need to download and install the "base" package which is a collection of textures, sounds, sample scenery, and other data files needed by the sim. For additional install help for specific platforms please browse the "docs-mini/" subdirectory. More complete documentation is available from our web page as a separate distribution. Please take a look at the "Thanks" file for a list of people who have contributed to this project. If you have contributed something but don't find your name in this file. Please send a polite reminder to http://www.flightgear.org/~curt For a summary of changes/additions by version see the "NEWS" file. This project is GPL'd. For complete details on our licensing please see the "COPYING" file. For information on available mailing lists, mailing list archives, and other available source code and documenation, please visit our web site. FlightGear is a product of the collaboration of large international group of volunteers. FlightGear is a work in progress. FlightGear comes with no warrantee. We hope you enjoy FlightGear and/or find it of some value!