7#include <qplatformdefs.h>
8#include <QtCore/qbytearray.h>
9#include <QtCore/qmutex.h>
10#include <QtCore/qstring.h>
11#include <QtCore/qvarlengtharray.h>
13#include <QtCore/private/qlocking_p.h>
47 size_t requiredSize = 0;
49 getenv_s(&requiredSize, 0, 0, varName);
50 if (requiredSize == 0)
53 getenv_s(&requiredSize,
buffer.data(), requiredSize, varName);
115 size_t requiredSize = 0;
117 _wgetenv_s(&requiredSize, 0, 0, wname.
data());
118 if (requiredSize == 0)
121 _wgetenv_s(&requiredSize,
reinterpret_cast<wchar_t *
>(
buffer.data()), requiredSize,
133#if defined(Q_OS_DARWIN)
167 return getenv_s(&dummy, &
buffer, 1, varName) != ERANGE;
169 const char *
const value = ::getenv(varName);
195 static const int NumBinaryDigitsPerOctalDigit = 3;
196 static const int MaxDigitsForOctalInt =
197 (std::numeric_limits<uint>::digits + NumBinaryDigitsPerOctalDigit - 1) / NumBinaryDigitsPerOctalDigit;
203 char buffer[MaxDigitsForOctalInt + 2];
205 if (getenv_s(&dummy,
buffer,
sizeof buffer, varName) != 0) {
212 const char *
const buffer = ::getenv(varName);
238 size_t requiredSize = 0;
239 (
void)getenv_s(&requiredSize, 0, 0, varName);
240 return requiredSize != 0;
242 return ::getenv(varName) !=
nullptr;
270 auto protect = [](
const char *
str) {
return str ?
str :
""; };
274#if defined(Q_CC_MSVC)
276 return _putenv_s(varName,
value.data()) == 0;
277#elif (defined(_POSIX_VERSION) && (_POSIX_VERSION-0) >= 200112L) || defined(Q_OS_HAIKU)
280 return setenv(varName,
value.data(),
true) == 0;
283 buffer += protect(varName);
289 return putenv(envVar);
310#if defined(Q_CC_MSVC)
312 return _putenv_s(varName,
"") == 0;
313#elif (defined(_POSIX_VERSION) && (_POSIX_VERSION-0) >= 200112L) || defined(Q_OS_BSD4) || defined(Q_OS_HAIKU)
316 return unsetenv(varName) == 0;
317#elif defined(Q_CC_MINGW)
322 return putenv(
buffer.constData()) == 0;
330 return putenv(envVar) == 0;
371 return !localtime_s(local, &utc);
372#elif QT_CONFIG(thread) && defined(_POSIX_THREAD_SAFE_FUNCTIONS)
378 if (tm *
res = localtime_r(&utc, local)) {
388 if (tm *
res = localtime(&utc)) {
407#if defined(Q_CC_MSVC)
411 ok = _get_tzname(&
s,
name, 512, dstIndex) != 0;
416 const char *
const src = tzname[dstIndex];
int toInt(bool *ok=nullptr, int base=10) const
constexpr qsizetype size() const noexcept
constexpr const_pointer data() const noexcept
\macro QT_RESTRICTED_CAST_FROM_ASCII
static QString fromLocal8Bit(QByteArrayView ba)
This is an overloaded member function, provided for convenience. It differs from the above function o...
static QString fromUtf8(QByteArrayView utf8)
This is an overloaded member function, provided for convenience. It differs from the above function o...
QString normalized(NormalizationForm mode, QChar::UnicodeVersion version=QChar::Unicode_Unassigned) const
Returns the string in the given Unicode normalization mode, according to the given version of the Uni...
constexpr size_type size() const noexcept
Combined button and popup list for selecting options.
Lock qt_scoped_lock(Mutex &mutex)
constexpr Initialization Uninitialized
Q_CORE_EXPORT char * qstrdup(const char *)
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
GLenum GLuint GLintptr GLsizeiptr size
[1]
bool qLocalTime(time_t utc, struct tm *local)
QT_BEGIN_NAMESPACE static Q_CONSTINIT QBasicMutex environmentMutex
QString qEnvironmentVariable(const char *varName, const QString &defaultValue)
bool qputenv(const char *varName, QByteArrayView raw)
time_t qMkTime(struct tm *when)
QString qTzName(int dstIndex)
Q_CORE_EXPORT QByteArray qgetenv(const char *varName)
Q_CORE_EXPORT bool qEnvironmentVariableIsEmpty(const char *varName) noexcept
Q_CORE_EXPORT bool qEnvironmentVariableIsSet(const char *varName) noexcept
Q_CORE_EXPORT int qEnvironmentVariableIntValue(const char *varName, bool *ok=nullptr) noexcept
Q_CORE_EXPORT bool qunsetenv(const char *varName)