]> git.mxchange.org Git - flightgear.git/blobdiff - src/Main/metar_main.cxx
Merge branch 'jt/runway' into next
[flightgear.git] / src / Main / metar_main.cxx
index 36567ffb30b640fcc9f9636ae46ceaed130546f5..d150b65267097f027dce01302e0db4d10a01f766 100644 (file)
 //
 // You should have received a copy of the GNU General Public License
 // along with this program; if not, write to the Free Software
-// Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 //
 // $Id$
 
 #include <iomanip>
 #include <sstream>
+#include <iostream>
 #include <string.h>
+#include <time.h>
 
 #include <simgear/debug/logstream.hxx>
 #include <simgear/environment/metar.hxx>
@@ -75,11 +77,11 @@ const char *azimuthName(double d)
 double rnd(double r, int g = 0)
 {
        double f = pow(10.0, g);
-       return f * rint(r / f);
+       return f * floor(r / f + 0.5);
 }
 
 
-ostream& operator<<(ostream& s, SGMetarVisibility& v)
+ostream& operator<<(ostream& s, const SGMetarVisibility& v)
 {
        ostringstream buf;
        int m = v.getModifier();
@@ -154,7 +156,7 @@ void printReport(SGMetar *m)
 
 
        // directed visibility
-       SGMetarVisibility *dirvis = m->getDirVisibility();
+       const SGMetarVisibility *dirvis = m->getDirVisibility();
        for (i = 0; i < 8; i++, dirvis++)
                if (dirvis->getVisibility_m() != NaN)
                        cout << "\t\t\t" << *dirvis << endl;
@@ -269,7 +271,7 @@ void printReport(SGMetar *m)
                if ((s = rwy.getExtentString()) && strlen(s))
                        surface.push_back(s);
                if ((d = rwy.getDepth()) != NaN) {
-                       sprintf(buf, "%.0lf mm", d * 1000.0);
+                       sprintf(buf, "%.1lf mm", d * 1000.0);
                        surface.push_back(buf);
                }
                if ((s = rwy.getFrictionString()) && strlen(s))
@@ -484,7 +486,6 @@ void usage()
        );
 }
 
-
 int main(int argc, char *argv[])
 {
        bool report = true;