From ce107fa11a3e66194bfe0f835a01acaa1f4e3765 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Wed, 15 Jan 2020 15:53:38 +0000 Subject: [PATCH] use getprogname() if available in QCoreApplicationPrivate::appName() Signed-off-by: Ivailo Monev --- CMakeLists.txt | 2 ++ src/core/kernel/qcoreapplication.cpp | 8 +++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 49bb5baac..95a96d219 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -230,6 +230,8 @@ katie_check_function(gmtime_r "time.h") # SVr2, removed in POSIX.1-2008 katie_check_function(fcvt "stdlib.h") katie_check_function(ecvt "stdlib.h") +# NetBSD 1.6 and FreeBSD 4.4 +katie_check_function(getprogname "stdlib.h") # 64-bit offset alternatives, if any of the functions is not found it will set # QT_LARGEFILE_SUPPORT to FALSE. QT_LARGEFILE_SUPPORT is used in qconfig.h diff --git a/src/core/kernel/qcoreapplication.cpp b/src/core/kernel/qcoreapplication.cpp index 48e0ca33d..d5bd3b1c2 100644 --- a/src/core/kernel/qcoreapplication.cpp +++ b/src/core/kernel/qcoreapplication.cpp @@ -65,10 +65,16 @@ QT_BEGIN_NAMESPACE QString QCoreApplicationPrivate::appName() const { +#ifdef QT_HAVE_GETPROGNAME + if (applicationName.isEmpty()) { + return QString::fromLocal8Bit(::getprogname()); + } +#else if (applicationName.isEmpty() && argv[0]) { - const char *p = strrchr(argv[0], '/'); + const char *p = ::strrchr(argv[0], '/'); return QString::fromLocal8Bit(p ? p + 1 : argv[0]); } +#endif // QT_HAVE_GETPROGNAME return applicationName; } -- 2.11.0