summaryrefslogtreecommitdiff
path: root/shell
AgeCommit message (Collapse)Author
2025-01-09check if non-file uris could be interpreted as a file system pathnameCaolán McNamara
Change-Id: If283bec44ad1d648c68a5d0f028855e09c09017e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179868 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-01-08Simplify using designated initializersMike Kaganski
Change-Id: I73d666a0aa4a41e8e73cb701161be1da6fd59d0d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179942 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2025-01-06split out a separate 'checkFile'Caolán McNamara
no change in logic intended Change-Id: I56b8dabaaecd403704d2317cfe90ee5f04875dbf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179844 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-12-18Send attachments to xdg-email also as --attach argumentsMike Kaganski
Intended to handle the potential end of support of "attach" in mailto URLs, as discussed in https://gitlab.freedesktop.org/xdg/xdg-utils/-/issues/177. Change-Id: If1e9a7161e9805f634fcab5fb83e6f172af54d1c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178701 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Tested-by: Jenkins
2024-12-17Simplify and deduplicate a bitMike Kaganski
Change-Id: I3f7fac31e7f15562c39b453c67735d7386c86f7e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178658 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-12-17Simplify variable expansionMike Kaganski
Change-Id: I2447d040a371da9c76fe167da3ac802cd7d7416a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178610 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-12-17Fix typo in earlier commitStephan Bergmann
...6d1cddea8e4e19287891ab8fb7e3774ae9976ea1 "tdf#135628 Let uri-encode encode newlines" Change-Id: I11e6f08947e85964f02fe1379217a2004492d0b5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178602 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-12-16tdf#135628 Let uri-encode encode newlinesStephan Bergmann
...and invoke it via `printf ... | uri-encode` rather than `echo ... | uri-encode`, to avoid passing spurious newlines to it (which appears to have been the reason for it not to encode newlines in the first place) Change-Id: I26131a19f69c04b0beca8e8bab72c1dbb65300c1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178596 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-11-23tdf#158237 Use C++20 contains() instead of find() and end()Simon Chenery
Change-Id: Ib0ed8868b94c1470768a95fb26767cf25fe4bf8f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177028 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2024-07-20Remove now unneeded osl/diagnose.hGabor Kelemen
followup to commit 57c228803e55ed343c6693de7d0857ad7d3cd9e3 Change-Id: Iebfb23bb65e2bf898bf27f367cc9641f47a14cf3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167998 Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de> Tested-by: Jenkins
2024-07-11Update preprocessed_command with the end result of the path checksMike Kaganski
So we don't rely on ShellExecuteExW doing the same. Change-Id: I83efe08b0e0fe062c6e0402fab8ebbf36e56cadc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169908 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-07-03SHGFI_EXETYPE doesn't need SHFILEINFOWMike Kaganski
Change-Id: Ib18d5a3992174c0b56f11970d02515bc6d0ea615 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169907 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-07-03Optimize a bitMike Kaganski
Change-Id: Icccf4a93054780c7a111f664117b25821c47f700 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169906 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-07-02Don't pass unused optional agrumentMike Kaganski
IShellLinkW::GetPath allows to pass nullptr to its third argument: see https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-ishelllinkw-getpath Change-Id: Icf1ca402448b8dfcc3a5ab2834341e67e8dc0b8d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169869 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-07-02Add source location to ComErrorMike Kaganski
And use in CSysShExec::execute to improve location reporting Change-Id: I624df0418b99a79207f5aeefa38d2bfe5ea7ffe1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169880 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-07-02Simplify error handling in CSysShExec::executeMike Kaganski
Change-Id: I6c9723d67eeda6deea088ac28b843628a5b3200f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169867 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-06-16Remove some unneeded castsMike Kaganski
This also changes the API used in WriteLibraryToRegistry. Change-Id: Iba4c20567275a64684be8695c771e4c5535956ab Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168912 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-06-15Simplify a bit using newer registry APIMike Kaganski
Change-Id: I8e0106464260126983a1d55c66c218e78da7f94e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168908 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-06-15Simplify a bit using newer registry APIMike Kaganski
Change-Id: Id5e13ec253f04ecae972d671cbafd1433717bca9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168907 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-05-31kf5be: Make fromQStringToOUString work for Qt 6Michael Weghorn
Sync `fromQStringToOUString` with the `toOUString` implementation in `vcl/inc/qt5/QtTools.hxx`, which makes it work with Qt 6 as well. Without this, building this with a planned upcoming change that introduces a KF 6 desktop backend would fail like this: In file included from /home/user/development/git/libreoffice/shell/source/backends/kf6be/kfaccess.cxx:10: /home/user/development/git/libreoffice/shell/source/backends/kf6be/../kf5be/kfaccess.cxx:53:60: error: non-constant-expression cannot be narrowed from type 'qsizetype' (aka 'long long') to 'sal_Int32' (aka 'int') in initializer list [-Wc++11-narrowing] 53 | return { reinterpret_cast<char16_t const*>(s.utf16()), s.size() }; | ^~~~~~~~ /home/user/development/git/libreoffice/shell/source/backends/kf6be/../kf5be/kfaccess.cxx:53:60: note: insert an explicit cast to silence this issue 53 | return { reinterpret_cast<char16_t const*>(s.utf16()), s.size() }; | ^~~~~~~~ | static_cast<sal_Int32>( ) Change-Id: Ic2b1ddcaa290379187db69b33e4a700c148650e1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168275 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-05-31kf: Drop "5" from KF 5 desktop backend file namesMichael Weghorn
... and namespace. This is in preparation of implementing a KF 6 backend that will reuse most of the code. Change-Id: I0c0f499ff57dd18e7e0bc7dd838acfeffa30d88c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168274 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-05-31tdf#143148 kf: Use pragma once in kf5access.hxxMichael Weghorn
Change-Id: If2d8d2dc13088ba2b2972198b8386be55401871d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168273 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-05-16loplugin:ostr in shellNoel Grandin
Change-Id: Ia3b9f7dc0ae67f420c3bed370f549a492251156b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167705 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-05-03makefile simplification: replace $(call gb_CustomTarget_get_workdir,foo)Christian Lohmaier
…by a simple/static $(gb_CustomTarget_workdir)/foo The build system has a lot of overly complicated leftovers from when it was introduced and had not only deal with split repositories but also had to coexist with another buildsystem. Along with lots of copy'n'paste along the years the makefiles became hard to grasp for newcomers with all our calls and evals. As a first step to streamline that, the macros from TargetLocations that simply prefix a static path to the argument (and similar of the same kind) are a natural pick before simplifying the rules themselves/getting rid of a bunch of eval statements. Change-Id: Ia06dbbcd5d1994755a2ff05b84f72ccbc4e3cab5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167005 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-03-30tdf#146619 Drop unused 'using namespace' in: shell/Gabor Kelemen
Change-Id: I4194a1e3b92ec5bd25a8f313f7ff441566079bac Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165517 Tested-by: Jenkins Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
2024-03-21Drop C/C++ DEBUG macroStephan Bergmann
...(that was defined iff OSL_DEBUG_LEVEL >= 2) and replace its uses with OSL_DEBUG_LEVEL directly Change-Id: I807c15a02cc8ced9852287df0afb4808761d19d2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165067 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-02-26Define a name for the extended path buffer size, instead of a literalMike Kaganski
Change-Id: If6d40c818e021b3241d6b6b33aceca07c6393511 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163926 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-02-26Replace an instance of MAX_PATH with 32767Mike Kaganski
... which is the approximate maximum of Windows API, as documented in https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation Change-Id: I2bfc2f2fa8a405ed36d6bb0c52f961028dd2fe6d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163911 Tested-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-02-26Replace an instance of MAX_PATH with 32767Mike Kaganski
... which is the approximate maximum of Windows API, as documented in https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation Change-Id: I152b0b499374167720d73a475f2502e52fc5a5dc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163910 Tested-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-02-26Replace an instance of MAX_PATH with 32767Mike Kaganski
... which is the approximate maximum of Windows API, as documented in https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation Change-Id: I78524891d89e34fb1569bf1d32161a96079f0f6e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163909 Tested-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-02-26Replace an instance of MAX_PATH with 32767Mike Kaganski
... which is the approximate maximum of Windows API, as documented in https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation Change-Id: I5cd3c5e384005341aa2c39b18b3302521e71a805 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163908 Tested-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-02-26Replace an instance of MAX_PATH with 32767Mike Kaganski
... which is the approximate maximum of Windows API, as documented in https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation Change-Id: I7029d18eaa721a0db1b1869cfe6425715e80eda1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163907 Tested-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-02-26Remove an instance of MAX_PATHMike Kaganski
... and avoid manual memory management. Change-Id: I6f056fd5bcc299c2c31aede227b29444ec3c5988 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163906 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-02-26Remove an instance of MAX_PATH limitationMike Kaganski
... and avoid manual memory management. Change-Id: I901cfc1dbede3241d387003c04fa11c1371fa8d1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163905 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-01-31Fix typoAndrea Gelmini
Change-Id: I7c61c8540ab9a9b5b2dafd901578fb7fd7fa85a8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162796 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-01-31tdf#159307 Let non-URIS_ONLY execute() handle .app directories on macOSStephan Bergmann
Change-Id: I873daed9347b5e5bee4a630474438fce2cc73fec Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162768 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-01-27Drop std::as_const from css::uno::Sequence iterationsMike Kaganski
Obsoleted by commit 2484de6728bd11bb7949003d112f1ece2223c7a1 (Remove non-const Sequence::begin()/end() in internal code, 2021-10-15) and commit fb3c04bd1930eedacd406874e1a285d62bbf27d9 (Drop non-const Sequence::operator[] in internal code, 2021-11-05). Change-Id: Idbafef5d34c0d4771cbbf75b9db9712e504164cd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162640 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-01-22use portable "command -v" to detect installed programs, part 1Eli Schwartz
The "which" utility is not guaranteed to be installed either, and if it is, its behavior is not portable either. This means that when various programs are installed, the `which` check will report a fatal error because the which tool did not exist and the shell returned a nonzero status when attempting to fork+exec. If it did exist, it might not be an implementation of `which` that returns nonzero when commands do not exist. The general scripting suggestion is to use the "command -v" shell builtin; this is required to exist in all POSIX 2008 compliant shells, and is thus guaranteed to work everywhere. For some in-depth discussions on the topic, see: - https://mywiki.wooledge.org/BashFAQ/081 - https://unix.stackexchange.com/questions/85249/why-not-use-which-what-to-use-then/85250#85250 Examples of open-source shells likely to be installed as /bin/sh on Linux, which implement the 15-year-old standard: ash, bash, busybox, dash, ksh, mksh and zsh. This commit changes two programs installed to end-user systems. Change-Id: I6013965bb914f5b0d593a876866b991e210ef5b8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160662 Tested-by: Jenkins Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2023-11-16tdf#146386 deprecate, remove usage of Inet::Settings::ooInetFTPProxyNameMichael Stahl
* officecfg: deprecate Inet::Settings::ooInetFTPProxyName/Port * ucbhelper: stop handling these settings * sfx2: remove SID_INET_FTP_PROXY_NAME and SID_INET_FTP_PROXY_PORT and usage from SfxApplication::GetOptions() * shell: remove proxy config code from backends * stoc: the JavaVM would have its "ftp.proxyHost" properties set based on officecfg values; remove that * sysui,vcl: remove protocol from KDE desktop files and file picker Change-Id: Iba02676cf6e519e2fa60ba925209436d38e75f49 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159500 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-11-15avoid double map lookupNoel Grandin
Change-Id: I02018eaaf220c7835756eba6215425bac9cbc6f3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159432 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-11-08loplugin:unnecessarygetstr (clang-cl)Stephan Bergmann
Change-Id: Ic0ec1614d48382bb5735a67bf9588657b9ebd521 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159106 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-10-27Various -Werror,-Wvla-cxx-extensionStephan Bergmann
...as enabled by default now in recent Clang 18 trunk Change-Id: I59f9bbdf2ce064f170df01e6d7ec2341884ab5e3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158563 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-10-12Make NC_ constexpr-friendlyStephan Bergmann
...by moving the char8_t -> char reinterpret_cast out of any potential constexpr paths into a new TranslateId::getId. And demonstrate constexpr'ability by making the aCategories var in OApplicationIconControl::Fill (dbaccess/source/ui/app/AppIconControl.cxx) constexpr. (And there might be more such cases that could now be made constexpr.) Change-Id: I0b4e3292faf8f6b901f9b9e934e1aa6bf0f583ff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157862 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-09-22tdf#143148: Use pragma once instead of include guardsMihai Vasiliu
Change-Id: Ib3c0d6c158e5efbbca55e03f189dccaf67832fff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157155 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-09-18Use less boost external headers dependency in shellGabor Kelemen
Change-Id: Ie9c184abe3f30b79163bed10c89f4cf76015a5aa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156555 Tested-by: Jenkins Reviewed-by: Gabor Kelemen <kelemeng@ubuntu.com>
2023-04-30Use getXWeak in shellMike Kaganski
Change-Id: Ied9a244a0fdd5973f2c9cb3bdd46500f6be2e0cd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150868 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-04-25Add script to find unused using declarationsGabor Kelemen
As a complementer to clang-tidy-12 --checks="-*,misc-unused-using-decls" Pros: - simple, fast! - finds some more unused declarations, somehow - works on non-linux specific parts of the code - clang-tidy (for me) trips on files with external headers, this does not Change-Id: If2db989114ac5c2841ed2e89ff7bd7a9e419f567 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150612 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-04-23Run clang-tidy with misc-unused-using-decls on modules [s-t]*Gabor Kelemen
To remove unneeded using declarations. Via the simple script: for i in $(find $dirname -name "*cxx" -o -name "*hxx" ); do clang-tidy-12 --checks="-*,misc-unused-using-decls" "$i"; done Change-Id: I596299084471b2904548d23875866f1583b00b2a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150610 Tested-by: Jenkins Reviewed-by: Gabor Kelemen <kelemeng@ubuntu.com>
2023-04-17Normalize line endingsMike Kaganski
Change-Id: I8daa44961ae7a92fc6bbc728e5387dc0b5e32f31 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150487 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-04-11loplugin:stringaddStephan Bergmann
Change-Id: I8437b896feb54b3162fd846861d6de0879ed2690 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150233 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>