tolerate NDV (no directional validation) in METAR

This commit is contained in:
Torsten Dreyer
2010-09-27 19:38:15 +02:00
parent 0b953462f7
commit 9a28642a4e

View File

@@ -466,11 +466,13 @@ bool SGMetar::scanVisibility()
int modifier = SGMetarVisibility::EQUALS;
// \d{4}(N|NE|E|SE|S|SW|W|NW)?
if (scanNumber(&m, &i, 4)) {
if (*m == 'E')
if( strncmp( m, "NDV",3 ) == 0 ) {
m+=3; // tolerate NDV (no directional validation)
} else if (*m == 'E') {
m++, dir = 90;
else if (*m == 'W')
} else if (*m == 'W') {
m++, dir = 270;
else if (*m == 'N') {
} else if (*m == 'N') {
m++;
if (*m == 'E')
m++, dir = 45;
@@ -486,7 +488,7 @@ bool SGMetar::scanVisibility()
m++, dir = 225;
else
dir = 180;
}
}
if (i == 0)
i = 50, modifier = SGMetarVisibility::LESS_THAN;
else if (i == 9999)