summaryrefslogtreecommitdiff
path: root/tools
AgeCommit message (Collapse)Author
2018-07-06XmlWriter: support namespaces, writing of base64 attributeTomaž Vajngerl
Change-Id: I3c1d885d239178b46578123fd83d3aa1d7ccd023 Reviewed-on: https://gerrit.libreoffice.org/56971 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2018-06-29Improved loplugin:redundantcast (const-qualified typedefs): toolsStephan Bergmann
Change-Id: I919e49f8581d38a82622ca4b8cf9c08de8da4964 Reviewed-on: https://gerrit.libreoffice.org/56705 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-06-22teach useuniqueptr loplugin about calling delete on a paramNoel Grandin
which is often a useful indicator that the callers can be made to use std::unique_ptr Change-Id: Idb1745d1f58dbcf389c9f60f1a5728d7d092ade5 Reviewed-on: https://gerrit.libreoffice.org/56238 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-06-05tdf#42949 remove unused compheler includes ..Jochen Nitschke
and fix the fallout Change-Id: I15bc5d626f4d157cbc69a87392078b41e621d14e Reviewed-on: https://gerrit.libreoffice.org/54882 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-06-02valgrind: uninitialized readCaolán McNamara
Change-Id: I29811f652c2368a0fecef66dd02343d12ee67068 Reviewed-on: https://gerrit.libreoffice.org/55178 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-06-01loplugin: look for CPPUNIT_ASSERT_EQUALS with params swappedNoel Grandin
idea originally from either tml or moggi, can't remember which Change-Id: Id78d75035036d3aa1666e33469c6eeb38f9e624d Reviewed-on: https://gerrit.libreoffice.org/55126 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-05-26demangle context type name in DBG_UNHANDLED_EXCEPTIONNoel Grandin
Change-Id: I59591d0209ddf2bcf6e57a78dc7999d773b73ae3 Reviewed-on: https://gerrit.libreoffice.org/54805 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-05-19Revert "tools: test Pair"Noel Grandin
This reverts commit 99dbaba70afb91ed3961f9ff627c35bf54d66bef. Let's land this again once Stephan's comments in https://gerrit.libreoffice.org/#/c/54189/ have been addressed Change-Id: I4230e4ce59a46379548bb510e433c68b021e896c Reviewed-on: https://gerrit.libreoffice.org/54414 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-05-17loplugin:unusedfields in tools..xmlhelpNoel Grandin
Change-Id: I5e909a8def86ce9ad150440e6c6ad304e855cc69 Reviewed-on: https://gerrit.libreoffice.org/54415 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-05-17loplugin:redundantcast improvements for floating-integer conversionsStephan Bergmann
Change-Id: I63dbf18f144a792ae775fe6706da81657f790016 Reviewed-on: https://gerrit.libreoffice.org/54416 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2018-05-16tools: test PairChris Sherlock
Change-Id: I03e48c134ec9b8fc53c247ced231f209e1205cb1 Reviewed-on: https://gerrit.libreoffice.org/54189 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-05-12tools: test for FRoundChris Sherlock
Change-Id: Ifcf0472892fbd37622a1a0505cbf5140cac281f4 Reviewed-on: https://gerrit.libreoffice.org/53718 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-05-09there are 3600000 seconds in an hourCaolán McNamara
regression from... commit 9830fd36dbdb72c79703b0c61efc027fba793c5a Date: Sun Mar 17 08:36:26 2013 +0100 date/time IDL datatypes incompatible change Change-Id: I2f4b64a73b5529ba190acc678d907761bb568bbf Reviewed-on: https://gerrit.libreoffice.org/54009 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-05-08tools: document and test sanitiseMm100ToTwip()Chris Sherlock
Change-Id: I2f6349c679a714e5168ae3c5eccd054c5522bbc9 Reviewed-on: https://gerrit.libreoffice.org/53814 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-05-07tools: date unit testsChris Sherlock
Change-Id: I2b3eaf74173f7f456f04c734dfb7c05c95802809 Reviewed-on: https://gerrit.libreoffice.org/53895 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-05-05Fix typosAndrea Gelmini
Change-Id: I70e17e06279ca8d11a482011c8c74c14ec692ba1 Reviewed-on: https://gerrit.libreoffice.org/53888 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-05-04tools: Avoid looking up system clock twice to get DateTimeTakeshi Abe
DateTime::DateTime(DateTimeInitSystem) had initialized Date and Time separately, which causes a slight possibility that it could get a wrong datetime with almost 24 hours delay when it went beyond midnight. E.g., the date part was of the previous day while the time part was 00:00:00.xxx of the next day. This also reduces duplicate code by sharing GetSystemDateTime(). Change-Id: I352d90f468f5cbc70e7936a337bed97365baa06c Reviewed-on: https://gerrit.libreoffice.org/53612 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com>
2018-04-30tools: test for MinMaxChris Sherlock
Change-Id: Ifbef563c02027e69226ff6585b721c23566435ea Reviewed-on: https://gerrit.libreoffice.org/53451 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-23loplugin:singlevalfields improve unaryoperatorNoel Grandin
when we see a unaryoperator, unless it's one of a small set, we can know (mostly) that the field will not be written. there is still a small risk of false+ with code taking references via conditional expressions. Change-Id: I96fa808067576a50e5eaf425338e225b4e0bdd4e Reviewed-on: https://gerrit.libreoffice.org/53263 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-20loplugin:constantparamNoel Grandin
Change-Id: Ia58d8950b3b9e48bbe9f075b9fe1eed62d9abf0d Reviewed-on: https://gerrit.libreoffice.org/53188 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-18tdf#117044 Base crash when attempting to edit a table definitionNoel Grandin
this story started in commit 433fc2214c980abd82fa6240f45e634a53a3c61c (patch) sal_uIntPtr->sal_Int32 in MultiSelection which caused a regression, reported in tdf#116981. I attempted to fix it in commit 235d61890512894e27f4f81e38a325eee3c67b30 Date: Fri Apr 13 17:14:59 2018 +0200 tdf#116981 Base when deleting table column and commit 0973e1f4e727a3204c843398bcb0e6a411b1a02d Date: Mon Apr 16 08:28:16 2018 +0200 follow on for tdf#116981 But my analysis was wrong. To recap, and get it right: Before all this, MultiSelection stored it's values internally as sal_uIntPtr, but returned them as long in FirstSelected(), NextSelected(),and SFX_ENDOFSELECTION was defined to be ULONG_MAX. On 64-bit Linux, sal_uIntPtr is typedefed to sal_uInt64, and ULONG_MAX is 2^64, which means that previously, the SFX_ENDOFSELECTION value was being converted from 2^64 to -1 when it was returned, which was why these loops worked. So convert SFX_ENDOFSELECTION to -1 to match how how the external code wants it to be (and the code frequently uses -1 instead of SFX_ENDOFSELECTION or BROWSER_ENDOFSELECTION) The modification to MultiSelection::Select is necessary because previously, nCurMin and nCurMax would be == ULONG_MAX, and we would, somewhat unintuitively, end up in the // expand on left side? if( nTmpMax < nCurMin ) part of the logic, which would do the right thing, even if a little weirdly. Change-Id: I7c830b0392add394d8c294247f75a2ffe8017c24 Reviewed-on: https://gerrit.libreoffice.org/53022 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-18tdf#116420: Windows: Test if a filepath redirects to a WebDAV resourceMike Kaganski
In Windows, filesystem redirectors can map WebDAV resources to UNC paths, or to drive-based "local" paths; so a WebDAV URI of the form "http://WebDADServer/root/directory/File.ext" may be accessed using "\\WebDADServer\root\directory\File.ext" or "Z:\directory\File.ext". When using these paths, failure to create a lockfile aside the opened document should not be considered an error; so this patch checks for this. Regression from commit 6ca3b3648e25ae9d4d2d29a0df83349198ec3f5e. Change-Id: I1de55b66447dc91d22b6d2b5b121de96bf32e4ee Reviewed-on: https://gerrit.libreoffice.org/53070 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-04-16assert that we own the data before freeing itNoel Grandin
Change-Id: I9676da22c00570cd59f2f46b04beb5f1337bbacf Reviewed-on: https://gerrit.libreoffice.org/52887 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-07Revert "long->sal_Int32 in tools/gen.hxx"Stephan Bergmann
This reverts commit 8bc951daf79decbd8a599a409c6d33c5456710e0. As discussed at <https://lists.freedesktop.org/archives/libreoffice/2018-April/079955.html> "long->sal_Int32 in tools/gen.hxx", that commit caused lots of problems with signed integer overflow, and the original plan was to redo it to consistently use sal_Int64 instead of sal_Int32. <https://gerrit.libreoffice.org/#/c/52471/> "sal_Int32->sal_Int64 in tools/gen.hxx" tried that. However, it failed miserably on Windows, causing odd failures like not writing out Pictures/*.svm streams out into .odp during CppunitTest_sd_export_ooxml2. So the next best approach is to just revert the original commit, at least for now. Includes revert of follow-up 8c50aff2175e85c54957d98ce32af40a3a87e168 "Fix Library_vclplug_qt5". Change-Id: Ia8bf34272d1ed38aac00e5d07a9d13fb03f439ae Reviewed-on: https://gerrit.libreoffice.org/52532 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-04-03long->sal_Int32 in tools/gen.hxxNoel Grandin
which triggered a lot of changes in sw/ Change-Id: Ia2aa22ea3f76463a85ea077a411246fcfed00bf6 Reviewed-on: https://gerrit.libreoffice.org/48806 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-02give DBG_UNHANDLED_EXCEPTION_WHEN an area parameterNoel Grandin
and rename it to DBG_UNHANDLED_EXCEPTION, to make it more like the SAL_WARN-type macros. Use some macro magic to deal with different numbers of arguments. Update the sallogareas plugin to check the area parameter of DBG_UNHANDLED_EXCEPTION. Change-Id: Ie790223244c3484f41acb3679c043fb9b438e7c4 Reviewed-on: https://gerrit.libreoffice.org/52073 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-03-14loplugin:constantparamNoel Grandin
Change-Id: I3ce653c0d9e517229dbbe32cc8d3ec3c206e364d Reviewed-on: https://gerrit.libreoffice.org/51273 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-03-13ofz#6843 Integer-overflowCaolán McNamara
Change-Id: I3984253ac3e5eaf0be7b10c8ba95d50e6bd9ce5d Reviewed-on: https://gerrit.libreoffice.org/51175 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-03-08loplugin:constantparam in svtools..unotoolsNoel Grandin
Change-Id: I6e72fbe44dcb65ee5162448e9a72e6437d56b044 Reviewed-on: https://gerrit.libreoffice.org/50948 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-03-05drop sax::tools::*base64 methodsNoel Grandin
and use the underlying comphelper methods rather. This is so that I can break the dependency that tools has on sax, and can add methods that make sax depend on tools. Change-Id: I8a2d6ce2ffc3529a0020710ade6a1748ee5af7d5 Reviewed-on: https://gerrit.libreoffice.org/50767 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-03-05Make LibreOffice buildable on Haiku.Kacper Kasper
* Obviously VCL wiring is missing, but most components do build. Change-Id: Ie853ada1423a8f4c2b647be59cd47a7730c42978 Reviewed-on: https://gerrit.libreoffice.org/50293 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2018-03-04Remove unnecessary INetProtocol::Webdav[s] againStephan Bergmann
...that 65abd11d68ba9f849d89b98b6a56071411875c89 "Support for webdav:// and webdavs:// schemes from command line" had added for no good reason, and are removed again on the same grounds as eda273fd46e63daa4f15525e05b695450df53cea "Remove unnecessary INetProtocol::VndSunStarWebdavs again". Change-Id: I29135207dfdffcc818664432a11fa3b5b3a0561a Reviewed-on: https://gerrit.libreoffice.org/50748 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-03-04Remove unnecessary INetProtocol::VndSunStarWebdavs againStephan Bergmann
...that 65abd11d68ba9f849d89b98b6a56071411875c89 "Support for webdav:// and webdavs:// schemes from command line" had added for no good reason. See the discussion linked from the commit message of d3de490437df4c9093f32e97fc185066d64c0f46 "Add vnd.sun.star.webdavs URL scheme" why this had deliberately not been added when adding the vnd.sun.star.webdavs scheme. Change-Id: I5728ab0d2517dae54a3536a347a83ff4cbfc18fa Reviewed-on: https://gerrit.libreoffice.org/50734 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-03-04Improve commentStephan Bergmann
...after c3ecef8067e274d017a344b4c8049cd5f49c6729 "INTEGRATION: CWS fwk01ea" had introduced INET_PROT_GENERIC back then. Change-Id: I156c1b52d02446168fa9202b3a65a0aad701f6ce
2018-03-04Change INetURLObject::isSchemeEqualTo parameter to u16string_viewStephan Bergmann
Change-Id: I003fa0c6f9c485d0579f3dd18331e63548a3777c Reviewed-on: https://gerrit.libreoffice.org/50728 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-03-01make Color::GetRGBColor return Color instead of ColorDataNoel Grandin
Change-Id: I532959a7103c3857510f26ecce2f942d676a233b Reviewed-on: https://gerrit.libreoffice.org/50487 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-02-28drop old tools/gen methods in reportdesign..xmloffNoel Grandin
Change-Id: I398831c526ba51d861557fa6c13c0e2fb44dfbe0 Reviewed-on: https://gerrit.libreoffice.org/50447 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-02-28convert COL_ constants to be of type ColorNoel Grandin
Change-Id: I0e25c8950ac26b851ff42f71e1471fcbe4770d48 Reviewed-on: https://gerrit.libreoffice.org/50373 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-02-26use less RGB_COLORDATANoel Grandin
part of removing ColorData Change-Id: If31b5b88545529863377e9a178f45f4516bf6cbb Reviewed-on: https://gerrit.libreoffice.org/50345 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-02-22loplugin:changetoolsgen in tools..toolkitNoel Grandin
Change-Id: I3d87ee59258567b5a82cb459248539faea1b3ca9 Reviewed-on: https://gerrit.libreoffice.org/50101 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-02-21Revert "simplify ImpXPolygon"Stephan Bergmann
This reverts commit f9c2bcc8b761f5e21354c0fb7bca6aa432d11ec2. Drawing all sorts of curves and polygons in Draw causes various crashes in svx/source/svdraw/svdopath.cxx, apparently because in the past ImpXPolygon's pPointAry had a "buffer" of more elements (nSize) than it had nPoints, and the code heavily relied on that, assigning to such excess elements of pPointAry past nPoints (and presumably calling XPolygon::SetPointCount later?). Conflicts: svx/source/xoutdev/_xpoly.cxx (Reverted the mostly, if not completely, automatic changes there done by 924c0e34fdc36cd44100dafc2c68656ce32374e6 "loplugin:changetoolsgen in svx"; they will need to be re-done.) Change-Id: I6cb41fd218c3bdd0b3bbeb45f5b3d68649901a48 Reviewed-on: https://gerrit.libreoffice.org/50057 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-02-16Resolves: tdf#115750 SvStream::WriteStream was brokenCaolán McNamara
and didn't stop copying at the size limit arg Change-Id: I8f1be0310160f5158d2f64c62d6b2c09c0157930 Reviewed-on: https://gerrit.libreoffice.org/49838 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-02-06simplify ImpXPolygonNoel Grandin
just use a std::vector<std::pair<Point,PolyFlags>> Change-Id: I85de832af9095a33bda1620781c3b231a345e07c Reviewed-on: https://gerrit.libreoffice.org/49275 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-02-02tools: MSVC: pragma warning: make more specific, remove obsoleteMike Kaganski
Change-Id: If36242e93a700313becbd37ceae06491fcd84b8a Reviewed-on: https://gerrit.libreoffice.org/49052 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-02-01Support for webdav:// and webdavs:// schemes from command lineVasily Melenchuk
We have currently support for WebDAV schemes as vnd.sun.star.webdav:// but it is not user and tools friendly. Some related refactoring in ucb to reuse existing code instead of manual parsing of URLs. Change-Id: Ib14411796d6cf11afd80d5132abe67d4e46a42e1 Reviewed-on: https://gerrit.libreoffice.org/48585 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2018-01-27improve subtyping when dealing with tools::WeakReferenceNoel Grandin
tweak the templating to make it easier to declare a WeakReference that points to a subclass for a weak-capable class. Which lets us declare some fields with more specific types, and dump a lot of unnecessary casting. And make WeakBase be inherited from virtually, so we don't end up with weird states where two weak refernces could point to two different parts of the same object. Change-Id: I3213ea27e087038457b0761b5171c7bce96e71f3 Reviewed-on: https://gerrit.libreoffice.org/48650 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-25Remove stdlib.h from sal/config.hStephan Bergmann
This reverts 5da3337c007e0572028283d70bad43e9a29d45c1 "readded include stdlib.h, because of missing NULL definition in many headers, #100000, #101685", which is no longer relevant. Change-Id: I544ed9a7afbf7b611bc481b8d50acca3193d93de Reviewed-on: https://gerrit.libreoffice.org/48131 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2018-01-23Point default ctor already zero-initializes the membersStephan Bergmann
Change-Id: I9cb59c77a420c975933070eea691cda52b066b0b Reviewed-on: https://gerrit.libreoffice.org/48397 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-01-23More loplugin:cstylecast on WindowsStephan Bergmann
Automatic rewrite (of loplugin:cstylecast and loplugin:unnecessaryparen) after cab0427cadddb3aaf1349c66f2fa13a4234ba4b2 "Enable loplugin:cstylecast for some more cases" and a409d32e7f6fc09e041079d6dbc3c927497adfed "More loplugin:cstylecast" Change-Id: Ib3355159dd08333e1b7a8d091caf2069cdcc7862 Reviewed-on: https://gerrit.libreoffice.org/48317 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-01-20More loplugin:cstylecast on macOSStephan Bergmann
Automatic rewrite (of loplugin:cstylecast and loplugin:unnecessaryparen) after cab0427cadddb3aaf1349c66f2fa13a4234ba4b2 "Enable loplugin:cstylecast for some more cases" and a409d32e7f6fc09e041079d6dbc3c927497adfed "More loplugin:cstylecast" Change-Id: Iff4877e8a42804c952c48c13332caf0a83c92870 Reviewed-on: https://gerrit.libreoffice.org/48216 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>