tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

QString and ctype(3)



The qgis build crashes on NetBSD current with:
 FAILED: src/crssync/CMakeFiles/synccrsdb /n0/tmp/work/geography/qgis/work/qgis-3.40.7/cmake-pkgsrc-build/src/crssync/CMakeFiles/synccrsdb 
 cd /n0/tmp/work/geography/qgis/work/qgis-3.40.7/cmake-pkgsrc-build/src/crssync && env LD_LIBRARY_PATH=/n0/tmp/work/geography/qgis/work/qgis-3.40.7/cmake-pkgsrc-build/output/bin/../lib DYLD_LIBRARY_PATH=/n0/tmp/work/geography/qgis/work/qgis-3.40.7/cmake-pkgsrc-build/output/bin/../lib /n0/tmp/work/geography/qgis/work/qgis-3.40.7/cmake-pkgsrc-build/output/bin/crssync
 ctype(3) tolower: invalid input: -62
 ninja: build stopped: subcommand failed.
and I think it's because of
 bool QgsCoordinateReferenceSystem::createFromString( const QString &definition )
 {
 if ( definition.isEmpty() )
 return false;
 QgsReadWriteLocker locker( *sCrsStringLock(), QgsReadWriteLocker::Read );
 if ( !sDisableStringCache )
 {
 QHash< QString, QgsCoordinateReferenceSystem >::const_iterator crsIt = sStringCache()->constFind( definition );
 if ( crsIt != sStringCache()->constEnd() )
 {
 // found a match in the cache 
 *this = crsIt.value();
 return d->mIsValid;
 }
 }
 locker.unlock();
 bool result = false;
 const thread_local QRegularExpression reCrsId( QStringLiteral( "^(epsg|esri|osgeo|ignf|ogc|nkg|zangi|iau_2015|iau2000|postgis|internal|user)\\:(\\w+)$" ), QRegularExpression::CaseInsensitiveOption );
 QRegularExpressionMatch match = reCrsId.match( definition );
 if ( match.capturedStart() == 0 )
 {
 QString authName = match.captured( 1 ).toLower();
 if ( authName == QLatin1String( "epsg" ) )
 {
 result = createFromOgcWmsCrs( definition );
 }
Perhaps, because a QString is char, not unsigned char -- but that's
guessing. But it may be some other toLower, not the one above.
cppreference.com (not sure I should believe that) says .toLower is a
horror show:
 https://en.cppreference.com/w/cpp/string/byte/tolower
Is anyone else seeing issues with QT programs under NetBSD current?


Home | Main Index | Thread Index | Old Index

AltStyle によって変換されたページ (->オリジナル) /