include/o3tl/environment.hxx | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+)
New commits: commit bddeb8996aaa83e3204840d20bec514acec1fc61 Author: Mike Kaganski <mike.kagan...@collabora.com> AuthorDate: Wed Jul 16 14:41:53 2025 +0500 Commit: Mike Kaganski <mike.kagan...@collabora.com> CommitDate: Thu Jul 17 07:02:59 2025 +0200 Introduce o3tl::getEnvironment Getting environment variable values into OUString is a common task. In many places, we either use getenv and convert to OUString; or use osl_getEnvironment (usually ignoring its return value), which is a bit awkward. The introduced o3tl::getEnvironment is a wrapper around the latter. One of upsides of using it is minimizing direct access to pData. o3tl::setEnvironment is also added for symmetry. Change-Id: I420093de4873cc08c8b64d218ab93218d8ad398f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187973 Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> Tested-by: Jenkins diff --git a/include/o3tl/environment.hxx b/include/o3tl/environment.hxx new file mode 100644 index 000000000000..7de9ce2bfaf8 --- /dev/null +++ b/include/o3tl/environment.hxx @@ -0,0 +1,32 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#pragma once + +#include <sal/config.h> + +#include <osl/process.h> +#include <rtl/ustring.hxx> + +namespace o3tl +{ +inline OUString getEnvironment(const OUString& name) +{ + OUString ret; + osl_getEnvironment(name.pData, &ret.pData); + return ret; +} + +inline void setEnvironment(const OUString& name, const OUString& value) +{ + osl_setEnvironment(name.pData, value.pData); +} +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */