Skip to content

Commit 5315aad

Browse files
committed
rtknav_qt: relax rmd regex to handle rounding edge cases
The seconds can be rounded up to 60 which is outside the valid regex filter and then become invalid and the value is lost. Relax the filter to accept seconds into the 60s which is still workable.
1 parent f1a886f commit 5315aad

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

app/qtapp/appcmn_qt/navi_post_opt.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -139,9 +139,9 @@ OptDialog::OptDialog(QWidget *parent, int opts)
139139
QString decSep = QRegularExpression::escape(QLocale().decimalPoint());
140140

141141
regExDMSLat = QRegularExpression(QString("^\\s*(?:(?<deg1>[%0%1]?90)[°\\s]\\s*(?<min1>0{1,2})['\\s]\\s*(?<sec1>0{1,2}(?:[%2]0*)?)\"?\\s*)|"
142-
"(?:(?<deg2>[%0%1]?(?:[1-8][0-9]|[0-9]))[°\\s]\\s*(?<min2>(?:[0-5][0-9]|[0-9]))['\\s]\\s*(?<sec2>(?:[0-5][0-9]|[0-9])(?:[%2][0-9]*)?)\"?)\\s*$").arg(posSign, negSign, decSep));
142+
"(?:(?<deg2>[%0%1]?(?:[1-8][0-9]|[0-9]))[°\\s]\\s*(?<min2>(?:[0-5][0-9]|[0-9]))['\\s]\\s*(?<sec2>(?:[0-6][0-9]|[0-9])(?:[%2][0-9]*)?)\"?)\\s*$").arg(posSign, negSign, decSep));
143143
regExDMSLon = QRegularExpression(QString("^\\s*(?:(?<deg1>[%0%1]?180)[°\\s]\\s*(?<min1>0{1,2})['\\s]\\s*(?<sec1>0{1,2}(?:[%2]0*)?)\"?\\s*)|"
144-
"(?:(?<deg2>[%0%1]?(?:1[0-7][0-9]|[0-9][0-9]|[0-9]))[°\\s]\\s*(?<min2>(?:[0-5][0-9]|[0-9]))['\\s]\\s*(?<sec2>(?:[0-5][0-9]|[0-9])(?:[%2][0-9]*)?)\"?)\\s*$").arg(posSign, negSign, decSep));
144+
"(?:(?<deg2>[%0%1]?(?:1[0-7][0-9]|[0-9][0-9]|[0-9]))[°\\s]\\s*(?<min2>(?:[0-5][0-9]|[0-9]))['\\s]\\s*(?<sec2>(?:[0-6][0-9]|[0-9])(?:[%2][0-9]*)?)\"?)\\s*$").arg(posSign, negSign, decSep));
145145

146146

147147
processingOptions = prcopt_default;
@@ -1916,8 +1916,8 @@ void OptDialog::setPosition(int type, QLineEdit **edit, const double *pos)
19161916
ecef2pos(pos, p);
19171917
s1 = p[0] < 0 ? -1 : 1;
19181918
s2 = p[1] < 0 ? -1 : 1;
1919-
p[0] = fabs(p[0]) * R2D + 1E-12;
1920-
p[1] = fabs(p[1]) * R2D + 1E-12;
1919+
p[0] = fabs(p[0]) * R2D;
1920+
p[1] = fabs(p[1]) * R2D;
19211921
dms1[0] = floor(p[0]); p[0] = (p[0] - dms1[0]) * 60.0;
19221922
dms1[1] = floor(p[0]); dms1[2] = (p[0] - dms1[1]) * 60.0;
19231923
dms2[0] = floor(p[1]); p[1] = (p[1] - dms2[0]) * 60.0;

0 commit comments

Comments
 (0)