GPSBabel: convert, manipulate, and transfer data from GPS programs or GPS receivers. Open Source and supported on MacOS, Windows, Linux, and more. Pointy clicky GUI or a command line version...
The purpose of the assertion was to make sure we didn't have any PCRE metacharacters in our character class definition that we invert to get the invalid characters. In practice the dash was the last character in the class so wouldn't be considered a metacharacter anyway, but our assertion check wasn't sophisticated enough to allow this.
It appears that some distributions don't set CMAKE_BUILD_TYPE to something like Release that causes NDEBUG to be defined, thus assertions are enabled in their released code.
In any event, now that we have a requirement for Qt >= 6.2, we can use QString::removeIf(Predicate pred) and avoid QRegularExpression entirely.
This was reported on gpsbabel-code by Dirk.
The purpose of the assertion was to make sure we didn't have any PCRE metacharacters in our character class definition that we invert to get the invalid characters. In practice the dash was the last character in the class so wouldn't be considered a metacharacter anyway, but our assertion check wasn't sophisticated enough to allow this.
It appears that some distributions don't set CMAKE_BUILD_TYPE to something like Release that causes NDEBUG to be defined, thus assertions are enabled in their released code.
In any event, now that we have a requirement for Qt >= 6.2, we can use QString::removeIf(Predicate pred) and avoid QRegularExpression entirely.