[Libreoffice-commits] .: 97 commits - cli_ure/version codemaker/source cppu/source idlc/inc idlc/source offapi/com offapi/drafts offapi/prj offapi/type_reference offapi/util registry/tools sal/cppunittester sal/inc sal/osl sal/prj sal/rtl store/source udkapi/com unoil/climaker unoil/util
Jan Holesovsky
kendy at kemper.freedesktop.org
Wed Mar 23 09:27:22 PDT 2011
cli_ure/version/version.txt | 24
codemaker/source/cppumaker/cppuoptions.cxx | 18
codemaker/source/javamaker/javaoptions.cxx | 18
cppu/source/typelib/typelib.cxx | 41
idlc/inc/idlc/idlctypes.hxx | 2
idlc/inc/idlc/options.hxx | 17
idlc/source/astexpression.cxx | 21
idlc/source/idlcmain.cxx | 19
idlc/source/options.cxx | 556 +--
idlc/source/preproc/eval.c | 15
idlc/source/preproc/lex.c | 10
idlc/source/preproc/unix.c | 1
offapi/com/sun/star/accessibility/XAccessibleMultiLineText.idl | 2
offapi/com/sun/star/animations/XAnimationListener.idl | 2
offapi/com/sun/star/awt/EnhancedMouseEvent.idl | 2
offapi/com/sun/star/awt/UnoControlButtonModel.idl | 12
offapi/com/sun/star/awt/UnoControlCheckBoxModel.idl | 8
offapi/com/sun/star/awt/UnoControlComboBoxModel.idl | 4
offapi/com/sun/star/awt/UnoControlContainerModel.idl | 2
offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl | 10
offapi/com/sun/star/awt/UnoControlDateFieldModel.idl | 12
offapi/com/sun/star/awt/UnoControlDialogModel.idl | 6
offapi/com/sun/star/awt/UnoControlDialogModelProvider.idl | 2
offapi/com/sun/star/awt/UnoControlEditModel.idl | 14
offapi/com/sun/star/awt/UnoControlFileControlModel.idl | 6
offapi/com/sun/star/awt/UnoControlFixedHyperlinkModel.idl | 4
offapi/com/sun/star/awt/UnoControlFixedTextModel.idl | 4
offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl | 10
offapi/com/sun/star/awt/UnoControlImageControlModel.idl | 2
offapi/com/sun/star/awt/UnoControlListBoxModel.idl | 2
offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl | 10
offapi/com/sun/star/awt/UnoControlPatternFieldModel.idl | 6
offapi/com/sun/star/awt/UnoControlProgressBarModel.idl | 2
offapi/com/sun/star/awt/UnoControlRadioButtonModel.idl | 8
offapi/com/sun/star/awt/UnoControlScrollBarModel.idl | 12
offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl | 2
offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl | 12
offapi/com/sun/star/awt/XEnhancedMouseClickHandler.idl | 2
offapi/com/sun/star/awt/grid/DefaultGridColumnModel.idl | 2
offapi/com/sun/star/awt/grid/DefaultGridDataModel.idl | 2
offapi/com/sun/star/awt/grid/GridColumn.idl | 2
offapi/com/sun/star/awt/grid/GridColumnEvent.idl | 2
offapi/com/sun/star/awt/grid/GridDataEvent.idl | 2
offapi/com/sun/star/awt/grid/GridInvalidDataException.idl | 2
offapi/com/sun/star/awt/grid/GridInvalidModelException.idl | 2
offapi/com/sun/star/awt/grid/UnoControlGrid.idl | 2
offapi/com/sun/star/awt/grid/UnoControlGridModel.idl | 2
offapi/com/sun/star/awt/grid/XGridColumn.idl | 2
offapi/com/sun/star/awt/grid/XGridColumnListener.idl | 2
offapi/com/sun/star/awt/grid/XGridColumnModel.idl | 2
offapi/com/sun/star/awt/grid/XGridControl.idl | 2
offapi/com/sun/star/awt/grid/XGridDataListener.idl | 2
offapi/com/sun/star/awt/grid/XGridDataModel.idl | 2
offapi/com/sun/star/configuration/DefaultProvider.idl | 4
offapi/com/sun/star/configuration/Update.idl | 2
offapi/com/sun/star/configuration/XUpdate.idl | 2
offapi/com/sun/star/configuration/backend/InteractionHandler.idl | 2
offapi/com/sun/star/configuration/backend/Layer.idl | 2
offapi/com/sun/star/configuration/backend/LayerFilter.idl | 2
offapi/com/sun/star/configuration/backend/MergeRecoveryRequest.idl | 2
offapi/com/sun/star/configuration/backend/Schema.idl | 2
offapi/com/sun/star/configuration/backend/StratumCreationException.idl | 2
offapi/com/sun/star/deployment/DeploymentException.idl | 2
offapi/com/sun/star/deployment/ExtensionManager.idl | 2
offapi/com/sun/star/deployment/ExtensionRemovedException.idl | 2
offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl | 2
offapi/com/sun/star/deployment/PackageRegistryBackend.idl | 2
offapi/com/sun/star/deployment/PlatformException.idl | 2
offapi/com/sun/star/deployment/XExtensionManager.idl | 2
offapi/com/sun/star/deployment/XPackage.idl | 4
offapi/com/sun/star/deployment/XPackageManager.idl | 2
offapi/com/sun/star/deployment/XPackageManagerFactory.idl | 2
offapi/com/sun/star/deployment/XPackageRegistry.idl | 2
offapi/com/sun/star/deployment/XPackageTypeInfo.idl | 2
offapi/com/sun/star/deployment/thePackageManagerFactory.idl | 2
offapi/com/sun/star/deployment/ui/PackageManagerDialog.idl | 2
offapi/com/sun/star/deployment/ui/UpdateRequiredDialog.idl | 2
offapi/com/sun/star/document/CorruptedFilterConfigurationException.idl | 2
offapi/com/sun/star/document/DocumentEvent.idl | 2
offapi/com/sun/star/document/XDocumentEventBroadcaster.idl | 2
offapi/com/sun/star/document/XDocumentEventListener.idl | 2
offapi/com/sun/star/document/XMLBasicExporter.idl | 2
offapi/com/sun/star/document/XMLBasicImporter.idl | 2
offapi/com/sun/star/document/XMLOasisBasicExporter.idl | 2
offapi/com/sun/star/document/XMLOasisBasicImporter.idl | 2
offapi/com/sun/star/form/FormComponent.idl | 2
offapi/com/sun/star/form/XErrorListener.idl | 1
offapi/com/sun/star/form/component/GridControl.idl | 2
offapi/com/sun/star/form/inspection/DefaultFormComponentInspectorModel.idl | 4
offapi/com/sun/star/form/runtime/FeatureState.idl | 2
offapi/com/sun/star/form/runtime/FilterEvent.idl | 2
offapi/com/sun/star/form/runtime/FormFeature.idl | 2
offapi/com/sun/star/form/runtime/FormOperations.idl | 2
offapi/com/sun/star/form/runtime/XFeatureInvalidation.idl | 2
offapi/com/sun/star/form/runtime/XFilterController.idl | 2
offapi/com/sun/star/form/runtime/XFilterControllerListener.idl | 2
offapi/com/sun/star/form/runtime/XFormController.idl | 2
offapi/com/sun/star/form/runtime/XFormOperations.idl | 2
offapi/com/sun/star/frame/CommandGroup.idl | 2
offapi/com/sun/star/frame/DispatchInformation.idl | 2
offapi/com/sun/star/frame/Frame.idl | 2
offapi/com/sun/star/frame/LayoutManager.idl | 2
offapi/com/sun/star/frame/LayoutManagerEvents.idl | 2
offapi/com/sun/star/frame/ModuleManager.idl | 2
offapi/com/sun/star/frame/PopupMenuController.idl | 2
offapi/com/sun/star/frame/PopupMenuControllerFactory.idl | 2
offapi/com/sun/star/frame/StatusbarController.idl | 2
offapi/com/sun/star/frame/StatusbarControllerFactory.idl | 2
offapi/com/sun/star/frame/ToolbarController.idl | 2
offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl | 2
offapi/com/sun/star/frame/UnknownModuleException.idl | 2
offapi/com/sun/star/frame/XDispatchInformationProvider.idl | 2
offapi/com/sun/star/frame/XInplaceLayout.idl | 2
offapi/com/sun/star/frame/XLayoutManager.idl | 2
offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl | 2
offapi/com/sun/star/frame/XLayoutManagerListener.idl | 2
offapi/com/sun/star/frame/XMenuBarAcceptor.idl | 2
offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl | 2
offapi/com/sun/star/frame/XModule.idl | 2
offapi/com/sun/star/frame/XModuleManager.idl | 2
offapi/com/sun/star/frame/XPopupMenuController.idl | 2
offapi/com/sun/star/frame/XStatusbarController.idl | 2
offapi/com/sun/star/frame/XSubToolbarController.idl | 2
offapi/com/sun/star/frame/XSynchronousDispatch.idl | 2
offapi/com/sun/star/frame/XToolbarController.idl | 2
offapi/com/sun/star/frame/XToolbarControllerListener.idl | 2
offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl | 2
offapi/com/sun/star/geometry/AffineMatrix2D.idl | 2
offapi/com/sun/star/geometry/AffineMatrix3D.idl | 2
offapi/com/sun/star/geometry/EllipticalArc.idl | 2
offapi/com/sun/star/geometry/IntegerBezierSegment2D.idl | 2
offapi/com/sun/star/geometry/IntegerPoint2D.idl | 2
offapi/com/sun/star/geometry/IntegerRectangle2D.idl | 2
offapi/com/sun/star/geometry/IntegerSize2D.idl | 2
offapi/com/sun/star/geometry/Matrix2D.idl | 2
offapi/com/sun/star/geometry/RealBezierSegment2D.idl | 2
offapi/com/sun/star/geometry/RealPoint2D.idl | 2
offapi/com/sun/star/geometry/RealRectangle2D.idl | 2
offapi/com/sun/star/geometry/RealRectangle3D.idl | 2
offapi/com/sun/star/geometry/RealSize2D.idl | 2
offapi/com/sun/star/geometry/XMapping2D.idl | 2
offapi/com/sun/star/i18n/OrdinalSuffix.idl | 2
offapi/com/sun/star/i18n/TextConversionOption.idl | 2
offapi/com/sun/star/i18n/XOrdinalSuffix.idl | 2
offapi/com/sun/star/linguistic2/ConversionDictionary.idl | 2
offapi/com/sun/star/linguistic2/ConversionDictionaryType.idl | 2
offapi/com/sun/star/linguistic2/ConversionPropertyType.idl | 2
offapi/com/sun/star/linguistic2/XConversionPropertyType.idl | 2
offapi/com/sun/star/mail/MailAttachment.idl | 2
offapi/com/sun/star/mail/MailException.idl | 2
offapi/com/sun/star/mail/MailMessage.idl | 2
offapi/com/sun/star/mail/MailServer.idl | 2
offapi/com/sun/star/mail/MailServiceProvider.idl | 2
offapi/com/sun/star/mail/MailServiceType.idl | 2
offapi/com/sun/star/mail/NoMailServiceProviderException.idl | 2
offapi/com/sun/star/mail/NoMailTransportProviderException.idl | 2
offapi/com/sun/star/mail/SendMailMessageFailedException.idl | 2
offapi/com/sun/star/mail/XAuthenticator.idl | 2
offapi/com/sun/star/mail/XConnectionListener.idl | 2
offapi/com/sun/star/mail/XMailMessage.idl | 2
offapi/com/sun/star/mail/XMailServer.idl | 2
offapi/com/sun/star/mail/XMailService.idl | 2
offapi/com/sun/star/mail/XMailServiceProvider.idl | 2
offapi/com/sun/star/mail/XSmtpService.idl | 2
offapi/com/sun/star/rendering/AnimationAttributes.idl | 2
offapi/com/sun/star/rendering/AnimationRepeat.idl | 2
offapi/com/sun/star/rendering/CanvasFactory.idl | 2
offapi/com/sun/star/rendering/Caret.idl | 2
offapi/com/sun/star/rendering/CompositeOperation.idl | 2
offapi/com/sun/star/rendering/EmphasisMark.idl | 2
offapi/com/sun/star/rendering/FillRule.idl | 2
offapi/com/sun/star/rendering/FloatingPointBitmapFormat.idl | 2
offapi/com/sun/star/rendering/FloatingPointBitmapLayout.idl | 2
offapi/com/sun/star/rendering/FontInfo.idl | 2
offapi/com/sun/star/rendering/FontMetrics.idl | 2
offapi/com/sun/star/rendering/FontRequest.idl | 2
offapi/com/sun/star/rendering/IntegerBitmapLayout.idl | 2
offapi/com/sun/star/rendering/InterpolationMode.idl | 2
offapi/com/sun/star/rendering/PathCapType.idl | 2
offapi/com/sun/star/rendering/PathJoinType.idl | 2
offapi/com/sun/star/rendering/RenderState.idl | 2
offapi/com/sun/star/rendering/RenderingIntent.idl | 2
offapi/com/sun/star/rendering/RepaintResult.idl | 2
offapi/com/sun/star/rendering/StringContext.idl | 2
offapi/com/sun/star/rendering/TextDirection.idl | 2
offapi/com/sun/star/rendering/TextHit.idl | 2
offapi/com/sun/star/rendering/Texture.idl | 2
offapi/com/sun/star/rendering/TexturingMode.idl | 2
offapi/com/sun/star/rendering/ViewState.idl | 2
offapi/com/sun/star/rendering/VolatileContentDestroyedException.idl | 2
offapi/com/sun/star/rendering/XAnimatedSprite.idl | 2
offapi/com/sun/star/rendering/XAnimation.idl | 2
offapi/com/sun/star/rendering/XBezierPolyPolygon2D.idl | 2
offapi/com/sun/star/rendering/XBitmap.idl | 2
offapi/com/sun/star/rendering/XBitmapCanvas.idl | 2
offapi/com/sun/star/rendering/XBitmapPalette.idl | 2
offapi/com/sun/star/rendering/XBufferController.idl | 2
offapi/com/sun/star/rendering/XCachedPrimitive.idl | 2
offapi/com/sun/star/rendering/XCanvas.idl | 2
offapi/com/sun/star/rendering/XIntegerBitmap.idl | 2
offapi/com/sun/star/rendering/XLinePolyPolygon2D.idl | 2
offapi/com/sun/star/rendering/XPolyPolygon2D.idl | 2
offapi/com/sun/star/rendering/XTextLayout.idl | 2
offapi/com/sun/star/report/XReportControlFormat.idl | 2
offapi/com/sun/star/resource/OfficeResourceLoader.idl | 2
offapi/com/sun/star/script/browse/BrowseNode.idl | 2
offapi/com/sun/star/script/browse/BrowseNodeFactory.idl | 4
offapi/com/sun/star/sdb/DatabaseContext.idl | 2
offapi/com/sun/star/sdb/DatabaseDocument.idl | 2
offapi/com/sun/star/sdb/DocumentSaveRequest.idl | 2
offapi/com/sun/star/sdb/OfficeDatabaseDocument.idl | 2
offapi/com/sun/star/sdb/XDatabaseRegistrations.idl | 2
offapi/com/sun/star/sdb/XDatabaseRegistrationsListener.idl | 2
offapi/com/sun/star/sdb/XInteractionDocumentSave.idl | 2
offapi/com/sun/star/sdb/application/DatabaseObject.idl | 2
offapi/com/sun/star/sdb/application/XDatabaseDocumentUI.idl | 2
offapi/com/sun/star/sdb/application/XTableUIProvider.idl | 2
offapi/com/sun/star/sdbc/DataType.idl | 2
offapi/com/sun/star/security/SerialNumberAdapter.idl | 2
offapi/com/sun/star/sheet/ActivationEvent.idl | 2
offapi/com/sun/star/sheet/CellAreaLink.idl | 2
offapi/com/sun/star/sheet/DDEItemInfo.idl | 2
offapi/com/sun/star/sheet/DDELinkInfo.idl | 2
offapi/com/sun/star/sheet/DataPilotDescriptor.idl | 6
offapi/com/sun/star/sheet/DataPilotItem.idl | 2
offapi/com/sun/star/sheet/DataPilotOutputRangeType.idl | 2
offapi/com/sun/star/sheet/DataPilotSource.idl | 6
offapi/com/sun/star/sheet/DataPilotSourceMember.idl | 2
offapi/com/sun/star/sheet/DataPilotTable.idl | 2
offapi/com/sun/star/sheet/DataPilotTableHeaderData.idl | 2
offapi/com/sun/star/sheet/DataPilotTablePositionData.idl | 2
offapi/com/sun/star/sheet/DataPilotTablePositionType.idl | 2
offapi/com/sun/star/sheet/DataPilotTableResultData.idl | 2
offapi/com/sun/star/sheet/DatabaseImportDescriptor.idl | 4
offapi/com/sun/star/sheet/DatabaseRange.idl | 4
offapi/com/sun/star/sheet/ExternalDocLink.idl | 2
offapi/com/sun/star/sheet/ExternalDocLinks.idl | 2
offapi/com/sun/star/sheet/ExternalLinkInfo.idl | 2
offapi/com/sun/star/sheet/ExternalLinkType.idl | 2
offapi/com/sun/star/sheet/ExternalSheetCache.idl | 2
offapi/com/sun/star/sheet/FormulaParser.idl | 2
offapi/com/sun/star/sheet/SheetCell.idl | 2
offapi/com/sun/star/sheet/SheetCellRange.idl | 2
offapi/com/sun/star/sheet/TablePageStyle.idl | 4
offapi/com/sun/star/sheet/XActivationBroadcaster.idl | 2
offapi/com/sun/star/sheet/XActivationEventListener.idl | 2
offapi/com/sun/star/sheet/XDataPilotTable2.idl | 2
offapi/com/sun/star/sheet/XDrillDownDataSupplier.idl | 2
offapi/com/sun/star/sheet/XEnhancedMouseClickBroadcaster.idl | 2
offapi/com/sun/star/sheet/XExternalDocLink.idl | 2
offapi/com/sun/star/sheet/XExternalDocLinks.idl | 2
offapi/com/sun/star/sheet/XExternalSheetCache.idl | 2
offapi/com/sun/star/sheet/XScenarioEnhanced.idl | 2
offapi/com/sun/star/smarttags/SmartTagAction.idl | 2
offapi/com/sun/star/smarttags/SmartTagRecognizer.idl | 2
offapi/com/sun/star/smarttags/SmartTagRecognizerMode.idl | 2
offapi/com/sun/star/smarttags/XSmartTagAction.idl | 2
offapi/com/sun/star/smarttags/XSmartTagRecognizer.idl | 2
offapi/com/sun/star/style/CharacterProperties.idl | 2
offapi/com/sun/star/style/NumberingType.idl | 2
offapi/com/sun/star/task/XRestartManager.idl | 2
offapi/com/sun/star/text/BaseFrameProperties.idl | 2
offapi/com/sun/star/text/Cell.idl | 2
offapi/com/sun/star/text/DocumentSettings.idl | 8
offapi/com/sun/star/text/FootnoteSettings.idl | 2
offapi/com/sun/star/text/GenericTextDocument.idl | 18
offapi/com/sun/star/text/LineNumberingProperties.idl | 2
offapi/com/sun/star/text/Paragraph.idl | 2
offapi/com/sun/star/text/PositionLayoutDir.idl | 2
offapi/com/sun/star/text/RelOrientation.idl | 2
offapi/com/sun/star/text/Shape.idl | 10
offapi/com/sun/star/text/TextMarkupType.idl | 2
offapi/com/sun/star/text/TextPortion.idl | 2
offapi/com/sun/star/text/TextTableRow.idl | 2
offapi/com/sun/star/text/ViewSettings.idl | 20
offapi/com/sun/star/text/XTextMarkup.idl | 2
offapi/com/sun/star/text/fieldmaster/Database.idl | 4
offapi/com/sun/star/text/textfield/DatabaseName.idl | 4
offapi/com/sun/star/text/textfield/DatabaseNextSet.idl | 4
offapi/com/sun/star/text/textfield/DatabaseNumberOfSet.idl | 4
offapi/com/sun/star/text/textfield/DatabaseSetNumber.idl | 4
offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl | 2
offapi/com/sun/star/ucb/TransientDocumentsDocumentContent.idl | 2
offapi/com/sun/star/ucb/TransientDocumentsFolderContent.idl | 2
offapi/com/sun/star/ucb/TransientDocumentsRootContent.idl | 2
offapi/com/sun/star/ucb/TransientDocumentsStreamContent.idl | 2
offapi/com/sun/star/ui/ConfigurableUIElement.idl | 2
offapi/com/sun/star/ui/ConfigurationEvent.idl | 2
offapi/com/sun/star/ui/DockingArea.idl | 2
offapi/com/sun/star/ui/GlobalAcceleratorConfiguration.idl | 2
offapi/com/sun/star/ui/ImageType.idl | 2
offapi/com/sun/star/ui/ItemDescriptor.idl | 2
offapi/com/sun/star/ui/ItemStyle.idl | 2
offapi/com/sun/star/ui/ItemType.idl | 2
offapi/com/sun/star/ui/ModuleUICategoryDescription.idl | 2
offapi/com/sun/star/ui/ModuleUICommandDescription.idl | 2
offapi/com/sun/star/ui/ModuleUIConfigurationManager.idl | 2
offapi/com/sun/star/ui/ModuleUIConfigurationManagerSupplier.idl | 2
offapi/com/sun/star/ui/ModuleWindowStateConfiguration.idl | 2
offapi/com/sun/star/ui/UICategoryDescription.idl | 2
offapi/com/sun/star/ui/UICommandDescription.idl | 2
offapi/com/sun/star/ui/UIConfigurationManager.idl | 2
offapi/com/sun/star/ui/UIElement.idl | 2
offapi/com/sun/star/ui/UIElementFactory.idl | 2
offapi/com/sun/star/ui/UIElementFactoryManager.idl | 2
offapi/com/sun/star/ui/UIElementSettings.idl | 2
offapi/com/sun/star/ui/UIElementType.idl | 2
offapi/com/sun/star/ui/WindowContentFactory.idl | 2
offapi/com/sun/star/ui/WindowStateConfiguration.idl | 2
offapi/com/sun/star/ui/XAcceleratorConfiguration.idl | 2
offapi/com/sun/star/ui/XDockingAreaAcceptor.idl | 2
offapi/com/sun/star/ui/XModuleUIConfigurationManager.idl | 2
offapi/com/sun/star/ui/XModuleUIConfigurationManagerSupplier.idl | 2
offapi/com/sun/star/ui/XUIConfiguration.idl | 2
offapi/com/sun/star/ui/XUIConfigurationListener.idl | 2
offapi/com/sun/star/ui/XUIConfigurationManager.idl | 2
offapi/com/sun/star/ui/XUIConfigurationManagerSupplier.idl | 2
offapi/com/sun/star/ui/XUIConfigurationPersistence.idl | 2
offapi/com/sun/star/ui/XUIConfigurationStorage.idl | 2
offapi/com/sun/star/ui/XUIElementFactory.idl | 2
offapi/com/sun/star/ui/XUIElementFactoryRegistration.idl | 2
offapi/com/sun/star/ui/XUIElementSettings.idl | 2
offapi/com/sun/star/ui/XUIFunctionListener.idl | 2
offapi/com/sun/star/util/Endianness.idl | 2
offapi/com/sun/star/util/OfficeInstallationDirectories.idl | 2
offapi/com/sun/star/util/PathSubstitution.idl | 82
offapi/com/sun/star/util/XBroadcaster.idl | 2
offapi/com/sun/star/util/XOfficeInstallationDirectories.idl | 2
offapi/com/sun/star/xml/dom/XNode.idl | 2
offapi/drafts/com/sun/star/form/IncompatibleTypesException.idl | 57
offapi/drafts/com/sun/star/form/ListEntryEvent.idl | 77
offapi/drafts/com/sun/star/form/XBindableValue.idl | 81
offapi/drafts/com/sun/star/form/XListEntryListener.idl | 92
offapi/drafts/com/sun/star/form/XListEntrySink.idl | 71
offapi/drafts/com/sun/star/form/XListEntrySource.idl | 103
offapi/drafts/com/sun/star/form/XValueBinding.idl | 101
offapi/drafts/com/sun/star/form/makefile.mk | 52
offapi/prj/build.lst | 3
offapi/prj/d.lst | 8
offapi/type_reference/typelibrary_history.txt | 5
offapi/type_reference/types.rdb |binary
offapi/util/makefile.mk | 1
registry/tools/checksingleton.cxx | 462 +-
registry/tools/fileurl.cxx | 90
registry/tools/fileurl.hxx | 43
registry/tools/makefile.mk | 18
registry/tools/options.cxx | 153
registry/tools/options.hxx | 67
registry/tools/rdbedit.cxx | 318 ++
registry/tools/regcompare.cxx | 1562 ++++------
registry/tools/regmerge.cxx | 280 -
registry/tools/regview.cxx | 72
sal/cppunittester/cppunittester.cxx | 95
sal/inc/cppunittester/protectorfactory.hxx | 45
sal/osl/os2/diagnose.c | 3
sal/osl/unx/diagnose.c | 15
sal/osl/unx/file.cxx | 3
sal/osl/unx/file_misc.cxx | 6
sal/osl/unx/file_path_helper.cxx | 76
sal/osl/unx/process_impl.cxx | 19
sal/osl/unx/profile.c | 1
sal/osl/unx/socket.c | 13
sal/osl/w32/diagnose.c | 68
sal/osl/w32/file_dirvol.cxx | 2
sal/osl/w32/module.cxx | 23
sal/osl/w32/procimpl.cxx | 39
sal/prj/d.lst | 3
sal/rtl/source/alloc_arena.c | 37
sal/rtl/source/alloc_cache.c | 53
sal/rtl/source/alloc_fini.cxx | 58
sal/rtl/source/alloc_global.c | 2
sal/rtl/source/alloc_impl.h | 24
sal/rtl/source/makefile.mk | 9
sal/rtl/source/memory_fini.cxx | 57
store/source/lockbyte.cxx | 3
store/source/storbase.cxx | 3
udkapi/com/sun/star/container/XStringKeyMap.idl | 2
udkapi/com/sun/star/io/XAsyncOutputMonitor.idl | 2
udkapi/com/sun/star/java/InvalidJavaSettingsException.idl | 2
udkapi/com/sun/star/java/JavaNotFoundException.idl | 2
udkapi/com/sun/star/java/RestartRequiredException.idl | 2
udkapi/com/sun/star/reflection/XInterfaceAttributeTypeDescription2.idl | 2
udkapi/com/sun/star/reflection/XInterfaceTypeDescription2.idl | 2
udkapi/com/sun/star/reflection/XParameter.idl | 2
udkapi/com/sun/star/reflection/XPublished.idl | 2
udkapi/com/sun/star/reflection/XServiceConstructorDescription.idl | 2
udkapi/com/sun/star/reflection/XServiceTypeDescription2.idl | 2
udkapi/com/sun/star/reflection/XSingletonTypeDescription2.idl | 2
udkapi/com/sun/star/reflection/XStructTypeDescription.idl | 2
udkapi/com/sun/star/script/BasicErrorException.idl | 2
udkapi/com/sun/star/uri/ExternalUriReferenceTranslator.idl | 2
udkapi/com/sun/star/uri/RelativeUriExcessParentSegments.idl | 2
udkapi/com/sun/star/uri/UriReferenceFactory.idl | 2
udkapi/com/sun/star/uri/UriSchemeParser_vndDOTsunDOTstarDOTscript.idl | 2
udkapi/com/sun/star/uri/VndSunStarPkgUrlReferenceFactory.idl | 2
udkapi/com/sun/star/uri/XExternalUriReferenceTranslator.idl | 2
udkapi/com/sun/star/uri/XUriReference.idl | 2
udkapi/com/sun/star/uri/XUriReferenceFactory.idl | 2
udkapi/com/sun/star/uri/XUriSchemeParser.idl | 2
udkapi/com/sun/star/uri/XVndSunStarPkgUrlReferenceFactory.idl | 2
udkapi/com/sun/star/uri/XVndSunStarScriptUrl.idl | 2
unoil/climaker/version.txt | 6
unoil/util/makefile.mk | 2
403 files changed, 2927 insertions(+), 3145 deletions(-)
New commits:
commit 1be61e04c7901c5e2ddee6d55190359956ed58fe
Merge: ad669b8... 60c6889...
Author: Jan Holesovsky <kendy at suse.cz>
Date: Wed Mar 23 17:13:53 2011 +0100
Merge branch 'master' of git://anongit.freedesktop.org/libreoffice/ure
commit ad669b8d2356b1f53c11c33ccb51803fd3ea49fe
Merge: 5f3b360... c8b417d...
Author: Jan Holesovsky <kendy at suse.cz>
Date: Wed Mar 23 16:59:59 2011 +0100
Merge commit 'ooo/DEV300_m103'
Conflicts:
codemaker/source/bonobowrappermaker/corbaoptions.cxx
codemaker/source/cppumaker/cppuoptions.cxx
codemaker/source/cunomaker/cunooptions.cxx
codemaker/source/idlmaker/idloptions.cxx
codemaker/source/javamaker/javaoptions.cxx
cppu/source/typelib/typelib.cxx
idlc/source/options.cxx
offapi/com/sun/star/util/PathSubstitution.idl
offapi/drafts/com/sun/star/form/ListEntryEvent.idl
offapi/drafts/com/sun/star/form/XBindableValue.idl
offapi/drafts/com/sun/star/form/XListEntryListener.idl
offapi/drafts/com/sun/star/form/XListEntrySink.idl
offapi/drafts/com/sun/star/form/XListEntrySource.idl
offapi/drafts/com/sun/star/form/XValueBinding.idl
registry/tools/checksingleton.cxx
registry/tools/options.hxx
registry/tools/regcompare.cxx
registry/tools/regmerge.cxx
sal/cppunittester/cppunittester.cxx
sal/osl/unx/socket.c
sal/osl/w32/diagnose.c
sal/prj/d.lst
sal/rtl/source/alloc_fini.cxx
sal/rtl/source/alloc_global.c
sal/rtl/source/makefile.mk
diff --cc codemaker/source/cppumaker/cppuoptions.cxx
index c44c99f,d3965fa..b746c0c
--- a/codemaker/source/cppumaker/cppuoptions.cxx
+++ b/codemaker/source/cppumaker/cppuoptions.cxx
@@@ -35,9 -34,14 +35,16 @@@
#include "osl/thread.h"
#include "osl/process.h"
+using ::rtl::OUString;
+using ::rtl::OUStringToOString;
+using ::rtl::OString;
++
+ #ifdef SAL_UNX
+ #define SEPARATOR '/'
+ #else
+ #define SEPARATOR '\\'
+ #endif
+
-using namespace rtl;
-
sal_Bool CppuOptions::initOptions(int ac, char* av[], sal_Bool bCmdFile)
throw( IllegalArgument )
{
diff --cc codemaker/source/javamaker/javaoptions.cxx
index 62abb3c,a4aefb0..849bf51
--- a/codemaker/source/javamaker/javaoptions.cxx
+++ b/codemaker/source/javamaker/javaoptions.cxx
@@@ -34,9 -33,14 +34,16 @@@
#include "osl/process.h"
#include "osl/thread.h"
+using ::rtl::OUString;
+using ::rtl::OString;
+using ::rtl::OUStringToOString;
++
+ #ifdef SAL_UNX
+ #define SEPARATOR '/'
+ #else
+ #define SEPARATOR '\\'
+ #endif
+
-using namespace rtl;
-
sal_Bool JavaOptions::initOptions(int ac, char* av[], sal_Bool bCmdFile)
throw( IllegalArgument )
{
diff --cc cppu/source/typelib/typelib.cxx
index e8d4a24,d29fa68..c5c5f53
--- a/cppu/source/typelib/typelib.cxx
+++ b/cppu/source/typelib/typelib.cxx
@@@ -342,37 -330,9 +342,24 @@@ TypeDescriptor_Init_Impl::~TypeDescript
delete pWeakMap;
pWeakMap = 0;
}
- #ifndef CPPU_LEAK_STATIC_DATA
+#if OSL_DEBUG_LEVEL > 1
- #define MYASSERT(x) if (x != 0) fprintf(stderr, "### "#x" = %d, should be zero!!!\n", x);
- MYASSERT (nTypeDescriptionCount );
- MYASSERT( nCompoundTypeDescriptionCount );
- MYASSERT( nUnionTypeDescriptionCount );
- MYASSERT( nIndirectTypeDescriptionCount );
- MYASSERT( nArrayTypeDescriptionCount );
- MYASSERT( nEnumTypeDescriptionCount );
- MYASSERT( nInterfaceMethodTypeDescriptionCount );
- MYASSERT( nInterfaceAttributeTypeDescriptionCount );
- MYASSERT( nInterfaceTypeDescriptionCount );
- MYASSERT( nTypeDescriptionReferenceCount );
- #undef MYASSERT
-
- OSL_ASSERT( nTypeDescriptionCount == 0 );
- OSL_ASSERT( nCompoundTypeDescriptionCount == 0 );
- OSL_ASSERT( nUnionTypeDescriptionCount == 0 );
- OSL_ASSERT( nIndirectTypeDescriptionCount == 0 );
- OSL_ASSERT( nArrayTypeDescriptionCount == 0 );
- OSL_ASSERT( nEnumTypeDescriptionCount == 0 );
- OSL_ASSERT( nInterfaceMethodTypeDescriptionCount == 0 );
- OSL_ASSERT( nInterfaceAttributeTypeDescriptionCount == 0 );
- OSL_ASSERT( nInterfaceTypeDescriptionCount == 0 );
- OSL_ASSERT( nTypeDescriptionReferenceCount == 0 );
-
- OSL_ASSERT( !pCallbacks || pCallbacks->empty() );
++ OSL_ENSURE( !nTypeDescriptionCount );
++ OSL_ENSURE( !nCompoundTypeDescriptionCount );
++ OSL_ENSURE( !nUnionTypeDescriptionCount );
++ OSL_ENSURE( !nIndirectTypeDescriptionCount );
++ OSL_ENSURE( !nArrayTypeDescriptionCount );
++ OSL_ENSURE( !nEnumTypeDescriptionCount );
++ OSL_ENSURE( !nInterfaceMethodTypeDescriptionCount );
++ OSL_ENSURE( !nInterfaceAttributeTypeDescriptionCount );
++ OSL_ENSURE( !nInterfaceTypeDescriptionCount );
++ OSL_ENSURE( !nTypeDescriptionReferenceCount );
++
++ OSL_ENSURE( !pCallbacks || pCallbacks->empty() );
+#endif
++
delete pCallbacks;
pCallbacks = 0;
- #endif // CPPU_LEAK_STATIC_DATA
+
if( pMutex )
{
delete pMutex;
diff --cc idlc/inc/idlc/idlctypes.hxx
index 834b8cc,9bbe72a..2bac20e
--- a/idlc/inc/idlc/idlctypes.hxx
+++ b/idlc/inc/idlc/idlctypes.hxx
@@@ -30,10 -29,12 +30,12 @@@
#include <stdio.h>
-#include <hash_map>
+#include <boost/unordered_map.hpp>
#include <list>
#include <vector>
+ #include <string>
#include <set>
+
#include <sal/types.h>
#include <rtl/ustring.hxx>
diff --cc idlc/source/options.cxx
index b78afe8,a967005..c17927e
--- a/idlc/source/options.cxx
+++ b/idlc/source/options.cxx
@@@ -29,12 -28,26 +29,25 @@@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_idlc.hxx"
+ #include "idlc/options.hxx"
+
+ #include "osl/diagnose.h"
+ #include "rtl/string.hxx"
+ #include "rtl/strbuf.hxx"
+
#include <stdio.h>
- #include /*MSVC trouble: <cstring>*/ <string.h>
- #include <idlc/options.hxx>
+ #include <string.h>
-using rtl::OString;
-using rtl::OStringBuffer;
-
+using ::rtl::OString;
- Options::Options(): m_stdin(false), m_verbose(false), m_quiet(false)
++using ::rtl::OStringBuffer;
+ #ifdef SAL_UNX
+ #define SEPARATOR '/'
+ #else
+ #define SEPARATOR '\\'
+ #endif
+
+ Options::Options(char const * progname)
+ : m_program(progname), m_stdin(false), m_verbose(false), m_quiet(false)
{
}
@@@ -368,6 -387,6 +387,7 @@@ const OString& Options::getOption(cons
{
throw IllegalArgument("Option is not valid or currently not set.");
}
+ return m_options[option];
}
-/* vi:set tabstop=4 shiftwidth=4 expandtab: */
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --cc offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl
index 9d062d1,dcd4105..e278777
--- a/offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl
@@@ -164,10 -164,10 +164,10 @@@ published service UnoControlCurrencyFie
//-------------------------------------------------------------------------
- /** specifies whether the mouse should show repeating behaviour, i.e.
+ /** specifies whether the mouse should show repeating behavior, i.e.
repeatedly trigger an action when keeping pressed.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean Repeat;
diff --cc offapi/com/sun/star/awt/UnoControlDateFieldModel.idl
index 84a9aa5,1f71ef9..960d4f0
--- a/offapi/com/sun/star/awt/UnoControlDateFieldModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlDateFieldModel.idl
@@@ -198,10 -198,10 +198,10 @@@ published service UnoControlDateFieldMo
//-------------------------------------------------------------------------
- /** specifies whether the mouse should show repeating behaviour, i.e.
+ /** specifies whether the mouse should show repeating behavior, i.e.
repeatedly trigger an action when keeping pressed.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean Repeat;
@@@ -241,7 -241,7 +241,7 @@@
/** specifies the text displayed in the control.
- @since OOo 2.0.0
- @since OOo 2.0
++ @since OOo 2.0
*/
[optional, property] string Text;
diff --cc offapi/com/sun/star/awt/UnoControlEditModel.idl
index d819bf9,19b637d..aab83a1
--- a/offapi/com/sun/star/awt/UnoControlEditModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlEditModel.idl
@@@ -69,19 -69,19 +69,19 @@@ published service UnoControlEditMode
//-------------------------------------------------------------------------
- /** If set to true an horizontal scrollbar will be added automaticly
+ /** If set to true an horizontal scrollbar will be added automatically
when needed.
- @since OOo 2.3.0
+ @since OOo 2.3
*/
[optional, property] boolean AutoHScroll;
//-------------------------------------------------------------------------
- /** If set to true an vertical scrollbar will be added automaticly
+ /** If set to true an vertical scrollbar will be added automatically
when needed.
- @since OOo 2.3.0
+ @since OOo 2.3
*/
[optional, property] boolean AutoVScroll;
diff --cc offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl
index 2a9d518,f0cbcb6..bfa6b87
--- a/offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl
@@@ -223,10 -223,10 +223,10 @@@ published service UnoControlFormattedFi
//-------------------------------------------------------------------------
- /** specifies whether the mouse should show repeating behaviour, i.e.
+ /** specifies whether the mouse should show repeating behavior, i.e.
repeatedly trigger an action when keeping pressed.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean Repeat;
diff --cc offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl
index 33684cf,838e49e..43d2d09
--- a/offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl
@@@ -152,10 -152,10 +152,10 @@@ published service UnoControlNumericFiel
//-------------------------------------------------------------------------
- /** specifies whether the mouse should show repeating behaviour, i.e.
+ /** specifies whether the mouse should show repeating behavior, i.e.
repeatedly trigger an action when keeping pressed.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean Repeat;
diff --cc offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl
index ca00598,e43c20c..fd62671
mode 100644,100755..100755
--- a/offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl
diff --cc offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl
index fa67e98,effbbee..2cf1d8e
--- a/offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl
@@@ -145,10 -145,10 +145,10 @@@ published service UnoControlTimeFieldMo
//-------------------------------------------------------------------------
- /** specifies whether the mouse should show repeating behaviour, i.e.
+ /** specifies whether the mouse should show repeating behavior, i.e.
repeatedly trigger an action when keeping pressed.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean Repeat;
diff --cc offapi/com/sun/star/deployment/XPackage.idl
index 0395a65,9fbd965..160c0f4
--- a/offapi/com/sun/star/deployment/XPackage.idl
+++ b/offapi/com/sun/star/deployment/XPackage.idl
@@@ -97,10 -97,10 +97,10 @@@ interface XPackag
/** checks if the dependencies for this package are still satisfied
- After updateing the OpenOffice.org, some dependencies for packages might
+ After updating the OpenOffice.org, some dependencies for packages might
no longer be satisfied.
- @since OOo 3.2.0
+ @since OOo 3.2
@param xCmdEnv
command environment for error handling and other interaction.
diff --cc offapi/com/sun/star/form/XErrorListener.idl
index d529776,76b508c..18a75e9
--- a/offapi/com/sun/star/form/XErrorListener.idl
+++ b/offapi/com/sun/star/form/XErrorListener.idl
@@@ -48,10 -48,9 +48,9 @@@
event is posted to the error listeners. This event may be used to
configure the error handling of a database form.</p>
- <p>Please do <em><b>not</b></em> use anymore, this interface is superseeded
+ <p>Please do <em><b>not</b></em> use anymore, this interface is superseded
by <type scope="com::sun::star::sdb">XSQLErrorListener</type>.</p>
- @since foo
@deprecated
*/
published interface XErrorListener: com::sun::star::lang::XEventListener
diff --cc offapi/com/sun/star/frame/XPopupMenuController.idl
index cbfd143,59009ef1..510b2ea
--- a/offapi/com/sun/star/frame/XPopupMenuController.idl
+++ b/offapi/com/sun/star/frame/XPopupMenuController.idl
@@@ -38,17 -38,17 +38,17 @@@ module com { module sun { module star
//=============================================================================
-/** provides data to a popup menu controller implementation to
- fill and update a popup menu dynamically.
+/** provides data to a pop-up menu controller implementation to
+ fill and update a pop-up menu dynamically.
<p>
- A popup menu controller gets a <type scope="com::sun::star::awt">XPopupMenu</type>
- from its parent menu implementation. The controller has to fill this popup
+ A pop-up menu controller gets a <type scope="com::sun::star::awt">XPopupMenu</type>
+ from its parent menu implementation. The controller has to fill this pop-up
menu with a set of menu items and/or sub menus. The parent menu implementation
- briefs the controller whenever the popup menu gets activated by a user.
+ briefs the controller whenever the pop-up menu gets activated by a user.
</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
interface XPopupMenuController : com::sun::star::uno::XInterface
{
diff --cc offapi/com/sun/star/geometry/AffineMatrix3D.idl
index 0460bd4,f697b2b..aebbd66
--- a/offapi/com/sun/star/geometry/AffineMatrix3D.idl
+++ b/offapi/com/sun/star/geometry/AffineMatrix3D.idl
@@@ -63,11 -63,11 +63,11 @@@ module com { module sun { module sta
physical dimensions attached to them. This physical measurement
units are typically only added when using these data types to
render something onto a physical output device. For 3D coordinates
- there is also a projection from 3D to 2D device coordiantes needed.
- Only then the total transformation matrix (oncluding projection to 2D)
+ there is also a projection from 3D to 2D device coordinates needed.
+ Only then the total transformation matrix (including projection to 2D)
and the device resolution determine the actual measurement unit in 3D.<p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
struct AffineMatrix3D
{
diff --cc offapi/com/sun/star/i18n/TextConversionOption.idl
index 2b4cc75,e6ca352..89ad811
--- a/offapi/com/sun/star/i18n/TextConversionOption.idl
+++ b/offapi/com/sun/star/i18n/TextConversionOption.idl
@@@ -57,9 -57,9 +57,9 @@@ published constants TextConversionOptio
const long IGNORE_POST_POSITIONAL_WORD = 2; // (1 << 1)
/** Use Taiwan, HongKong SAR, and Macao SAR character variants for
- Simplified to Traditionary Chinese conversion
+ Simplified to Traditional Chinese conversion
- @since OOo 2.0.0
+ @since OOo 2.0
*/
const long USE_CHARACTER_VARIANTS = 2; // (1 << 1)
};
diff --cc offapi/com/sun/star/linguistic2/ConversionDictionaryType.idl
index b568e7b,42c3262..05b3da0
--- a/offapi/com/sun/star/linguistic2/ConversionDictionaryType.idl
+++ b/offapi/com/sun/star/linguistic2/ConversionDictionaryType.idl
@@@ -42,9 -42,9 +42,9 @@@ constants ConversionDictionaryTyp
*/
const short HANGUL_HANJA = 1;
- /** Dictionary type for the conversion between Simplified and Traditionary Chinese
+ /** Dictionary type for the conversion between Simplified and Traditional Chinese
- @since OOo 2.0.0
+ @since OOo 2.0
*/
const short SCHINESE_TCHINESE = 2;
};
diff --cc offapi/com/sun/star/script/browse/BrowseNode.idl
index b7e3090,899d7af..899d7af
mode 100644,100755..100644
--- a/offapi/com/sun/star/script/browse/BrowseNode.idl
+++ b/offapi/com/sun/star/script/browse/BrowseNode.idl
diff --cc offapi/com/sun/star/script/browse/BrowseNodeFactory.idl
index 62113f0,b0cf650..b0cf650
mode 100644,100755..100644
--- a/offapi/com/sun/star/script/browse/BrowseNodeFactory.idl
+++ b/offapi/com/sun/star/script/browse/BrowseNodeFactory.idl
diff --cc offapi/com/sun/star/sheet/XActivationEventListener.idl
index c9ca498,56bb09d..99786f9
--- a/offapi/com/sun/star/sheet/XActivationEventListener.idl
+++ b/offapi/com/sun/star/sheet/XActivationEventListener.idl
@@@ -58,9 -58,9 +58,9 @@@ published interface XActivationEventLis
the event that gives further information on which Spreadsheet is active now.
@see ActivationEvent
- @see XSpreadsheetViewEventProvieder
+ @see XSpreadsheetViewEventProvider
- @since OOo 2.0.0
+ @since OOo 2.0
*/
void activeSpreadsheetChanged( [in] com::sun::star::sheet::ActivationEvent aEvent );
diff --cc offapi/com/sun/star/text/LineNumberingProperties.idl
index 9d11901,8a2ff0e..352997c
--- a/offapi/com/sun/star/text/LineNumberingProperties.idl
+++ b/offapi/com/sun/star/text/LineNumberingProperties.idl
@@@ -101,9 -101,9 +101,9 @@@ published service LineNumberingProperti
/** specifies if the line numbering should start from the
beginning at each page.
- <p>If set to <FALSE/> the line numbering will be continous.</p>
+ <p>If set to <FALSE/> the line numbering will be continuous.</p>
- @since OOo 2.0.0
+ @since OOo 2.0
*/
[optional, property] boolean RestartAtEachPage;
diff --cc offapi/com/sun/star/ui/ItemType.idl
index a8ca89f,45d6fe7..836a7e9
--- a/offapi/com/sun/star/ui/ItemType.idl
+++ b/offapi/com/sun/star/ui/ItemType.idl
@@@ -29,9 -29,9 +29,9 @@@
module com { module sun { module star { module ui {
-/** Determins the type of an item.
+/** Determines the type of an item.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
constants ItemType
{
diff --cc offapi/com/sun/star/ui/UIConfigurationManager.idl
index e7f6a84,d89334c..bdf6b4c
--- a/offapi/com/sun/star/ui/UIConfigurationManager.idl
+++ b/offapi/com/sun/star/ui/UIConfigurationManager.idl
@@@ -50,9 -50,9 +50,9 @@@
module com { module sun { module star { module ui {
/** specifies a user interface configuration manager which controls
- all customizeable user interface elements of an object.
+ all customizable user interface elements of an object.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
service UIConfigurationManager
diff --cc offapi/com/sun/star/util/OfficeInstallationDirectories.idl
index 06b9665,027f7ec..302330f
--- a/offapi/com/sun/star/util/OfficeInstallationDirectories.idl
+++ b/offapi/com/sun/star/util/OfficeInstallationDirectories.idl
@@@ -48,9 -48,9 +48,9 @@@ module com { module sun { module sta
persistent and re-read later. In many cases, storing the reference
directly would destroy the relocatability of an office installation and the
possibility to share one office user data directory among parallel office
- installtions.
+ installations.
- @since OOo 2.0.0
+ @since OOo 2.0
*/
published service OfficeInstallationDirectories
{
diff --cc offapi/com/sun/star/util/PathSubstitution.idl
index bc3aaa4,5cc8a79..03a1671
--- a/offapi/com/sun/star/util/PathSubstitution.idl
+++ b/offapi/com/sun/star/util/PathSubstitution.idl
@@@ -48,57 -48,65 +48,65 @@@ module com { module sun { module sta
/** A service to support the substitution and resubstitution of path variables.
- <p>
- A path variable must be specified with the following syntax: "$("<variable-name>")".
- Path variables are not case sensitive and are always provided as a UCB-compliant URLs
- (for example: "file:///c:/temp" or "file:///usr/install"). This is mandatory to support an
- optional remote file system.<br>
- A user defined list of path variables is supported. This list is stored in the Office
- configuration file (org/openoffice/Office/Substitution.xml). Please have a look at the
- schema definition file which configuration structure this file uses.<br>
- There is also a set of variables that have pre-defined values:
- </p>
- <dl>
- <dt>$(inst)</dt>
- <dd>Installation path of the Office Basis layer.</dd>
- <dt>$(prog)</dt>
- <dd>Program path of the Office Basis layer.</dd>
+ <p>
- A path variable must be specified with the following synatx: "$("<variable-name>")".
- Path variables are not case sensitive and are always provided as a UCB-complient URL's
++ A path variable must be specified with the following syntax: "$("<variable-name>")".
++ Path variables are not case sensitive and are always provided as a UCB-compliant URLs
+ (for example: "file:///c:/temp" or "file:///usr/install"). This is mandatory to support an
+ optional remote file system.<br>
+ A user defined list of path variables is supported. This list is stored in the Office
+ configuration file (org/openoffice/Office/Substitution.xml). Please have a look at the
+ schema definition file which configuration structure this file uses.<br>
+ There is also a set of variables that have pre-defined values:
+ </p>
+ <dl>
+ <dt>$(inst)</dt>
+ <dd>Installation path of the Office Basis layer.</dd>
+ <dt>$(prog)</dt>
+ <dd>Program path of the Office Basis layer.</dd>
<dt>$(brandbaseurl)</dt>
<dd>Installation path of the the Office Brand layer.</dd>
- <dt>$(user)</dt>
- <dd>The user installation directory.</dd>
- <dt>$(work)</dt>
- <dd>The work directory of the user. Under Windows this would be the
- "MyDocuments" subdirectory. Under Unix this would be the home-directory</dd>
+ <dt>$(user)</dt>
+ <dd>The user installation directory.</dd>
+ <dt>$(work)</dt>
+ <dd>The work directory of the user. Under Windows this would be the
+ "MyDocuments" subdirectory. Under Unix this would be the home-directory</dd>
<dt>$(home)</dt>
- <dd>The home directory of the user. Under Unix this would be the home-
- directory. Under Windows this would be the "Documents and Settings\<username>"
- subdirectory.</dd>
+ <dd>The home directory of the user. Under Unix this would be the home-
+ directory. Under Windows this would be the "Documents and Settings\<username>"
+ subdirectory.</dd>
<dt>$(temp)</dt>
- <dd>The current temporary directory.</dd>
+ <dd>The current temporary directory.</dd>
<dt>$(path)</dt>
- <dd>The value of PATH environment variable.</dd>
+ <dd>The value of PATH environment variable.</dd>
<dt>$(lang)</dt>
- <dd>The country code used by the Office, like 01=English, 49=German.</dd>
- <dt>$(langid)</dt>
- <dd>The language code used by the Office, like 0x0009=English, 0x0409=English US.</dd>
- <dd>The country code used by the Office, like 01=english, 49=german.</dd>
++ <dd>The country code used by the Office, like 01=English, 49=German.</dd>
+ <dt>$(langid)</dt>
- <dd>The language code used by the Office, like 0x0009=english, 0x0409=english us.</dd>
++ <dd>The language code used by the Office, like 0x0009=English, 0x0409=English US.</dd>
<dt>$(vlang)</dt>
- <dd>The language used by the Office as a string. Like "German" for a German Office.</dd>
- </dl>
- <dd>The language used by the Office as a string. Like "german" for a german Office.</dd>
++ <dd>The language used by the Office as a string. Like "German" for a German Office.</dd>
+ </dl>
+ <p>
+ Attention: Most predefined variables describe an absolute path.
+ The only exceptions are: $(lang), $(langid) and $(vlang).
+ Therefore the service implementation should only substitute variables which
+ are located at the start of a provided path string or are part of a multi-path.
+ This special service is not designed to be a text substiution but shall
+ provide (a) valid substituted path(s).
+ </p>
@since OOo 1.1.2
*/
published service PathSubstitution
{
- //-------------------------------------------------------------------------
- /** Interface to exchange path variables with defined paths and to resubstitute paths with path variables.
+ //-------------------------------------------------------------------------
+ /** Interface to exchange path variables with defined paths and to resubstitute paths with path variables.
- <p>
- To resubstitute path variables the caller must provide paths as UCB-compliant URLs.
- </p>
- */
- interface com::sun::star::util::XStringSubstitution;
+ <p>
- To resubstitute path variables the caller must provide pathes as UCB-compliant URL's.
++ To resubstitute path variables the caller must provide paths as UCB-compliant URLs.
+ </p>
+ */
+ interface com::sun::star::util::XStringSubstitution;
};
//=============================================================================
diff --cc offapi/com/sun/star/util/XBroadcaster.idl
index 6ab7759,3344350..9fdcabd
--- a/offapi/com/sun/star/util/XBroadcaster.idl
+++ b/offapi/com/sun/star/util/XBroadcaster.idl
@@@ -37,9 -37,9 +37,9 @@@ module com { module sun { module sta
//=============================================================================
-/** allows to control notification behaviour of a broadcaster.
+/** allows to control notification behavior of a broadcaster.
- @since 3.0
+ @since OOo 3.0
*/
interface XBroadcaster: com::sun::star::uno::XInterface
{
diff --cc registry/tools/checksingleton.cxx
index 2286650,f1a50d7..586a74e
--- a/registry/tools/checksingleton.cxx
+++ b/registry/tools/checksingleton.cxx
@@@ -445,14 -306,15 +307,15 @@@ int _cdecl main( int argc, char * argv[
typeKey = typeRoot;
}
+ RegistryKey singletonKey;
- if ( indexRoot.createKey(OUString::createFromAscii("SINGLETONS"), singletonKey) )
+ if ( indexRoot.createKey(OUString(RTL_CONSTASCII_USTRINGPARAM("SINGLETONS")), singletonKey) )
{
fprintf(stderr, "%s: open/create SINGLETONS key of registry \"%s\" failed\n",
- options.getProgramName().getStr(), options.getIndexReg().getStr());
- exit(7);
+ options.getProgramName().c_str(), options.getIndexReg().c_str());
+ return (7);
}
- sal_Bool bSingletonsExist = checkSingletons(singletonKey, typeKey);
+ sal_Bool bSingletonsExist = checkSingletons(options, singletonKey, typeKey);
indexRoot.releaseKey();
typeRoot.releaseKey();
@@@ -476,10 -338,7 +339,9 @@@
if ( typeReg.close() )
{
fprintf(stderr, "%s: closing registry \"%s\" failed\n",
- options.getProgramName().getStr(), options.getTypeReg().getStr());
- exit(11);
+ options.getProgramName().c_str(), options.getTypeReg().c_str());
+ return (11);
}
}
+
-
- /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
++/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --cc registry/tools/regcompare.cxx
index 5668525,d283c63..9c27ee4
--- a/registry/tools/regcompare.cxx
+++ b/registry/tools/regcompare.cxx
@@@ -2390,12 -2082,9 +2083,11 @@@ int _cdecl main( int argc, char * argv[
if ( reg2.close() )
{
fprintf(stdout, "%s: closing registry \"%s\" failed\n",
- options.getProgramName().getStr(), options.getRegName2().getStr());
- exit(10);
+ options.getProgramName().c_str(), options.getRegName2().c_str());
+ return (10);
}
- return nError > 0 ? 11 : 0;
+ return ((nError > 0) ? 11 : 0);
}
+
-
- /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
++/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --cc registry/tools/regmerge.cxx
index c95ee72,409ceb5..b947f39
--- a/registry/tools/regmerge.cxx
+++ b/registry/tools/regmerge.cxx
@@@ -229,56 -131,49 +132,51 @@@ int _cdecl main( int argc, char * argv[
}
RegistryKey rootKey;
- if (reg.openRootKey(rootKey) == REG_NO_ERROR)
+ if (reg.openRootKey(rootKey) != REG_NO_ERROR)
{
- ::rtl::OUString mergeKeyName( ::rtl::OUString::createFromAscii(realargv[2]) );
- ::rtl::OUString targetRegName;
- for (int i = 3; i < realargc; i++)
+ if (options.isVerbose())
+ fprintf(stderr, "open root key of registry \"%s\" failed\n", args[0].c_str());
+ return (-4);
+ }
+
+ OUString mergeKeyName( OUString::createFromAscii(args[1].c_str()) );
+ for (size_t i = 2; i < args.size(); i++)
+ {
+ OUString targetRegName( convertToFileUrl(args[i].c_str(), args[i].size()) );
+ RegError _ret = reg.mergeKey(rootKey, mergeKeyName, targetRegName, sal_False, options.isVerbose());
+ if (_ret != REG_NO_ERROR)
{
- targetRegName = convertToFileUrl(realargv[i]);
- RegError _ret = reg.mergeKey(rootKey, mergeKeyName, targetRegName, sal_False, bVerbose);
- if (_ret != REG_NO_ERROR)
- {
- if (_ret == REG_MERGE_CONFLICT)
- {
- if (bVerbose)
- fprintf(stderr, "merging registry \"%s\" under key \"%s\" in registry \"%s\".\n",
- realargv[i], realargv[2], realargv[1]);
- } else
- {
- if (bVerbose)
- fprintf(stderr, "ERROR: merging registry \"%s\" under key \"%s\" in registry \"%s\" failed.\n",
- realargv[i], realargv[2], realargv[1]);
- exit(-2);
- }
- } else
+ if (_ret == REG_MERGE_CONFLICT)
{
- if (bVerbose)
+ if (options.isVerbose())
fprintf(stderr, "merging registry \"%s\" under key \"%s\" in registry \"%s\".\n",
- realargv[i], realargv[2], realargv[1]);
+ args[i].c_str(), args[1].c_str(), args[0].c_str());
+ }
+ else
+ {
+ if (options.isVerbose())
+ fprintf(stderr, "ERROR: merging registry \"%s\" under key \"%s\" in registry \"%s\" failed.\n",
+ args[i].c_str(), args[1].c_str(), args[0].c_str());
+ return (-2);
}
}
-
- rootKey.releaseKey();
- } else
- {
- if (bVerbose)
- fprintf(stderr, "open root key of registry \"%s\" failed\n",
- realargv[1]);
- exit(-4);
+ else
+ {
+ if (options.isVerbose())
+ fprintf(stderr, "merging registry \"%s\" under key \"%s\" in registry \"%s\".\n",
+ args[i].c_str(), args[1].c_str(), args[0].c_str());
+ }
}
+ rootKey.releaseKey();
if (reg.close() != REG_NO_ERROR)
{
- if (bVerbose)
- fprintf(stderr, "closing registry \"%s\" failed\n", realargv[1]);
- cleanCommandArgs();
- exit(-5);
+ if (options.isVerbose())
+ fprintf(stderr, "closing registry \"%s\" failed\n", args[0].c_str());
+ return (-5);
}
- cleanCommandArgs();
return(0);
}
+
-
- /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
++/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --cc sal/cppunittester/cppunittester.cxx
index 87d2501,c89a350..dd3d724
--- a/sal/cppunittester/cppunittester.cxx
+++ b/sal/cppunittester/cppunittester.cxx
@@@ -29,13 -28,24 +29,27 @@@
#include "precompiled_sal.hxx"
#include "sal/config.h"
- #include <cstdlib>
- #include <iostream>
-
+#ifdef WNT
+#include <windows.h>
+#endif
+
+ #include <cstdlib>
+ #include <iostream>
+ #include <limits>
+ #include <string>
+
+ #include "cppunittester/protectorfactory.hxx"
+ #include "osl/module.h"
+ #include "osl/module.hxx"
+ #include "osl/thread.h"
+ #include "rtl/process.h"
+ #include "rtl/string.h"
+ #include "rtl/string.hxx"
+ #include "rtl/textcvt.h"
+ #include "rtl/ustring.hxx"
+ #include "sal/main.h"
+ #include "sal/types.h"
+
-#include "preextstl.h"
#include "cppunit/CompilerOutputter.h"
#include "cppunit/TestResult.h"
#include "cppunit/TestResultCollector.h"
@@@ -43,47 -53,88 +57,92 @@@
#include "cppunit/extensions/TestFactoryRegistry.h"
#include "cppunit/plugin/PlugInManager.h"
#include "cppunit/portability/Stream.h"
- #include "osl/thread.h"
- #include "rtl/process.h"
- #include "rtl/string.hxx"
- #include "rtl/ustring.hxx"
- #include "sal/main.h"
-#include "postextstl.h"
- SAL_IMPLEMENT_MAIN()
- {
+ namespace {
+
+ void usageFailure() {
+ std::cerr
+ << ("Usage: cppunittester (--protector <shared-library-path>"
+ " <function-symbol>)* <shared-library-path>")
+ << std::endl;
+ std::exit(EXIT_FAILURE);
+ }
+
+ rtl::OUString getArgument(sal_Int32 index) {
+ rtl::OUString arg;
+ rtl_getAppCommandArg(index, &arg.pData);
+ return arg;
+ }
+
+ std::string convertLazy(rtl::OUString const & s16) {
+ rtl::OString s8(rtl::OUStringToOString(s16, osl_getThreadTextEncoding()));
+ return std::string(
+ s8.getStr(),
+ ((static_cast< sal_uInt32 >(s8.getLength())
+ > std::numeric_limits< std::string::size_type >::max())
+ ? std::numeric_limits< std::string::size_type >::max()
+ : static_cast< std::string::size_type >(s8.getLength())));
+ }
-std::string convertStrict(rtl::OUString const & s16) {
- rtl::OString s8;
- if (!s16.convertToString(
- &s8, osl_getThreadTextEncoding(),
- (RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
- | RTL_UNICODETOTEXT_FLAGS_INVALID_ERROR))
- || (static_cast< sal_uInt32 >(s8.getLength())
- > std::numeric_limits< std::string::size_type >::max()))
- {
- std::cerr
- << "Failure converting argument from UTF-16 back to system encoding"
- << std::endl;
- std::exit(EXIT_FAILURE);
- }
- return std::string(
- s8.getStr(), static_cast< std::string::size_type >(s8.getLength()));
-}
-
+ }
+
+ SAL_IMPLEMENT_MAIN() {
+#ifdef WNT
+ //Disable Dr-Watson in order to crash simply without popup dialogs under
+ //windows
+ DWORD dwMode = SetErrorMode(SEM_NOGPFAULTERRORBOX);
+ SetErrorMode(SEM_NOGPFAULTERRORBOX|dwMode);
+#endif
+
- sal_uInt32 nCommandArgs = rtl_getAppCommandArgCount();
- if (nCommandArgs < 1)
- {
- std::cerr << "Usage: cppunittester <shared-library-path>" << std::endl;
- return EXIT_FAILURE;
+ CppUnit::TestResult result;
+ sal_uInt32 index = 0;
+ for (; index < rtl_getAppCommandArgCount(); index += 3) {
+ if (!getArgument(index).equalsAsciiL(
+ RTL_CONSTASCII_STRINGPARAM("--protector")))
+ {
+ break;
+ }
+ if (rtl_getAppCommandArgCount() - index < 3) {
+ usageFailure();
+ }
+ rtl::OUString lib(getArgument(index + 1));
+ rtl::OUString sym(getArgument(index + 2));
+ oslGenericFunction fn = (new osl::Module(lib, SAL_LOADMODULE_GLOBAL))
+ ->getFunctionSymbol(sym);
+ CppUnit::Protector * p = fn == 0
+ ? 0
+ : (*reinterpret_cast< cppunittester::ProtectorFactory * >(fn))();
+ if (p == 0) {
+ std::cerr
+ << "Failure instantiating protector \"" << convertLazy(lib)
+ << "\", \"" << convertLazy(sym) << '"' << std::endl;
+ std::exit(EXIT_FAILURE);
+ }
+ result.pushProtector(p);
+ }
- if (rtl_getAppCommandArgCount() - index != 1) {
++ if (rtl_getAppCommandArgCount() - index < 1) {
+ usageFailure();
}
++
+ std::string testlib;
+ {
+ rtl::OUString path;
- rtl_getAppCommandArg(0, &path.pData);
++ rtl_getAppCommandArg(index, &path.pData);
+ testlib = rtl::OUStringToOString(path, osl_getThreadTextEncoding()).getStr();
+ }
+ std::string args = testlib;
- for (sal_uInt32 i = 1; i < nCommandArgs; ++i)
++ for (sal_uInt32 i = index + 1; i < rtl_getAppCommandArgCount(); ++i)
+ {
+ rtl::OUString arg;
+ rtl_getAppCommandArg(i, &arg.pData);
+ args += ' ';
+ args += rtl::OUStringToOString(arg, osl_getThreadTextEncoding()).getStr();
+ }
++
CppUnit::PlugInManager manager;
- manager.load(convertStrict(getArgument(index)));
+ manager.load(testlib, args);
CppUnit::TestRunner runner;
runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest());
- CppUnit::TestResult result;
CppUnit::TestResultCollector collector;
result.addListener(&collector);
runner.run(result);
diff --cc sal/osl/unx/diagnose.c
index f337bef,b4baf64..30d15ad
--- a/sal/osl/unx/diagnose.c
+++ b/sal/osl/unx/diagnose.c
@@@ -309,5 -314,3 +315,5 @@@ void osl_trace(char const * pszFormat,
printTrace((unsigned long) getpid(), pszFormat, args);
va_end(args);
}
+
- /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
++/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --cc sal/osl/w32/diagnose.c
index 563c8a7,0e1f1d8..93240e0
--- a/sal/osl/w32/diagnose.c
+++ b/sal/osl/w32/diagnose.c
@@@ -105,40 -106,44 +106,45 @@@ sal_Bool SAL_CALL osl_assertFailedLine(
_pPrintDetailedDebugMessage( pszFileName, nLine, pszMessage );
else if ( _pPrintDebugMessage )
_pPrintDebugMessage( szMessage );
- else if ( !getenv( "DISABLE_SAL_DBGBOX" ) )
+ else
{
- TCHAR szBoxMessage[1024];
- int nCode;
-
- /* active popup window for the current thread */
- hWndParent = GetActiveWindow();
- if (hWndParent != NULL)
- hWndParent = GetLastActivePopup(hWndParent);
-
- /* set message box flags */
- nFlags = MB_TASKMODAL | MB_ICONWARNING | MB_YESNOCANCEL | MB_DEFBUTTON2 | MB_SETFOREGROUND;
- if (hWndParent == NULL)
- nFlags |= MB_SERVICE_NOTIFICATION;
-
- /* display the assert */
-
- szBoxMessage[sizeof(szBoxMessage)-1] = 0;
- _snprintf(szBoxMessage, sizeof(szBoxMessage)-1, "%s\n( Yes=Abort / No=Ignore / Cancel=Debugger )",
- szMessage);
-
- nCode = MessageBox(hWndParent, szBoxMessage, "Assertion Failed!", nFlags);
-
- if (nCode == IDYES)
- FatalExit(-1);
-
- if (nCode == IDNO)
- return sal_False; /* ignore */
-
- if (nCode == IDCANCEL)
- return sal_True; /* will cause oslDebugBreak */
+ if ( !getenv( "DISABLE_SAL_DBGBOX" ) )
+ {
+ TCHAR szBoxMessage[1024];
++ int nCode;
+
+ /* active popup window for the current thread */
+ hWndParent = GetActiveWindow();
+ if (hWndParent != NULL)
+ hWndParent = GetLastActivePopup(hWndParent);
+
+ /* set message box flags */
+ nFlags = MB_TASKMODAL | MB_ICONWARNING | MB_YESNOCANCEL | MB_DEFBUTTON2 | MB_SETFOREGROUND;
+ if (hWndParent == NULL)
+ nFlags |= MB_SERVICE_NOTIFICATION;
+
+ /* display the assert */
+
+ szBoxMessage[sizeof(szBoxMessage)-1] = 0;
+ _snprintf(szBoxMessage, sizeof(szBoxMessage)-1, "%s\n( Yes=Abort / No=Ignore / Cancel=Debugger )",
+ szMessage);
+
+ nCode = MessageBox(hWndParent, szBoxMessage, "Assertion Failed!", nFlags);
+
+ if (nCode == IDYES)
+ FatalExit(-1);
+
+ if (nCode == IDNO)
+ return sal_False; /* ignore */
+
+ if (nCode == IDCANCEL)
+ return sal_True; /* will cause oslDebugBreak */
+ }
+ return ( ( env != NULL ) && ( *env != '\0' ) );
}
+
+ return sal_False;
#endif /* NO_DEBUG_CRT */
- return sal_False; /* not sure, don't care */
}
sal_Int32 SAL_CALL osl_reportError(sal_uInt32 nType, const sal_Char* pszMessage)
diff --cc sal/osl/w32/module.cxx
index 1c35135,8fc1dbb..c7ce220
mode 100644,100755..100755
--- a/sal/osl/w32/module.cxx
+++ b/sal/osl/w32/module.cxx
diff --cc sal/osl/w32/procimpl.cxx
index e5ba9e0,4fad3f2..7cb2110
mode 100644,100755..100755
--- a/sal/osl/w32/procimpl.cxx
+++ b/sal/osl/w32/procimpl.cxx
diff --cc sal/prj/d.lst
index e685e59,253d7ea..8891d15
--- a/sal/prj/d.lst
+++ b/sal/prj/d.lst
@@@ -1,4 -1,4 +1,5 @@@
+mkdir: %_DEST%\bin%_EXT%\cppunit
+ mkdir: %_DEST%\inc%_EXT%\cppunittester
mkdir: %_DEST%\inc%_EXT%\sal
mkdir: %_DEST%\inc%_EXT%\osl
mkdir: %_DEST%\inc%_EXT%\rtl
diff --cc sal/rtl/source/alloc_fini.cxx
index 0000000,123073b..5bc174e
mode 000000,100755..100644
--- a/sal/rtl/source/alloc_fini.cxx
+++ b/sal/rtl/source/alloc_fini.cxx
@@@ -1,0 -1,55 +1,58 @@@
++/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+ /*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+ /*
+ Issue http://udk.openoffice.org/issues/show_bug.cgi?id=92388
+
+ Mac OS X does not seem to support "__cxa__atexit", thus leading
+ to the situation that "__attribute__((destructor))__" functions
+ (in particular "rtl_{memory|cache|arena}_fini") become called
+ _before_ global C++ object d'tors.
+
+ Using a C++ dummy object instead.
+ */
+
+ extern "C" void rtl_memory_fini (void);
+ extern "C" void rtl_cache_fini (void);
+ extern "C" void rtl_arena_fini (void);
+
+ struct RTL_Alloc_Fini
+ {
+ ~RTL_Alloc_Fini() ;
+ };
+
+ RTL_Alloc_Fini::~RTL_Alloc_Fini()
+ {
+ rtl_memory_fini();
+ rtl_cache_fini();
+ rtl_arena_fini();
+ }
+
+ static RTL_Alloc_Fini g_RTL_Alloc_Fini;
++
++/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --cc sal/rtl/source/alloc_global.c
index 863e2ae,de550a7..70504ac
--- a/sal/rtl/source/alloc_global.c
+++ b/sal/rtl/source/alloc_global.c
@@@ -26,11 -25,13 +26,12 @@@
*
************************************************************************/
-#include "rtl/alloc.h"
+ #include "alloc_impl.h"
+#include "rtl/alloc.h"
+#include <sal/macros.h>
-#ifndef INCLUDED_STRING_H
#include <string.h>
-#define INCLUDED_STRING_H
-#endif
+#include <stdio.h>
#if !defined(FORCE_SYSALLOC)
@@@ -63,7 -41,10 +64,6 @@@ static void determine_alloc_mode(void
*
* ================================================================= */
- #include "alloc_impl.h"
-#ifndef INCLUDED_STDIO_H
-#include <stdio.h>
-#define INCLUDED_STDIO_H
-#endif
#include "internal/once.h"
#include "sal/macros.h"
#include "osl/diagnose.h"
diff --cc sal/rtl/source/makefile.mk
index 3121f18,145aa50..67ae7f8
--- a/sal/rtl/source/makefile.mk
+++ b/sal/rtl/source/makefile.mk
@@@ -97,8 -100,8 +102,8 @@@ SLOFILES=
$(SLO)$/alloc_cache.obj \
$(SLO)$/alloc_arena.obj
-.IF "$(OS)"=="MACOSX"
+.IF "$(OS)"=="MACOSX" || "$(OS)"=="AIX"
- SLOFILES+=$(SLO)$/memory_fini.obj
+ SLOFILES+=$(SLO)$/alloc_fini.obj
.ENDIF
@@@ -129,8 -133,8 +134,8 @@@ OBJFILES=
$(OBJ)$/alloc_cache.obj \
$(OBJ)$/alloc_arena.obj
-.IF "$(OS)"=="MACOSX"
+.IF "$(OS)"=="MACOSX" || "$(OS)"=="AIX"
- OBJFILES+=$(OBJ)$/memory_fini.obj
+ OBJFILES+=$(OBJ)$/alloc_fini.obj
.ENDIF
commit c8b417d97c982736e9678264673a20d328cabd1f
Merge: 68f4c42... fc2bbcd...
Author: obo <obo at openoffice.org>
Date: Wed Mar 16 10:11:17 2011 +0100
CWS-TOOLING: integrate CWS jl164
commit 68f4c42f3d048ba763d3e8063c5372b338b54866
Merge: 9cc0e5c... 2d813aa...
Author: obo <obo at openoffice.org>
Date: Wed Mar 16 08:29:30 2011 +0100
CWS-TOOLING: integrate CWS debuglevels
commit 2d813aabb8d29ef66b46b06bd182c504769701f6
Merge: 2e5c4d6... 9cc0e5c...
Author: Frank Schoenheit [fs] <frank.schoenheit at oracle.com>
Date: Mon Mar 14 09:47:56 2011 +0100
debuglevels: pulled and merged DEV300.m102
diff --cc offapi/com/sun/star/deployment/XPackage.idl
index f93c8de,9fbd965..9fbd965
mode 100755,100755..100644
--- a/offapi/com/sun/star/deployment/XPackage.idl
+++ b/offapi/com/sun/star/deployment/XPackage.idl
commit 9cc0e5c3906692c2b34fbab5b5e8083fe8e5fb37
Merge: 60014d8... 3e38a54...
Author: Ivo Hinkelmann <ihi at openoffice.org>
Date: Mon Mar 7 16:31:11 2011 +0100
CWS-TOOLING: integrate CWS jsc340
diff --cc idlc/source/options.cxx
index 3b7dee9,84bba46..a967005
--- a/idlc/source/options.cxx
+++ b/idlc/source/options.cxx
@@@ -28,20 -28,19 +28,26 @@@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_idlc.hxx"
+#include "idlc/options.hxx"
+
+#include "osl/diagnose.h"
+#include "rtl/string.hxx"
+#include "rtl/strbuf.hxx"
+
#include <stdio.h>
-#include /*MSVC trouble: <cstring>*/ <string.h>
-#include <idlc/options.hxx>
+#include <string.h>
+
+using rtl::OString;
+using rtl::OStringBuffer;
+ #ifdef SAL_UNX
+ #define SEPARATOR '/'
+ #else
+ #define SEPARATOR '\\'
+ #endif
+
-using namespace rtl;
-
-Options::Options(): m_stdin(false), m_verbose(false), m_quiet(false)
+Options::Options(char const * progname)
+ : m_program(progname), m_stdin(false), m_verbose(false), m_quiet(false)
{
}
diff --cc offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl
index 05457b6,e43c20c..e43c20c
mode 100644,100644..100755
--- a/offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl
diff --cc registry/tools/checksingleton.cxx
index 191af63,28715c2..f1a50d7
--- a/registry/tools/checksingleton.cxx
+++ b/registry/tools/checksingleton.cxx
@@@ -50,128 -94,231 +50,128 @@@ using namespace registry::tools
#define S2U( s ) \
OStringToOUString(s, RTL_TEXTENCODING_UTF8)
-struct LessString
-{
- sal_Bool operator()(const OUString& str1, const OUString& str2) const
- {
- return (str1 < str2);
- }
-};
-
-class Options
+class Options_Impl : public Options
{
public:
- Options()
- : m_bForceOutput(sal_False)
+ explicit Options_Impl(char const * program)
+ : Options (program), m_bForceOutput(false)
{}
- ~Options()
- {}
-
- sal_Bool initOptions(int ac, char* av[], sal_Bool bCmdFile=sal_False);
- OString prepareHelp();
- OString prepareVersion();
-
- const OString& getProgramName()
- { return m_program; }
- const OString& getIndexReg()
+ std::string const & getIndexReg() const
{ return m_indexRegName; }
- const OString& getTypeReg()
+ std::string const & getTypeReg() const
{ return m_typeRegName; }
- sal_Bool hasBase()
- { return m_base.getLength() > 0; }
- const OString& getBase()
+ bool hasBase() const
+ { return (m_base.getLength() > 0); }
+ const OString & getBase() const
{ return m_base; }
- sal_Bool forceOutput()
+ bool forceOutput() const
{ return m_bForceOutput; }
+
protected:
- OString m_program;
- OString m_indexRegName;
- OString m_typeRegName;
+ virtual void printUsage_Impl() const;
+ virtual bool initOptions_Impl (std::vector< std::string > & rArgs);
+
+ std::string m_indexRegName;
+ std::string m_typeRegName;
OString m_base;
- sal_Bool m_bForceOutput;
+ bool m_bForceOutput;
};
-sal_Bool Options::initOptions(int ac, char* av[], sal_Bool bCmdFile)
+// virtual
+void Options_Impl::printUsage_Impl() const
{
- sal_Bool bRet = sal_True;
- sal_uInt16 i=0;
+ std::string const & rProgName = getProgramName();
+ fprintf(stderr,
+ "Usage: %s -r<filename> -o<filename> [-options] | @<filename>\n", rProgName.c_str()
+ );
+ fprintf(stderr,
+ " -o<filename> = filename specifies the name of the new singleton index registry.\n"
+ " -r<filename> = filename specifies the name of the type registry.\n"
+ " @<filename> = filename specifies a command file.\n"
+ "Options:\n"
+ " -b<name> = name specifies the name of a start key. The types will be searched\n"
+ " under this key in the type registry.\n"
+ " -f = force the output of all found singletons.\n"
+ " -h|-? = print this help message and exit.\n"
+ );
+ fprintf(stderr,
- "\nSun Microsystems (R) %s Version 1.0\n\n", rProgName.c_str()
++ "\n%s Version 1.0\n\n", rProgName.c_str()
+ );
+}
- if (!bCmdFile)
+// virtual
+bool Options_Impl::initOptions_Impl(std::vector< std::string > & rArgs)
+{
+ std::vector< std::string >::const_iterator first = rArgs.begin(), last = rArgs.end();
+ for (; first != last; ++first)
{
- bCmdFile = sal_True;
-
- m_program = av[0];
-
- if (ac < 2)
+ std::string option (*first);
+ if ((*first)[0] != '-')
{
- fprintf(stderr, "%s", prepareHelp().getStr());
- bRet = sal_False;
+ return badOption("invalid", option.c_str());
}
-
- i = 1;
- } else
- {
- i = 0;
- }
-
- char *s=NULL;
- for (; i < ac; i++)
- {
- if (av[i][0] == '-')
+ switch ((*first)[1])
{
- switch (av[i][1])
+ case 'r':
+ case 'R':
{
- case 'r':
- case 'R':
- if (av[i][2] == '\0')
- {
- if (i < ac - 1 && av[i+1][0] != '-')
- {
- i++;
- s = av[i];
- } else
- {
- fprintf(stderr, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
- break;
- }
- } else
- {
- s = av[i] + 2;
- }
- m_typeRegName = OString(s);
- break;
- case 'o':
- case 'O':
- if (av[i][2] == '\0')
- {
- if (i < ac - 1 && av[i+1][0] != '-')
- {
- i++;
- s = av[i];
- } else
- {
- fprintf(stderr, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
- break;
- }
- } else
- {
- s = av[i] + 2;
- }
- m_indexRegName = OString(s);
- break;
- case 'b':
- case 'B':
- if (av[i][2] == '\0')
- {
- if (i < ac - 1 && av[i+1][0] != '-')
- {
- i++;
- s = av[i];
- } else
- {
- fprintf(stderr, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
- break;
- }
- } else
- {
- s = av[i] + 2;
- }
- m_base = OString(s);
- break;
- case 'f':
- case 'F':
- if (av[i][2] != '\0')
- {
- fprintf(stderr, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
- }
- m_bForceOutput = sal_True;
- break;
- case 'h':
- case '?':
- if (av[i][2] != '\0')
- {
- fprintf(stderr, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
- } else
- {
- fprintf(stdout, "%s", prepareHelp().getStr());
- exit(0);
- }
- break;
- default:
- fprintf(stderr, "%s: unknown option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
- break;
+ if (!((++first != last) && ((*first)[0] != '-')))
+ {
+ return badOption("invalid", option.c_str());
+ }
+ m_typeRegName = OString((*first).c_str(), (*first).size());
+ break;
}
- } else
- {
- if (av[i][0] == '@')
+ case 'o':
+ case 'O':
{
- FILE* cmdFile = fopen(av[i]+1, "r");
- if( cmdFile == NULL )
- {
- fprintf(stderr, "%s", prepareHelp().getStr());
- bRet = sal_False;
- } else
+ if (!((++first != last) && ((*first)[0] != '-')))
{
- int rargc=0;
- char* rargv[512];
- char buffer[512];
-
- while ( fscanf(cmdFile, "%s", buffer) != EOF )
- {
- rargv[rargc]= strdup(buffer);
- rargc++;
- }
- fclose(cmdFile);
-
- bRet = initOptions(rargc, rargv, bCmdFile);
-
- for (long j=0; j < rargc; j++)
- {
- free(rargv[j]);
- }
+ return badOption("invalid", option.c_str());
+ }
+ m_indexRegName = (*first);
+ break;
+ }
+ case 'b':
+ case 'B':
+ {
+ if (!((++first != last) && ((*first)[0] != '-')))
+ {
+ return badOption("invalid", option.c_str());
}
- } else
+ m_base = OString((*first).c_str(), (*first).size());
+ break;
+ }
+ case 'f':
+ case 'F':
+ {
+ if ((*first).size() > 2)
+ {
+ return badOption("invalid", option.c_str());
+ }
+ m_bForceOutput = sal_True;
+ break;
+ }
+ case 'h':
+ case '?':
{
- fprintf(stderr, "%s: unknown option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
+ if ((*first).size() > 2)
+ {
+ return badOption("invalid", option.c_str());
+ }
+ return printUsage();
+ // break; // unreachable
}
+ default:
+ return badOption("unknown", option.c_str());
+ // break; // unreachable
}
}
-
- return bRet;
+ return true;
}
-OString Options::prepareHelp()
-{
- OString help("\nusing: ");
- help += m_program + " -r<filename> -o<filename> [-options] | @<filename>\n";
- help += " -o<filename> = filename specifies the name of the new singleton index registry.\n";
- help += " -r<filename> = filename specifies the name of the type registry.\n";
- help += " @<filename> = filename specifies a command file.\n";
- help += "Options:\n";
- help += " -b<name> = name specifies the name of a start key. The types will be searched\n";
- help += " under this key in the type registry.\n";
- help += " -f = force the output of all found singletons.\n";
- help += " -h|-? = print this help message and exit.\n";
- help += prepareVersion();
-
- return help;
-}
-
-OString Options::prepareVersion()
-{
- OString version(m_program);
- version += " Version 1.0\n\n";
- return version;
-}
-
-static Options options;
-
-static sal_Bool checkSingletons(RegistryKey& singletonKey, RegistryKey& typeKey)
+static sal_Bool checkSingletons(Options_Impl const & options, RegistryKey& singletonKey, RegistryKey& typeKey)
{
RegValueType valueType = RG_VALUETYPE_NOT_DEFINED;
sal_uInt32 size = 0;
diff --cc registry/tools/regcompare.cxx
index 848f85b,875b61f..d283c63
--- a/registry/tools/regcompare.cxx
+++ b/registry/tools/regcompare.cxx
@@@ -88,177 -163,198 +88,177 @@@ protected
bool m_checkUnpublished;
};
-sal_Bool Options::initOptions(int ac, char* av[], sal_Bool bCmdFile)
+#define U2S( s ) OUStringToOString(s, RTL_TEXTENCODING_UTF8).getStr()
+
+inline rtl::OUString makeOUString (std::string const & s)
{
- sal_Bool bRet = sal_True;
- sal_uInt16 i=0;
+ return rtl::OUString(s.c_str(), s.size(), RTL_TEXTENCODING_UTF8, OSTRING_TO_OUSTRING_CVTFLAGS);
+}
- if (!bCmdFile)
- {
- bCmdFile = sal_True;
-
- OString name(av[0]);
- sal_Int32 index = name.lastIndexOf(SEPARATOR);
- m_program = name.copy((index > 0 ? index+1 : 0));
+inline rtl::OUString shortName(rtl::OUString const & fullName)
+{
+ return fullName.copy(fullName.lastIndexOf('/') + 1);
+}
- if (ac < 2)
- {
- fprintf(stdout, "%s", prepareHelp().getStr());
- bRet = sal_False;
- }
+bool Options_Impl::setRegName_Impl(char c, std::string const & param)
+{
+ bool one = (c == '1'), two = (c == '2');
+ if (one)
+ m_regName1 = param;
+ if (two)
+ m_regName2 = param;
+ return (one || two);
+}
- i = 1;
- } else
- {
- i = 0;
- }
+//virtual
+void Options_Impl::printUsage_Impl() const
+{
+ std::string const & rProgName = getProgramName();
+ fprintf(stderr,
+ "Usage: %s -r1<filename> -r2<filename> [-options] | @<filename>\n", rProgName.c_str()
+ );
+ fprintf(stderr,
+ " -r1<filename> = filename specifies the name of the first registry.\n"
+ " -r2<filename> = filename specifies the name of the second registry.\n"
+ " @<filename> = filename specifies a command file.\n"
+ "Options:\n"
+ " -s<name> = name specifies the name of a start key. If no start key\n"
+ " |S<name> is specified the comparison starts with the root key.\n"
+ " -x<name> = name specifies the name of a key which won't be compared. All\n"
+ " |X<name> subkeys won't be compared also. This option can be used more than once.\n"
+ " -f|F = force the detailed output of any diffenrences. Default\n"
+ " is that only the number of differences is returned.\n"
+ " -c|C = make a complete check, that means any differences will be\n"
+ " detected. Default is only a compatibility check that means\n"
+ " only UNO typelibrary entries will be checked.\n"
+ " -t|T = make an UNO type compatiblity check. This means that registry 2\n"
+ " will be checked against registry 1. If a interface in r2 contains\n"
+ " more methods or the methods are in a different order as in r1, r2 is\n"
+ " incompatible to r1. But if a service in r2 supports more properties as\n"
+ " in r1 and the new properties are 'optional' it is compatible.\n"
+ " -u|U = additionally check types that are unpublished in registry 1.\n"
+ " -h|-? = print this help message and exit.\n"
+ );
+ fprintf(stderr,
- "\nSun Microsystems (R) %s Version 1.0\n\n", rProgName.c_str()
++ "\n%s Version 1.0\n\n", rProgName.c_str()
+ );
+}
- char *s=NULL;
- for (; i < ac; i++)
+// virtual
+bool Options_Impl::initOptions_Impl (std::vector< std::string > & rArgs)
+{
+ std::vector< std::string >::const_iterator first = rArgs.begin(), last = rArgs.end();
+ for (; first != last; ++first)
{
- if (av[i][0] == '-')
+ if ((*first)[0] != '-')
+ {
+ return badOption("invalid", (*first).c_str());
+ }
+ switch ((*first)[1])
{
- switch (av[i][1])
+ case 'r':
+ case 'R':
{
- case 'r':
- case 'R':
+ if (!((++first != last) && ((*first)[0] != '-')))
{
- sal_Bool bFirst = sal_True;
- if (av[i][2] == '2')
- {
- bFirst = sal_False;
- } else if (av[i][2] != '1')
- {
- fprintf(stdout, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- }
- if (av[i][3] == '\0')
- {
- if (i < ac - 1 && av[i+1][0] != '-')
- {
- i++;
- s = av[i];
- } else
- {
- fprintf(stdout, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
- break;
- }
- } else
- {
- s = av[i] + 2;
- }
-
- if ( bFirst )
- {
- m_regName1 = OString(s);
- } else
- {
- m_regName2 = OString(s);
- }
+ return badOption("invalid", (*first).c_str());
}
- break;
- case 's':
- case 'S':
- if (av[i][2] == '\0')
- {
- if (i < ac - 1 && av[i+1][0] != '-')
- {
- i++;
- s = av[i];
- } else
- {
- fprintf(stdout, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
- break;
- }
- } else
- {
- s = av[i] + 2;
- }
- m_startKey = OString(s);
- break;
- case 'x':
- case 'X':
- if (av[i][2] == '\0')
- {
- if (i < ac - 1 && av[i+1][0] != '-')
- {
- i++;
- s = av[i];
- } else
- {
- fprintf(stdout, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
- break;
- }
- } else
- {
- s = av[i] + 2;
- }
- m_excludeKeys.insert(S2U(s));
- break;
- case 'c':
- case 'C':
- if (av[i][2] != '\0')
- {
- fprintf(stdout, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- }
- m_bFullCheck = sal_True;
- break;
- case 'f':
- case 'F':
- if (av[i][2] != '\0')
- {
- fprintf(stdout, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
- }
- m_bForceOutput = sal_True;
- break;
- case 't':
- case 'T':
- if (av[i][2] != '\0')
- {
- fprintf(stdout, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- }
- m_bUnoTypeCheck = sal_True;
- break;
- case 'u':
- case 'U':
- if (av[i][2] != '\0')
- {
- fprintf(stdout, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- }
- m_checkUnpublished = true;
- break;
- case 'h':
- case '?':
- if (av[i][2] != '\0')
- {
- fprintf(stdout, "%s: invalid option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
- } else
+
+ std::string option(*first), param;
+ if (option.size() == 1)
+ {
+ // "-r<n><space><param>"
+ if (!((++first != last) && ((*first)[0] != '-')))
{
- fprintf(stdout, "%s", prepareHelp().getStr());
- exit(0);
+ return badOption("invalid", (*first).c_str());
}
- break;
- default:
- fprintf(stdout, "%s: unknown option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
- break;
+ param = (*first);
+ }
+ else
+ {
+ // "-r<n><param>"
+ param = std::string(&(option[1]), option.size() - 1);
+ }
+ if (!setRegName_Impl(option[0], param))
+ {
+ return badOption("invalid", option.c_str());
+ }
+ break;
}
- } else
- {
- if (av[i][0] == '@')
+ case 's':
+ case 'S':
{
- FILE* cmdFile = fopen(av[i]+1, "r");
- if( cmdFile == NULL )
- {
- fprintf(stdout, "%s", prepareHelp().getStr());
- bRet = sal_False;
- } else
+ if (!((++first != last) && ((*first)[0] != '-')))
{
- int rargc=0;
- char* rargv[512];
- char buffer[512];
-
- while ( fscanf(cmdFile, "%s", buffer) != EOF )
- {
- rargv[rargc]= strdup(buffer);
- rargc++;
- }
- fclose(cmdFile);
-
- bRet = initOptions(rargc, rargv, bCmdFile);
-
- for (long j=0; j < rargc; j++)
- {
- free(rargv[j]);
- }
+ return badOption("invalid", (*first).c_str());
+ }
+ m_startKey = makeOUString(*first);
+ break;
+ }
+ case 'x':
+ case 'X':
+ {
+ if (!((++first != last) && ((*first)[0] != '-')))
+ {
+ return badOption("invalid", (*first).c_str());
+ }
+ m_excludeKeys.insert(makeOUString(*first));
+ break;
+ }
+ case 'f':
+ case 'F':
+ {
+ if ((*first).size() > 2)
+ {
+ return badOption("invalid", (*first).c_str());
+ }
+ m_bForceOutput = sal_True;
+ break;
+ }
+ case 'c':
+ case 'C':
+ {
+ if ((*first).size() > 2)
+ {
+ return badOption("invalid", (*first).c_str());
+ }
+ m_bFullCheck = sal_True;
+ break;
+ }
+ case 't':
+ case 'T':
+ {
+ if ((*first).size() > 2)
+ {
+ return badOption("invalid", (*first).c_str());
+ }
+ m_bUnoTypeCheck = sal_True;
+ break;
+ }
+ case 'u':
+ case 'U':
+ {
+ if ((*first).size() > 2)
+ {
+ return badOption("invalid", (*first).c_str());
}
- } else
+ m_checkUnpublished = true;
+ break;
+ }
+ case 'h':
+ case '?':
{
- fprintf(stdout, "%s: unknown option '%s'\n", m_program.getStr(), av[i]);
- bRet = sal_False;
+ if ((*first).size() > 2)
+ {
+ return badOption("invalid", (*first).c_str());
+ }
+ return printUsage();
+ // break; // Unreachable
+ }
+ default:
+ {
+ return badOption("unknown", (*first).c_str());
+ // break; // Unreachable
}
}
}
commit 60014d8471301bcab6512964e87767898f544e06
Merge: 78bd6e5... 3ea19d7...
Author: Ivo Hinkelmann <ihi at openoffice.org>
Date: Mon Mar 7 13:36:42 2011 +0100
CWS-TOOLING: integrate CWS fwk165
commit 78bd6e57f420636ec930182478f26b4814ea1206
Merge: 75c7fcf... 31bf793...
Author: Ivo Hinkelmann <ihi at openoffice.org>
Date: Mon Mar 7 13:15:24 2011 +0100
CWS-TOOLING: integrate CWS jl165
commit fc2bbcd5c69e181d742f3ac8a321cd9f03e6278d
Author: Joachim Lingner <jl at openoffice.org>
Date: Thu Mar 3 12:04:04 2011 +0100
jl164 #i109096# fixing use of vectors as smart array in osl_loadModules and osl_createprocesswithredirectedio, I introduced them in one of the previous changesets in this cws
diff --git a/sal/osl/w32/module.cxx b/sal/osl/w32/module.cxx
index cac91f7..8fc1dbb 100755
--- a/sal/osl/w32/module.cxx
+++ b/sal/osl/w32/module.cxx
@@ -80,13 +80,13 @@ oslModule SAL_CALL osl_loadModule(rtl_uString *strModuleName, sal_Int32 nRtldMod
{
std::vector<sal_Unicode, rtl::Allocator<sal_Unicode> > vec(Module->length + 1);
DWORD len = GetShortPathNameW(reinterpret_cast<LPCWSTR>(Module->buffer),
- vec.begin(), Module->length + 1);
+ &vec[0], Module->length + 1);
if (len )
{
- hInstance = LoadLibraryW(vec.begin());
+ hInstance = LoadLibraryW(&vec[0]);
if (hInstance == NULL)
- hInstance = LoadLibraryExW(vec.begin(), NULL,
+ hInstance = LoadLibraryExW(&vec[0], NULL,
LOAD_WITH_ALTERED_SEARCH_PATH);
}
}
diff --git a/sal/osl/w32/procimpl.cxx b/sal/osl/w32/procimpl.cxx
index 5a4188d..4fad3f2 100755
--- a/sal/osl/w32/procimpl.cxx
+++ b/sal/osl/w32/procimpl.cxx
@@ -314,7 +314,7 @@ namespace /* private */
std::vector<sal_Unicode, rtl::Allocator<sal_Unicode> > vec(path.getLength() + 1);
//GetShortPathNameW only works if the file can be found!
const DWORD len = GetShortPathNameW(
- path.getStr(), vec.begin(), path.getLength() + 1);
+ path.getStr(), &vec[0], path.getLength() + 1);
if (!len && GetLastError() == ERROR_FILE_NOT_FOUND
&& extension.getLength())
@@ -323,12 +323,12 @@ namespace /* private */
std::vector<sal_Unicode, rtl::Allocator<sal_Unicode> > vec2(
extPath.getLength() + 1);
const DWORD len2 = GetShortPathNameW(
- extPath.getStr(), vec2.begin(), extPath.getLength() + 1);
- ret = rtl::OUString(vec2.begin(), len2);
+ extPath.getStr(), &vec2[0], extPath.getLength() + 1);
+ ret = rtl::OUString(&vec2[0], len2);
}
else
{
- ret = rtl::OUString(vec.begin(), len);
+ ret = rtl::OUString(&vec[0], len);
}
}
return ret;
commit 8521fa6ceb50adab27a3ca013501d0769b8b41af
Author: Joachim Lingner <jl at openoffice.org>
Date: Wed Mar 2 16:11:23 2011 +0100
jl164 #i109096# osl_createProcesess failed if the executable had a long path on windows
diff --git a/sal/osl/w32/module.cxx b/sal/osl/w32/module.cxx
old mode 100644
new mode 100755
index f303fd9..cac91f7
--- a/sal/osl/w32/module.cxx
+++ b/sal/osl/w32/module.cxx
@@ -36,6 +36,7 @@
#include <osl/thread.h>
#include <osl/file.h>
#include <rtl/logfile.h>
+#include <vector>
/*
under WIN32, we use the void* oslModule
@@ -72,21 +73,22 @@ oslModule SAL_CALL osl_loadModule(rtl_uString *strModuleName, sal_Int32 nRtldMod
//In case of long path names (\\?\c:\...) try to shorten the filename.
//LoadLibrary cannot handle file names which exceed 260 letters.
- if (hInstance == NULL && GetLastError() == ERROR_FILENAME_EXCED_RANGE)
+ //In case the path is to long, the function will fail. However, the error
+ //code can be different. For example, it returned ERROR_FILENAME_EXCED_RANGE
+ //on Windows XP and ERROR_INSUFFICIENT_BUFFER on Windows 7 (64bit)
+ if (hInstance == NULL && Module->length > 260)
{
- wchar_t * buff = new wchar_t[Module->length + 1];
+ std::vector<sal_Unicode, rtl::Allocator<sal_Unicode> > vec(Module->length + 1);
DWORD len = GetShortPathNameW(reinterpret_cast<LPCWSTR>(Module->buffer),
- buff, Module->length + 1);
+ vec.begin(), Module->length + 1);
if (len )
{
- hInstance = LoadLibraryW(buff);
+ hInstance = LoadLibraryW(vec.begin());
if (hInstance == NULL)
- hInstance = LoadLibraryExW(buff, NULL,
+ hInstance = LoadLibraryExW(vec.begin(), NULL,
LOAD_WITH_ALTERED_SEARCH_PATH);
-
}
- delete[] buff;
}
diff --git a/sal/osl/w32/procimpl.cxx b/sal/osl/w32/procimpl.cxx
old mode 100644
new mode 100755
index a2e6454..5a4188d
--- a/sal/osl/w32/procimpl.cxx
+++ b/sal/osl/w32/procimpl.cxx
@@ -299,7 +299,40 @@ namespace /* private */
return quoted.makeStringAndClear();
}
-
+
+ //The parameter path must be a system path. If it is longer than 260 characters
+ //then it is shortened using the GetShortPathName function. This function only
+ //works if the path exists. Because "path" can be the path to an executable, it
+ //may not have the file extension ".exe". However, if the file on disk has the
+ //".exe" extension, then the function will fail. In this case a second attempt
+ //is started by adding the parameter "extension" to "path".
+ rtl::OUString getShortPath(rtl::OUString const & path, rtl::OUString const & extension)
+ {
+ rtl::OUString ret(path);
+ if (path.getLength() > 260)
+ {
+ std::vector<sal_Unicode, rtl::Allocator<sal_Unicode> > vec(path.getLength() + 1);
+ //GetShortPathNameW only works if the file can be found!
+ const DWORD len = GetShortPathNameW(
+ path.getStr(), vec.begin(), path.getLength() + 1);
+
+ if (!len && GetLastError() == ERROR_FILE_NOT_FOUND
+ && extension.getLength())
+ {
+ const rtl::OUString extPath(path + extension);
+ std::vector<sal_Unicode, rtl::Allocator<sal_Unicode> > vec2(
+ extPath.getLength() + 1);
+ const DWORD len2 = GetShortPathNameW(
+ extPath.getStr(), vec2.begin(), extPath.getLength() + 1);
+ ret = rtl::OUString(vec2.begin(), len2);
+ }
+ else
+ {
+ ret = rtl::OUString(vec.begin(), len);
+ }
+ }
+ return ret;
+ }
//##########################################################
// Returns the system path of the executable which can either
// be provided via the strImageName parameter or as first
@@ -325,9 +358,11 @@ namespace /* private */
rtl::OUString exe_path;
if (osl_File_E_None != osl::FileBase::getSystemPathFromFileURL(exe_url, exe_path))
return rtl::OUString();
+
+ exe_path = getShortPath(exe_path, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(".exe")));
if (exe_path.indexOf(' ') != -1)
- exe_path = quote_string(exe_path);
+ exe_path = quote_string(exe_path);
return exe_path;
}
commit 75c7fcf9d5f8448e71a949ee10b6caf377b85d80
Merge: b49ffdd... 9542efb...
Author: Ivo Hinkelmann <ihi at openoffice.org>
Date: Wed Mar 2 12:10:39 2011 +0100
CWS-TOOLING: integrate CWS mhu21
commit 9542efbcf7e68a805a8d03b61044b40c2feb9404
Merge: 6686cc8... 918dda3...
Author: Matthias Huetsch [mhu] <matthias.huetsch at oracle.com>
Date: Wed Mar 2 10:40:16 2011 +0100
Update from sibling repository.
commit 918dda31e398e3280fdd5d18a4abe75da44348b8
Author: Matthias Huetsch [mhu] <matthias.huetsch at oracle.com>
Date: Wed Mar 2 10:33:15 2011 +0100
#i115784# sal/rtl/alloc: fix makefile define to match source.
diff --git a/sal/rtl/source/makefile.mk b/sal/rtl/source/makefile.mk
index 538a046..145aa50 100644
--- a/sal/rtl/source/makefile.mk
+++ b/sal/rtl/source/makefile.mk
@@ -48,7 +48,7 @@ TARGETTYPE=CUI
.IF "$(VALGRIND_CFLAGS)" != ""
CFLAGS += $(VALGRIND_CFLAGS)
-CDEFS += -DHAVE_VALGRIND_MEMCHECK_H=1
+CDEFS += -DHAVE_MEMCHECK_H=1
.ENDIF # VALGRIND_CFLAGS
.IF "$(ALLOC)" == "SYS_ALLOC" || "$(ALLOC)" == "TCMALLOC" || "$(ALLOC)" == "JEMALLOC"
commit 6686cc8fd9b374acf995c1dcb855c8d64c60fb97
Author: Matthias Huetsch [mhu] <matthias.huetsch at oracle.com>
Date: Tue Mar 1 15:43:07 2011 +0100
#i115784# configure: fix valgrind header check, use VALGRIND_CFLAGS.
diff --git a/sal/rtl/source/alloc_impl.h b/sal/rtl/source/alloc_impl.h
index a216c6e..8fa379c 100644
--- a/sal/rtl/source/alloc_impl.h
+++ b/sal/rtl/source/alloc_impl.h
@@ -242,11 +242,11 @@ typedef CRITICAL_SECTION rtl_memory_lock_type;
/** Valgrind support macros.
*/
-#if !defined(HAVE_VALGRIND_MEMCHECK_H) || (OSL_DEBUG_LEVEL == 0)
+#if !defined(HAVE_MEMCHECK_H) || (OSL_DEBUG_LEVEL == 0)
#if !defined(NVALGRIND)
#define NVALGRIND 1
#endif /* ! NVALGRIND */
-#endif /* ! HAVE_VALGRIND_MEMCHECK_H || (OSL_DEBUG_LEVEL == 0) */
+#endif /* ! HAVE_MEMCHECK_H || (OSL_DEBUG_LEVEL == 0) */
#if defined(NVALGRIND)
#define VALGRIND_MAKE_MEM_UNDEFINED(addr, size)
@@ -257,12 +257,12 @@ typedef CRITICAL_SECTION rtl_memory_lock_type;
#define VALGRIND_DESTROY_MEMPOOL(pool)
#define VALGRIND_MEMPOOL_ALLOC(pool, addr, size)
#define VALGRIND_MEMPOOL_FREE(pool, addr)
-#elif defined(HAVE_VALGRIND_MEMCHECK_H)
-#include <valgrind/memcheck.h>
+#elif defined(HAVE_MEMCHECK_H)
+#include <memcheck.h>
#if !defined(FORCE_SYSALLOC)
#define FORCE_SYSALLOC 1
#endif /* !FORCE_SYSALLOC */
-#endif /* NVALGRIND || HAVE_VALGRIND_MEMCHECK_H */
+#endif /* NVALGRIND || HAVE_MEMCHECK_H */
#ifdef __cplusplus
}
diff --git a/sal/rtl/source/makefile.mk b/sal/rtl/source/makefile.mk
index 80c8e73..538a046 100644
--- a/sal/rtl/source/makefile.mk
+++ b/sal/rtl/source/makefile.mk
@@ -46,9 +46,10 @@ TARGETTYPE=CUI
.INCLUDE : settings.mk
-.IF "$(HAVE_VALGRIND_MEMCHECK_H)" == "TRUE"
-CDEFS+= -DHAVE_VALGRIND_MEMCHECK_H=1
-.ENDIF
+.IF "$(VALGRIND_CFLAGS)" != ""
+CFLAGS += $(VALGRIND_CFLAGS)
+CDEFS += -DHAVE_VALGRIND_MEMCHECK_H=1
+.ENDIF # VALGRIND_CFLAGS
.IF "$(ALLOC)" == "SYS_ALLOC" || "$(ALLOC)" == "TCMALLOC" || "$(ALLOC)" == "JEMALLOC"
CDEFS+= -DFORCE_SYSALLOC
commit bcc34756579af9d487d6095d257a7ff9a823e828
Author: Joachim Lingner <jl at openoffice.org>
Date: Tue Mar 1 10:55:20 2011 +0100
jl164 #i109096# osl_loadModules did not work with long paths.
diff --git a/sal/osl/w32/module.cxx b/sal/osl/w32/module.cxx
index be5a5b4..f303fd9 100644
--- a/sal/osl/w32/module.cxx
+++ b/sal/osl/w32/module.cxx
@@ -65,10 +65,31 @@ oslModule SAL_CALL osl_loadModule(rtl_uString *strModuleName, sal_Int32 nRtldMod
rtl_uString_assign(&Module, strModuleName);
hInstance = LoadLibraryW(reinterpret_cast<LPCWSTR>(Module->buffer));
+
if (hInstance == NULL)
hInstance = LoadLibraryExW(reinterpret_cast<LPCWSTR>(Module->buffer), NULL,
LOAD_WITH_ALTERED_SEARCH_PATH);
+ //In case of long path names (\\?\c:\...) try to shorten the filename.
+ //LoadLibrary cannot handle file names which exceed 260 letters.
+ if (hInstance == NULL && GetLastError() == ERROR_FILENAME_EXCED_RANGE)
+ {
+ wchar_t * buff = new wchar_t[Module->length + 1];
+ DWORD len = GetShortPathNameW(reinterpret_cast<LPCWSTR>(Module->buffer),
+ buff, Module->length + 1);
+ if (len )
+ {
+ hInstance = LoadLibraryW(buff);
+
+ if (hInstance == NULL)
+ hInstance = LoadLibraryExW(buff, NULL,
+ LOAD_WITH_ALTERED_SEARCH_PATH);
+
+ }
+ delete[] buff;
+ }
+
+
if (hInstance <= (HINSTANCE)HINSTANCE_ERROR)
hInstance = 0;
commit 31bf79303e7d8a05bc3a7943ed752eb5f8ab8787
Merge: b49ffdd... 0900ab3...
Author: Joachim Lingner <jl at openoffice.org>
Date: Mon Feb 28 16:13:56 2011 +0100
jl165 merging heads
commit 2e5c4d6df1939dfee06b16e5f6c47e73c54cf2e1
Author: sb <sb at openoffice.org>
Date: Mon Feb 28 08:57:47 2011 +0100
debuglevels: #i117073# Linux/GCC needs SAL_LOADMODULE_GLOBAL for exception handling to work
diff --git a/sal/cppunittester/cppunittester.cxx b/sal/cppunittester/cppunittester.cxx
index ab3f61f..c89a350 100644
--- a/sal/cppunittester/cppunittester.cxx
+++ b/sal/cppunittester/cppunittester.cxx
@@ -115,7 +115,8 @@ SAL_IMPLEMENT_MAIN() {
}
rtl::OUString lib(getArgument(index + 1));
rtl::OUString sym(getArgument(index + 2));
- oslGenericFunction fn = (new osl::Module(lib))->getFunctionSymbol(sym);
+ oslGenericFunction fn = (new osl::Module(lib, SAL_LOADMODULE_GLOBAL))
+ ->getFunctionSymbol(sym);
CppUnit::Protector * p = fn == 0
? 0
: (*reinterpret_cast< cppunittester::ProtectorFactory * >(fn))();
commit 98f9dd19ec450216df9637dd09d6007843c11330
Author: Frank Schoenheit [fs] <frank.schoenheit at oracle.com>
Date: Sat Feb 26 21:52:40 2011 +0100
debuglevels: ooops - removed a line of code not intended to be committed
diff --git a/sal/cppunittester/cppunittester.cxx b/sal/cppunittester/cppunittester.cxx
index 6aba6dc..ab3f61f 100644
--- a/sal/cppunittester/cppunittester.cxx
+++ b/sal/cppunittester/cppunittester.cxx
@@ -138,6 +138,5 @@ SAL_IMPLEMENT_MAIN() {
result.addListener(&collector);
runner.run(result);
CppUnit::CompilerOutputter(&collector, CppUnit::stdCErr()).write();
- fprintf( stderr, "-----\n" ); fflush( stderr );
return collector.wasSuccessful() ? EXIT_SUCCESS : EXIT_FAILURE;
}
commit 08fa174e76a4688ab12316f8c4a867f9cf120a8a
Author: Frank Schoenheit [fs] <frank.schoenheit at oracle.com>
Date: Fri Feb 25 16:01:35 2011 +0100
debuglevels: GCC WaE / replace cppunit's DynamicLibraryManager (which does not seem to be public API) with osl_loadModule
diff --git a/sal/cppunittester/cast.c b/sal/cppunittester/cast.c
deleted file mode 100644
index 38c081a..0000000
--- a/sal/cppunittester/cast.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/*************************************************************************
-*
-* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-*
-* Copyright 2000, 2011 Oracle and/or its affiliates.
-*
-* OpenOffice.org - a multi-platform office productivity suite
-*
-* This file is part of OpenOffice.org.
-*
-* OpenOffice.org is free software: you can redistribute it and/or modify
-* it under the terms of the GNU Lesser General Public License version 3
-* only, as published by the Free Software Foundation.
-*
-* OpenOffice.org is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU Lesser General Public License version 3 for more details
-* (a copy is included in the LICENSE file that accompanied this code).
-*
-* You should have received a copy of the GNU Lesser General Public License
-* version 3 along with OpenOffice.org. If not, see
-* <http://www.openoffice.org/license.html>
-* for a copy of the LGPLv3 License.
-*
-************************************************************************/
-
-#include "sal/config.h"
-
-#include "osl/module.h"
-
-#include "cast.h"
-
-oslGenericFunction cast(void * fn) {
- return (oslGenericFunction) fn;
-}
diff --git a/sal/cppunittester/cast.h b/sal/cppunittester/cast.h
deleted file mode 100644
index 4cfd411..0000000
--- a/sal/cppunittester/cast.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*************************************************************************
-*
-* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-*
-* Copyright 2000, 2011 Oracle and/or its affiliates.
-*
-* OpenOffice.org - a multi-platform office productivity suite
-*
-* This file is part of OpenOffice.org.
-*
-* OpenOffice.org is free software: you can redistribute it and/or modify
-* it under the terms of the GNU Lesser General Public License version 3
-* only, as published by the Free Software Foundation.
-*
-* OpenOffice.org is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU Lesser General Public License version 3 for more details
-* (a copy is included in the LICENSE file that accompanied this code).
-*
-* You should have received a copy of the GNU Lesser General Public License
-* version 3 along with OpenOffice.org. If not, see
-* <http://www.openoffice.org/license.html>
-* for a copy of the LGPLv3 License.
-*
-************************************************************************/
-
-#ifndef INCLUDED_SAL_CPPUNITTESTER_CAST_H
-#define INCLUDED_SAL_CPPUNITTESTER_CAST_H
-
-#include "sal/config.h"
-
-#include "osl/module.h"
-
-#if defined __cplusplus
-extern "C" {
-#endif
-
-/* C++ compilers would warn about that cast, so it is done in C: */
-oslGenericFunction cast(void * fn);
-
-#if defined __cplusplus
-}
-#endif
-
-#endif
diff --git a/sal/cppunittester/cppunittester.cxx b/sal/cppunittester/cppunittester.cxx
index e3ced72..6aba6dc 100644
--- a/sal/cppunittester/cppunittester.cxx
+++ b/sal/cppunittester/cppunittester.cxx
@@ -34,12 +34,16 @@
#include <string>
#include "cppunittester/protectorfactory.hxx"
+#include "osl/module.h"
+#include "osl/module.hxx"
#include "osl/thread.h"
#include "rtl/process.h"
+#include "rtl/string.h"
#include "rtl/string.hxx"
#include "rtl/textcvt.h"
#include "rtl/ustring.hxx"
#include "sal/main.h"
+#include "sal/types.h"
#include "preextstl.h"
#include "cppunit/CompilerOutputter.h"
@@ -47,14 +51,10 @@
#include "cppunit/TestResultCollector.h"
#include "cppunit/TestRunner.h"
#include "cppunit/extensions/TestFactoryRegistry.h"
-#include "cppunit/plugin/DynamicLibraryManager.h"
-#include "cppunit/plugin/DynamicLibraryManagerException.h"
#include "cppunit/plugin/PlugInManager.h"
#include "cppunit/portability/Stream.h"
#include "postextstl.h"
-#include "cast.h"
-
namespace {
void usageFailure() {
@@ -65,15 +65,29 @@ void usageFailure() {
std::exit(EXIT_FAILURE);
}
-std::string getArgument(sal_uInt32 index) {
- rtl::OUString s16;
- rtl_getAppCommandArg(index, &s16.pData);
+rtl::OUString getArgument(sal_Int32 index) {
+ rtl::OUString arg;
+ rtl_getAppCommandArg(index, &arg.pData);
+ return arg;
+}
+
+std::string convertLazy(rtl::OUString const & s16) {
+ rtl::OString s8(rtl::OUStringToOString(s16, osl_getThreadTextEncoding()));
+ return std::string(
+ s8.getStr(),
+ ((static_cast< sal_uInt32 >(s8.getLength())
+ > std::numeric_limits< std::string::size_type >::max())
+ ? std::numeric_limits< std::string::size_type >::max()
+ : static_cast< std::string::size_type >(s8.getLength())));
+}
+
+std::string convertStrict(rtl::OUString const & s16) {
rtl::OString s8;
if (!s16.convertToString(
&s8, osl_getThreadTextEncoding(),
(RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
| RTL_UNICODETOTEXT_FLAGS_INVALID_ERROR))
- || (s8.getLength()
+ || (static_cast< sal_uInt32 >(s8.getLength())
> std::numeric_limits< std::string::size_type >::max()))
{
std::cerr
@@ -91,38 +105,39 @@ SAL_IMPLEMENT_MAIN() {
CppUnit::TestResult result;
sal_uInt32 index = 0;
for (; index < rtl_getAppCommandArgCount(); index += 3) {
- std::string arg(getArgument(index));
- if (arg.compare("--protector") != 0) {
+ if (!getArgument(index).equalsAsciiL(
+ RTL_CONSTASCII_STRINGPARAM("--protector")))
+ {
break;
}
if (rtl_getAppCommandArgCount() - index < 3) {
usageFailure();
}
- try {
- result.pushProtector(
- (*reinterpret_cast< cppunittester::ProtectorFactory * >(
- cast(
- (new CppUnit::DynamicLibraryManager(
- getArgument(index + 1)))
- ->findSymbol(getArgument(index + 2)))))());
- } catch (CppUnit::DynamicLibraryManagerException & e) {
+ rtl::OUString lib(getArgument(index + 1));
+ rtl::OUString sym(getArgument(index + 2));
+ oslGenericFunction fn = (new osl::Module(lib))->getFunctionSymbol(sym);
+ CppUnit::Protector * p = fn == 0
+ ? 0
+ : (*reinterpret_cast< cppunittester::ProtectorFactory * >(fn))();
+ if (p == 0) {
std::cerr
- << "Failure instantiating protector \""
- << getArgument(index + 1) << "\", \"" << getArgument(index + 2)
- << "\": " << e.what() << std::endl;
+ << "Failure instantiating protector \"" << convertLazy(lib)
+ << "\", \"" << convertLazy(sym) << '"' << std::endl;
std::exit(EXIT_FAILURE);
}
+ result.pushProtector(p);
}
if (rtl_getAppCommandArgCount() - index != 1) {
usageFailure();
}
CppUnit::PlugInManager manager;
- manager.load(getArgument(index));
+ manager.load(convertStrict(getArgument(index)));
CppUnit::TestRunner runner;
runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest());
CppUnit::TestResultCollector collector;
result.addListener(&collector);
runner.run(result);
CppUnit::CompilerOutputter(&collector, CppUnit::stdCErr()).write();
+ fprintf( stderr, "-----\n" ); fflush( stderr );
return collector.wasSuccessful() ? EXIT_SUCCESS : EXIT_FAILURE;
}
diff --git a/sal/cppunittester/makefile.mk b/sal/cppunittester/makefile.mk
index 657b8f8..61fe786 100644
--- a/sal/cppunittester/makefile.mk
+++ b/sal/cppunittester/makefile.mk
@@ -44,7 +44,7 @@ CFLAGSCXX += $(CPPUNIT_CFLAGS)
OBJFILES = $(APP1OBJS)
-APP1OBJS = $(OBJ)/cast.obj $(OBJ)/cppunittester.obj
+APP1OBJS = $(OBJ)/cppunittester.obj
APP1RPATH = NONE
APP1STDLIBS = $(CPPUNITLIB) $(SALLIB)
APP1TARGET = cppunittester
commit ec1d1c8755792f97be5e73f6f027a357f57c3ed8
Author: sb <sb at openoffice.org>
Date: Fri Feb 25 11:32:55 2011 +0100
debuglevels: #i117073# added cppunittester --protector support; added unoexceptionprotector and use it in installationtest.mk; reverted changes to smoketest.cxx obsoleted by these additions
diff --git a/sal/cppunittester/cast.c b/sal/cppunittester/cast.c
new file mode 100644
index 0000000..38c081a
--- /dev/null
+++ b/sal/cppunittester/cast.c
@@ -0,0 +1,36 @@
+/*************************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2011 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+************************************************************************/
+
+#include "sal/config.h"
+
+#include "osl/module.h"
+
+#include "cast.h"
+
+oslGenericFunction cast(void * fn) {
+ return (oslGenericFunction) fn;
+}
diff --git a/sal/cppunittester/cast.h b/sal/cppunittester/cast.h
new file mode 100644
index 0000000..4cfd411
--- /dev/null
+++ b/sal/cppunittester/cast.h
@@ -0,0 +1,46 @@
+/*************************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2011 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+************************************************************************/
+
+#ifndef INCLUDED_SAL_CPPUNITTESTER_CAST_H
+#define INCLUDED_SAL_CPPUNITTESTER_CAST_H
+
+#include "sal/config.h"
+
+#include "osl/module.h"
+
+#if defined __cplusplus
+extern "C" {
+#endif
+
+/* C++ compilers would warn about that cast, so it is done in C: */
+oslGenericFunction cast(void * fn);
+
+#if defined __cplusplus
+}
+#endif
+
+#endif
diff --git a/sal/cppunittester/cppunittester.cxx b/sal/cppunittester/cppunittester.cxx
index ac99601..e3ced72 100644
--- a/sal/cppunittester/cppunittester.cxx
+++ b/sal/cppunittester/cppunittester.cxx
@@ -30,6 +30,16 @@
#include <cstdlib>
#include <iostream>
+#include <limits>
+#include <string>
+
+#include "cppunittester/protectorfactory.hxx"
+#include "osl/thread.h"
+#include "rtl/process.h"
+#include "rtl/string.hxx"
+#include "rtl/textcvt.h"
+#include "rtl/ustring.hxx"
+#include "sal/main.h"
#include "preextstl.h"
#include "cppunit/CompilerOutputter.h"
@@ -37,28 +47,79 @@
#include "cppunit/TestResultCollector.h"
#include "cppunit/TestRunner.h"
#include "cppunit/extensions/TestFactoryRegistry.h"
+#include "cppunit/plugin/DynamicLibraryManager.h"
+#include "cppunit/plugin/DynamicLibraryManagerException.h"
#include "cppunit/plugin/PlugInManager.h"
#include "cppunit/portability/Stream.h"
#include "postextstl.h"
-#include "osl/thread.h"
-#include "rtl/process.h"
-#include "rtl/string.hxx"
-#include "rtl/ustring.hxx"
-#include "sal/main.h"
+
+#include "cast.h"
+
+namespace {
+
+void usageFailure() {
+ std::cerr
+ << ("Usage: cppunittester (--protector <shared-library-path>"
+ " <function-symbol>)* <shared-library-path>")
+ << std::endl;
+ std::exit(EXIT_FAILURE);
+}
+
+std::string getArgument(sal_uInt32 index) {
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list