Kaydet (Commit) 256f1925 authored tarafından Tor Lillqvist's avatar Tor Lillqvist

Revert "Introduced OSL_FORMAT, adpated some places to it."

Breaks the MSVC build for me: 'osl_detail_formatString' : C linkage
function cannot return C++ class 'rtl::OString'.

This reverts commit 6b900b8b.
üst 6b900b8b
......@@ -1848,12 +1848,7 @@ String BasicFrame::GenRealString( const String &aResString )
}
else
{
OSL_FAIL(
OSL_FORMAT(
"Unknown replacement in String: %s",
rtl::OUStringToOString(
aResult.Copy(nStart, nEnd - nStart),
RTL_TEXTENCODING_UTF8).getStr()));
OSL_FAIL( CByteString("Unknown replacement in String: ").Append( ByteString( aResult.Copy(nStart,nEnd-nStart), RTL_TEXTENCODING_UTF8 ) ).GetBuffer() );
nStartPos = nStartPos + StartKenn.Len();
}
}
......
This diff is collapsed.
......@@ -192,26 +192,6 @@ pfunc_osl_printDetailedDebugMessage SAL_CALL osl_setDetailedDebugMessageFunc( pf
#define OSL_THIS_FUNC ""
#endif
#if defined __cplusplus
namespace rtl { class OString; }
/** @internal */
extern "C" ::rtl::OString SAL_CALL osl_detail_formatString(
char const * format, ...) SAL_THROW_EXTERN_C();
/** A facility for printf-style messages in OSL_ENSURE, OSL_FAIL, etc.
Use like: OSL_ENSURE(i == 5, OSL_FORMAT("i should be 5 but is %d", i));
*/
#define OSL_FORMAT(format, ...) \
(::osl_detail_formatString(format, __VA_ARGS__).getStr())
// it appears that all relevant compilers (esp. GCC 4.0 and MS VS 2008
// Express) already support variadic macros in C++; see also
// <http://wiki.apache.org/stdcxx/C++0xCompilerSupport>
#endif
#endif /* _OSL_DIAGNOSE_H_ */
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
/*
* Version: MPL 1.1 / GPLv3+ / LGPLv3+
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License or as specified alternatively below. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* Major Contributor(s):
* [ Copyright (C) 2011 Stephan Bergmann, Red Hat Inc. <sbergman@redhat.com>
* (initial developer) ]
*
* All Rights Reserved.
*
* For minor contributions see the git repository.
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 3 or later (the "GPLv3+"), or
* the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
* in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
* instead of those above.
*/
#include "precompiled_sal.hxx"
#include "sal/config.h"
#include <cstdarg>
#include <cstring>
#include <stdio.h> // vsnprintf not in C++03 <cstdio>, only C99 <stdio.h>
#include "osl/diagnose.h"
#include "rtl/string.hxx"
rtl::OString osl_detail_formatString(char const * format, ...)
SAL_THROW_EXTERN_C()
{
// Avoid the use of other sal code as much as possible, so that this code
// can be called from other sal code without causing endless recursion:
char buf[1024];
int n1 = sizeof buf - RTL_CONSTASCII_LENGTH("...");
std::va_list args;
va_start(args, format);
int n2 = vsnprintf(buf, n1, format, args);
va_end(args);
if (n2 < 0) {
std::strcpy(buf, "???");
n2 = RTL_CONSTASCII_LENGTH("???");
} else if (n2 >= n1) {
std::strcpy(buf + n1 - 1, "...");
n2 = sizeof buf - 1;
}
return rtl::OString(buf, n2);
}
......@@ -50,7 +50,6 @@ CXXFLAGS+= $(LFS_CFLAGS)
SLOFILES= \
$(SLO)$/utility.obj\
$(SLO)$/filepath.obj\
$(SLO)$/formatstring.obj\
$(SLO)$/debugbase.obj\
$(SLO)$/loadmodulerelative.obj \
$(SLO)/printtrace.obj
......@@ -58,7 +57,6 @@ SLOFILES= \
OBJFILES= \
$(OBJ)$/utility.obj\
$(OBJ)$/filepath.obj\
$(OBJ)$/formatstring.obj\
$(OBJ)$/debugbase.obj\
$(OBJ)$/loadmodulerelative.obj \
$(OBJ)/printtrace.obj
......
......@@ -625,8 +625,3 @@ PRIVATE_1.1 {
sal_detail_initialize;
sal_detail_deinitialize;
} PRIVATE_1.0;
PRIVATE_1.2 { # LibreOffice 3.5
global:
osl_detail_formatString;
} PRIVATE_1.1;
......@@ -391,11 +391,13 @@ FieldUnit SfxModule::GetModuleFieldUnit( ::com::sun::star::uno::Reference< ::com
SfxPoolItem const * pItem = pModule->GetItem( SID_ATTR_METRIC );
if ( pItem == NULL )
{
OSL_FAIL(
OSL_FORMAT(
("SfxModule::GetFieldUnit: no metric item in the module"
" implemented by '%s'!"),
typeid(*pModule).name()));
#if OSL_DEBUG_LEVEL > 0
::rtl::OStringBuffer message;
message.append( "SfxModule::GetFieldUnit: no metric item in the module implemented by '" );
message.append( typeid( *pModule ).name() );
message.append( "'!" );
OSL_ENSURE( false, message.makeStringAndClear().getStr() );
#endif
return FUNIT_100TH_MM;
}
return (FieldUnit)( (SfxUInt16Item*)pItem )->GetValue();
......
......@@ -811,69 +811,35 @@ PPDParser::PPDParser( const String& rFile ) :
m_pImageableAreas = getKey( String( RTL_CONSTASCII_USTRINGPARAM( "ImageableArea" ) ) );
if( m_pImageableAreas )
m_pDefaultImageableArea = m_pImageableAreas->getDefaultValue();
DBG_ASSERT(
m_pImageableAreas,
OSL_FORMAT(
"Warning: no ImageableArea in %s\n",
rtl::OUStringToOString(m_aFile, RTL_TEXTENCODING_UTF8).getStr()));
DBG_ASSERT(
m_pDefaultImageableArea,
OSL_FORMAT(
"Warning: no DefaultImageableArea in %s\n",
rtl::OUStringToOString(m_aFile, RTL_TEXTENCODING_UTF8).getStr()));
DBG_ASSERT( m_pImageableAreas, "Warning: no ImageableArea in PPD\n" );
DBG_ASSERT( m_pDefaultImageableArea, "Warning: no DefaultImageableArea in PPD\n" );
m_pPaperDimensions = getKey( String( RTL_CONSTASCII_USTRINGPARAM( "PaperDimension" ) ) );
if( m_pPaperDimensions )
m_pDefaultPaperDimension = m_pPaperDimensions->getDefaultValue();
DBG_ASSERT(
m_pPaperDimensions,
OSL_FORMAT(
"Warning: no PaperDimensions in %s\n",
rtl::OUStringToOString(m_aFile, RTL_TEXTENCODING_UTF8).getStr()));
DBG_ASSERT(
m_pDefaultPaperDimension,
OSL_FORMAT(
"Warning: no DefaultPaperDimensions in %s\n",
rtl::OUStringToOString(m_aFile, RTL_TEXTENCODING_UTF8).getStr()));
DBG_ASSERT( m_pPaperDimensions, "Warning: no PaperDimension in PPD\n" );
DBG_ASSERT( m_pDefaultPaperDimension, "Warning: no DefaultPaperDimension in PPD\n" );
m_pResolutions = getKey( String( RTL_CONSTASCII_USTRINGPARAM( "Resolution" ) ) );
if( m_pResolutions )
m_pDefaultResolution = m_pResolutions->getDefaultValue();
DBG_ASSERT(
m_pResolutions,
OSL_FORMAT(
"Warning: no Resolution in %s\n",
rtl::OUStringToOString(m_aFile, RTL_TEXTENCODING_UTF8).getStr()));
DBG_ASSERT(
m_pDefaultResolution,
OSL_FORMAT(
"Warning: no DefaultResolution in %s\n",
rtl::OUStringToOString(m_aFile, RTL_TEXTENCODING_UTF8).getStr()));
DBG_ASSERT( m_pResolutions, "Warning: no Resolution in PPD\n" );
DBG_ASSERT( m_pDefaultResolution,
rtl::OStringBuffer("Warning: no DefaultResolution in ").
append(rtl::OUStringToOString(rFile, osl_getThreadTextEncoding())).append('\n').getStr() );
m_pInputSlots = getKey( String( RTL_CONSTASCII_USTRINGPARAM( "InputSlot" ) ) );
if( m_pInputSlots )
m_pDefaultInputSlot = m_pInputSlots->getDefaultValue();
DBG_ASSERT(
m_pInputSlots,
OSL_FORMAT(
"Warning: no InputSlot in %s\n",
rtl::OUStringToOString(m_aFile, RTL_TEXTENCODING_UTF8).getStr()));
DBG_ASSERT(
m_pDefaultInputSlot,
OSL_FORMAT(
"Warning: no DefaultInputSlot in %s\n",
rtl::OUStringToOString(m_aFile, RTL_TEXTENCODING_UTF8).getStr()));
DBG_ASSERT( m_pPaperDimensions, "Warning: no InputSlot in PPD\n" );
DBG_ASSERT( m_pDefaultPaperDimension, "Warning: no DefaultInputSlot in PPD\n" );
m_pDuplexTypes = getKey( String( RTL_CONSTASCII_USTRINGPARAM( "Duplex" ) ) );
if( m_pDuplexTypes )
m_pDefaultDuplexType = m_pDuplexTypes->getDefaultValue();
m_pFontList = getKey( String( RTL_CONSTASCII_USTRINGPARAM( "Font" ) ) );
DBG_ASSERT(
m_pFontList,
OSL_FORMAT(
"Warning: no Font in %s\n",
rtl::OUStringToOString(m_aFile, RTL_TEXTENCODING_UTF8).getStr()));
DBG_ASSERT( m_pFontList, "Warning: no Font in PPD\n" );
// fill in direct values
if( (pKey = getKey( String( RTL_CONSTASCII_USTRINGPARAM( "ModelName" ) ) )) )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment