• Masahiro Yamada's avatar
    kconfig: qconf: replace deprecated QString::sprintf() with QTextStream · 510bc3cb
    Masahiro Yamada authored
    QString::sprintf() is deprecated in the latest Qt version, and spawns
    a lot of warnings:
    
      HOSTCXX scripts/kconfig/qconf.o
    scripts/kconfig/qconf.cc: In member function ‘void ConfigInfoView::menuInfo()’:
    scripts/kconfig/qconf.cc:1090:61: warning: ‘QString& QString::sprintf(const char*, ...)’ is deprecated: Use asprintf(), arg() or QTextStream instead [-Wdeprecated-declarations]
     1090 |      head += QString().sprintf("<a href=\"s%s\">", sym->name);
          |                                                             ^
    In file included from /usr/include/qt5/QtGui/qkeysequence.h:44,
                     from /usr/include/qt5/QtWidgets/qaction.h:44,
                     from /usr/include/qt5/QtWidgets/QAction:1,
                     from scripts/kconfig/qconf.cc:7:
    /usr/include/qt5/QtCore/qstring.h:382:14: note: declared here
      382 |     QString &sprintf(const char *format, ...) Q_ATTRIBUTE_FORMAT_PRINTF(2, 3);
          |              ^~~~~~~
    scripts/kconfig/qconf.cc:1099:60: warning: ‘QString& QString::sprintf(const char*, ...)’ is deprecated: Use asprintf(), arg() or QTextStream instead [-Wdeprecated-declarations]
     1099 |     head += QString().sprintf("<a href=\"s%s\">", sym->name);
          |                                                            ^
    In file included from /usr/include/qt5/QtGui/qkeysequence.h:44,
                     from /usr/include/qt5/QtWidgets/qaction.h:44,
                     from /usr/include/qt5/QtWidgets/QAction:1,
                     from scripts/kconfig/qconf.cc:7:
    /usr/include/qt5/QtCore/qstring.h:382:14: note: declared here
      382 |     QString &sprintf(const char *format, ...) Q_ATTRIBUTE_FORMAT_PRINTF(2, 3);
          |              ^~~~~~~
    scripts/kconfig/qconf.cc:1127:90: warning: ‘QString& QString::sprintf(const char*, ...)’ is deprecated: Use asprintf(), arg() or QTextStream instead [-Wdeprecated-declarations]
     1127 |   debug += QString().sprintf("defined at %s:%d<br><br>", _menu->file->name, _menu->lineno);
          |                                                                                          ^
    In file included from /usr/include/qt5/QtGui/qkeysequence.h:44,
                     from /usr/include/qt5/QtWidgets/qaction.h:44,
                     from /usr/include/qt5/QtWidgets/QAction:1,
                     from scripts/kconfig/qconf.cc:7:
    /usr/include/qt5/QtCore/qstring.h:382:14: note: declared here
      382 |     QString &sprintf(const char *format, ...) Q_ATTRIBUTE_FORMAT_PRINTF(2, 3);
          |              ^~~~~~~
    scripts/kconfig/qconf.cc: In member function ‘QString ConfigInfoView::debug_info(symbol*)’:
    scripts/kconfig/qconf.cc:1150:68: warning: ‘QString& QString::sprintf(const char*, ...)’ is deprecated: Use asprintf(), arg() or QTextStream instead [-Wdeprecated-declarations]
     1150 |    debug += QString().sprintf("prompt: <a href=\"m%s\">", sym->name);
          |                                                                    ^
    In file included from /usr/include/qt5/QtGui/qkeysequence.h:44,
                     from /usr/include/qt5/QtWidgets/qaction.h:44,
                     from /usr/include/qt5/QtWidgets/QAction:1,
                     from scripts/kconfig/qconf.cc:7:
    /usr/include/qt5/QtCore/qstring.h:382:14: note: declared here
      382 |     QString &sprintf(const char *format, ...) Q_ATTRIBUTE_FORMAT_PRINTF(2, 3);
          |              ^~~~~~~
    scripts/kconfig/qconf.cc: In static member function ‘static void ConfigInfoView::expr_print_help(void*, symbol*, const char*)’:
    scripts/kconfig/qconf.cc:1225:59: warning: ‘QString& QString::sprintf(const char*, ...)’ is deprecated: Use asprintf(), arg() or QTextStream instead [-Wdeprecated-declarations]
     1225 |   *text += QString().sprintf("<a href=\"s%s\">", sym->name);
          |                                                           ^
    In file included from /usr/include/qt5/QtGui/qkeysequence.h:44,
                     from /usr/include/qt5/QtWidgets/qaction.h:44,
                     from /usr/include/qt5/QtWidgets/QAction:1,
                     from scripts/kconfig/qconf.cc:7:
    /usr/include/qt5/QtCore/qstring.h:382:14: note: declared here
      382 |     QString &sprintf(const char *format, ...) Q_ATTRIBUTE_FORMAT_PRINTF(2, 3);
          |              ^~~~~~~
    
    The documentation also says:
    "Warning: We do not recommend using QString::asprintf() in new Qt code.
    Instead, consider using QTextStream or arg(), both of which support
    Unicode strings seamlessly and are type-safe."
    
    Use QTextStream as suggested.
    Reported-by: default avatarRobert Crawford <flacycads@cox.net>
    Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
    510bc3cb
qconf.cc 44.9 KB