diff options
author | Noel Grandin <noelgrandin@gmail.com> | 2017-08-21 07:14:58 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-08-21 10:30:14 +0200 |
commit | 25f65b23840a424991027067ae48d0a1de682380 (patch) | |
tree | f699118beae4c796d41d94c1fca27219893b6799 /sw | |
parent | 7766135f1ca11f942eb5b9ccc7828d55acfbe28f (diff) |
remove dead sw error codes
and inline some macros
Change-Id: Ida8db46bec4fcec46a779da0180fe3bf1a1af59d
Reviewed-on: https://gerrit.libreoffice.org/41375
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/inc/error.hrc | 49 | ||||
-rw-r--r-- | sw/inc/swerror.h | 81 | ||||
-rw-r--r-- | sw/source/filter/ascii/parasc.cxx | 2 | ||||
-rw-r--r-- | sw/source/filter/html/css1atr.cxx | 2 | ||||
-rw-r--r-- | sw/source/filter/html/htmlflywriter.cxx | 8 | ||||
-rw-r--r-- | sw/source/filter/html/htmlplug.cxx | 2 | ||||
-rw-r--r-- | sw/source/filter/html/wrthtml.cxx | 2 |
7 files changed, 48 insertions, 98 deletions
diff --git a/sw/inc/error.hrc b/sw/inc/error.hrc index c89b11abd505..77d6baa5ae64 100644 --- a/sw/inc/error.hrc +++ b/sw/inc/error.hrc @@ -25,47 +25,36 @@ #define NC_(Context, String) (Context "\004" u8##String) #define ERR_CODE( class, err ) ErrCode(class | (sal_uInt32(err) - ERRCODE_AREA_SW)) -#define WARN_CODE( class, err ) ErrCode(class | (sal_uInt32(err) - WARN_SW_BASE)) +#define WARN_CODE( class, err ) ErrCode(class | (sal_uInt32(err) - (ERRCODE_AREA_SW | ERRCODE_WARNING_MASK))) const ErrMsgCode RID_SW_ERRHDL[] = { // Import-Errors - { NC_("RID_SW_ERRHDL", "File format error found.") , ERR_CODE ( ERRCODE_CLASS_READ , ERR_SWG_FILE_FORMAT_ERROR ) }, - { NC_("RID_SW_ERRHDL", "Error reading file.") , ERR_CODE ( ERRCODE_CLASS_READ , ERR_SWG_READ_ERROR ) }, - { NC_("RID_SW_ERRHDL", "Input file error.") , ERR_CODE ( ERRCODE_CLASS_READ , ERR_SW6_INPUT_FILE ) }, - { NC_("RID_SW_ERRHDL", "This is not a %PRODUCTNAME Writer file.") , ERR_CODE ( ERRCODE_CLASS_READ , ERR_SW6_NOWRITER_FILE ) }, - { NC_("RID_SW_ERRHDL", "Unexpected end of file.") , ERR_CODE ( ERRCODE_CLASS_READ , ERR_SW6_UNEXPECTED_EOF ) }, - { NC_("RID_SW_ERRHDL", "Password-protected files cannot be opened.") , ERR_CODE ( ERRCODE_CLASS_READ , ERR_SW6_PASSWD ) }, - { NC_("RID_SW_ERRHDL", "This is not a valid WinWord6 file.") , ERR_CODE ( ERRCODE_CLASS_READ , ERR_WW6_NO_WW6_FILE_ERR ) }, - { NC_("RID_SW_ERRHDL", "This file was saved with WinWord in 'Fast Save' mode. Please unmark the WinWord option 'Allow Fast Saves' and save the file again.") , ERR_CODE ( ERRCODE_CLASS_READ , ERR_WW6_FASTSAVE_ERR ) }, - { NC_("RID_SW_ERRHDL", "File format error found at $(ARG1)(row,col).") , ERR_CODE ( ERRCODE_CLASS_READ , ERR_FORMAT_ROWCOL ) }, - { NC_("RID_SW_ERRHDL", "File has been written in a newer version.") , ERR_CODE ( ERRCODE_CLASS_READ , ERR_SWG_NEW_VERSION ) }, - { NC_("RID_SW_ERRHDL", "This is not a valid WinWord97 file."), ERR_CODE ( ERRCODE_CLASS_READ , ERR_WW8_NO_WW8_FILE_ERR ) }, - { NC_("RID_SW_ERRHDL", "Format error discovered in the file in sub-document $(ARG1) at $(ARG2)(row,col)."), ERR_CODE ( ERRCODE_CLASS_READ , ERR_FORMAT_FILE_ROWCOL ) }, + { NC_("RID_SW_ERRHDL", "File format error found.") , ERR_SWG_FILE_FORMAT_ERROR }, + { NC_("RID_SW_ERRHDL", "Error reading file.") , ERR_SWG_READ_ERROR }, + { NC_("RID_SW_ERRHDL", "This is not a valid WinWord6 file.") , ERR_WW6_NO_WW6_FILE_ERR }, + { NC_("RID_SW_ERRHDL", "File format error found at $(ARG1)(row,col).") , ERR_FORMAT_ROWCOL }, + { NC_("RID_SW_ERRHDL", "This is not a valid WinWord97 file."), ERR_WW8_NO_WW8_FILE_ERR }, + { NC_("RID_SW_ERRHDL", "Format error discovered in the file in sub-document $(ARG1) at $(ARG2)(row,col)."), ERR_FORMAT_FILE_ROWCOL }, // Export-Errors - { NC_("RID_SW_ERRHDL", "Error writing file.") , ERR_CODE ( ERRCODE_CLASS_WRITE , ERR_SWG_WRITE_ERROR ) }, - { NC_("RID_SW_ERRHDL", "Wrong AutoText document version.") , ERR_CODE ( ERRCODE_CLASS_WRITE , ERR_SWG_OLD_GLOSSARY ) }, - { NC_("RID_SW_ERRHDL", "Error in writing sub-document $(ARG1)."), ERR_CODE ( ERRCODE_CLASS_WRITE , ERR_WRITE_ERROR_FILE ) }, + { NC_("RID_SW_ERRHDL", "Error writing file.") , ERR_SWG_WRITE_ERROR }, + { NC_("RID_SW_ERRHDL", "Wrong AutoText document version.") , ERR_SWG_OLD_GLOSSARY }, + { NC_("RID_SW_ERRHDL", "Error in writing sub-document $(ARG1)."), ERR_WRITE_ERROR_FILE }, // Import-/Export-Errors { NC_("RID_SW_ERRHDL", "Internal error in %PRODUCTNAME Writer file format.") , ERR_CODE ( ERRCODE_CLASS_READ , ERR_SWG_INTERNAL_ERROR ) }, { NC_("RID_SW_ERRHDL", "Internal error in %PRODUCTNAME Writer file format.") , ERR_CODE ( ERRCODE_CLASS_WRITE , ERR_SWG_INTERNAL_ERROR ) }, - { NC_("RID_SW_ERRHDL", "$(ARG1) has changed.") , ERR_CODE ( ERRCODE_CLASS_LOCKING , ERR_TXTBLOCK_NEWFILE_ERROR ) }, - { NC_("RID_SW_ERRHDL", "$(ARG1) does not exist.") , ERR_CODE ( ERRCODE_CLASS_PATH , ERR_AUTOPATH_ERROR ) }, - { NC_("RID_SW_ERRHDL", "Cells cannot be further split.") , ERR_CODE ( ERRCODE_CLASS_NONE , ERR_TBLSPLIT_ERROR ) }, - { NC_("RID_SW_ERRHDL", "Additional columns cannot be inserted.") , ERR_CODE ( ERRCODE_CLASS_NONE , ERR_TBLINSCOL_ERROR ) }, - { NC_("RID_SW_ERRHDL", "The structure of a linked table cannot be modified.") , ERR_CODE ( ERRCODE_CLASS_NONE , ERR_TBLDDECHG_ERROR ) }, + { NC_("RID_SW_ERRHDL", "$(ARG1) has changed.") , ERR_TXTBLOCK_NEWFILE_ERROR }, + { NC_("RID_SW_ERRHDL", "$(ARG1) does not exist.") , ERR_AUTOPATH_ERROR }, + { NC_("RID_SW_ERRHDL", "Cells cannot be further split.") , ERR_TBLSPLIT_ERROR }, + { NC_("RID_SW_ERRHDL", "Additional columns cannot be inserted.") , ERR_TBLINSCOL_ERROR }, + { NC_("RID_SW_ERRHDL", "The structure of a linked table cannot be modified.") , ERR_TBLDDECHG_ERROR }, - { NC_("RID_SW_ERRHDL", "No drawings could be read.") , WARN_CODE ( ERRCODE_CLASS_READ , WARN_SWG_NO_DRAWINGS ) }, - { NC_("RID_SW_ERRHDL", "This file was saved with WinWord in 'Fast Save' mode. Please unmark the WinWord option 'Allow Fast Saves' and save the file again.") , WARN_CODE ( ERRCODE_CLASS_READ , WARN_WW6_FASTSAVE_ERR ) }, { NC_("RID_SW_ERRHDL", "Not all attributes could be read.") , WARN_CODE ( ERRCODE_CLASS_READ , WARN_SWG_FEATURES_LOST ) }, { NC_("RID_SW_ERRHDL", "Not all attributes could be recorded.") , WARN_CODE ( ERRCODE_CLASS_WRITE , WARN_SWG_FEATURES_LOST ) }, - { NC_("RID_SW_ERRHDL", "Some OLE objects could only be loaded as images.") , WARN_CODE ( ERRCODE_CLASS_READ , WARN_SWG_OLE ) }, - { NC_("RID_SW_ERRHDL", "Some OLE objects could only be saved as images.") , WARN_CODE ( ERRCODE_CLASS_WRITE , WARN_SWG_OLE ) }, - { NC_("RID_SW_ERRHDL", "Document could not be completely loaded.") , WARN_CODE ( ERRCODE_CLASS_READ , WARN_SWG_POOR_LOAD ) }, - { NC_("RID_SW_ERRHDL", "Document could not be completely saved.") , WARN_CODE ( ERRCODE_CLASS_WRITE , WARN_SWG_POOR_LOAD ) }, - { NC_("RID_SW_ERRHDL", "This HTML document contains %PRODUCTNAME Basic macros.\nThey were not saved with the current export settings."), WARN_CODE ( ERRCODE_CLASS_WRITE , WARN_SWG_HTML_NO_MACROS) }, - { NC_("RID_SW_ERRHDL", "Error in writing sub-document $(ARG1)."), ERR_CODE ( ERRCODE_CLASS_WRITE , WARN_WRITE_ERROR_FILE ) }, - { NC_("RID_SW_ERRHDL", "Format error discovered in the file in sub-document $(ARG1) at $(ARG2)(row,col)."), ERR_CODE ( ERRCODE_CLASS_WRITE , WARN_FORMAT_FILE_ROWCOL ) }, + { NC_("RID_SW_ERRHDL", "Document could not be completely saved.") , WARN_SWG_POOR_LOAD }, + { NC_("RID_SW_ERRHDL", "This HTML document contains %PRODUCTNAME Basic macros.\nThey were not saved with the current export settings."), WARN_SWG_HTML_NO_MACROS }, + { NC_("RID_SW_ERRHDL", "Error in writing sub-document $(ARG1)."), WARN_WRITE_ERROR_FILE }, + { NC_("RID_SW_ERRHDL", "Format error discovered in the file in sub-document $(ARG1) at $(ARG2)(row,col)."), WARN_FORMAT_FILE_ROWCOL }, { nullptr, ERRCODE_NONE } }; diff --git a/sw/inc/swerror.h b/sw/inc/swerror.h index 4ecd4ac21f56..a4094786be30 100644 --- a/sw/inc/swerror.h +++ b/sw/inc/swerror.h @@ -22,66 +22,27 @@ #include <vcl/errcode.hxx> -#define ERROR_SW_READ_BASE (ERRCODE_AREA_SW | ERRCODE_CLASS_READ) -#define ERROR_SW_WRITE_BASE (ERRCODE_AREA_SW | ERRCODE_CLASS_WRITE) - -#define WARN_SW_BASE (ERRCODE_AREA_SW | ERRCODE_WARNING_MASK) -#define WARN_SW_READ_BASE (WARN_SW_BASE | ERRCODE_CLASS_READ ) -#define WARN_SW_WRITE_BASE (WARN_SW_BASE | ERRCODE_CLASS_WRITE ) - - -// Import Errors -#define ERR_SWG_FILE_FORMAT_ERROR ErrCode(ERROR_SW_READ_BASE | 1 ) -#define ERR_SWG_READ_ERROR ErrCode(ERROR_SW_READ_BASE | 2 ) - -#define ERR_SW6_INPUT_FILE ErrCode(ERROR_SW_READ_BASE | 4 ) -#define ERR_SW6_NOWRITER_FILE ErrCode(ERROR_SW_READ_BASE | 5 ) -#define ERR_SW6_UNEXPECTED_EOF ErrCode(ERROR_SW_READ_BASE | 6 ) -#define ERR_SW6_PASSWD ErrCode(ERROR_SW_READ_BASE | 7 ) - -#define ERR_WW6_NO_WW6_FILE_ERR ErrCode(ERROR_SW_READ_BASE | 8 ) -#define ERR_WW6_FASTSAVE_ERR ErrCode(ERROR_SW_READ_BASE | 9 ) - -#define ERR_FORMAT_ROWCOL ErrCode(ERROR_SW_READ_BASE | 12) - -#define ERR_SWG_NEW_VERSION ErrCode(ERROR_SW_READ_BASE | 13) -#define ERR_WW8_NO_WW8_FILE_ERR ErrCode(ERROR_SW_READ_BASE | 14) - -#define ERR_FORMAT_FILE_ROWCOL ErrCode(ERROR_SW_READ_BASE | 15) - -// Export errors -#define ERR_SWG_WRITE_ERROR ErrCode(ERROR_SW_WRITE_BASE | 30 ) -#define ERR_SWG_OLD_GLOSSARY ErrCode(ERROR_SW_WRITE_BASE | 31 ) -#define ERR_WRITE_ERROR_FILE ErrCode(ERROR_SW_WRITE_BASE | 35 ) - -// Import/Export errors -#define ERR_SWG_INTERNAL_ERROR ErrCode(ERRCODE_AREA_SW | 50 ) - -#define ERR_TXTBLOCK_NEWFILE_ERROR ErrCode(ERRCODE_AREA_SW|ERRCODE_CLASS_LOCKING | 55 ) - -// other errors and errorclasses -#define ERR_AUTOPATH_ERROR ErrCode(ERRCODE_AREA_SW|ERRCODE_CLASS_PATH | 55 ) -#define ERR_TBLSPLIT_ERROR ErrCode(ERRCODE_AREA_SW|ERRCODE_CLASS_NONE| 56 ) -#define ERR_TBLINSCOL_ERROR ErrCode(ERRCODE_AREA_SW|ERRCODE_CLASS_NONE| 57 ) -#define ERR_TBLDDECHG_ERROR ErrCode(ERRCODE_AREA_SW|ERRCODE_CLASS_NONE| 58 ) - -// Import - Warnings -#define WARN_SWG_NO_DRAWINGS ErrCode(WARN_SW_READ_BASE | 70 ) -#define WARN_WW6_FASTSAVE_ERR ErrCode(WARN_SW_READ_BASE | 71 ) -// continued below - -// Import & Export - Warnings -#define WARN_SWG_FEATURES_LOST ErrCode(WARN_SW_BASE | 72 ) -#define WARN_SWG_OLE ErrCode(WARN_SW_BASE | 73 ) -#define WARN_SWG_POOR_LOAD (WARN_SW_BASE | 74 ) - -// Export warnings -#define WARN_SWG_HTML_NO_MACROS ErrCode(WARN_SW_WRITE_BASE |75) -#define WARN_WRITE_ERROR_FILE ErrCode(WARN_SW_WRITE_BASE |76) - -// More Import & Export - Warnings -#define WARN_FORMAT_FILE_ROWCOL ErrCode(WARN_SW_READ_BASE | 77) - +// Import & Export +#define ERR_SWG_FILE_FORMAT_ERROR ErrCode(ERRCODE_AREA_SW | ERRCODE_CLASS_READ | 1 ) +#define ERR_SWG_READ_ERROR ErrCode(ERRCODE_AREA_SW | ERRCODE_CLASS_READ | 2 ) +#define ERR_WW6_NO_WW6_FILE_ERR ErrCode(ERRCODE_AREA_SW | ERRCODE_CLASS_READ | 8 ) +#define ERR_FORMAT_ROWCOL ErrCode(ERRCODE_AREA_SW | ERRCODE_CLASS_READ | 12) +#define ERR_WW8_NO_WW8_FILE_ERR ErrCode(ERRCODE_AREA_SW | ERRCODE_CLASS_READ | 14) +#define ERR_FORMAT_FILE_ROWCOL ErrCode(ERRCODE_AREA_SW | ERRCODE_CLASS_READ | 15) +#define ERR_SWG_WRITE_ERROR ErrCode(ERRCODE_AREA_SW | ERRCODE_CLASS_WRITE | 30 ) +#define ERR_SWG_OLD_GLOSSARY ErrCode(ERRCODE_AREA_SW | ERRCODE_CLASS_WRITE | 31 ) +#define ERR_WRITE_ERROR_FILE ErrCode(ERRCODE_AREA_SW | ERRCODE_CLASS_WRITE | 35 ) +#define ERR_SWG_INTERNAL_ERROR ErrCode(ERRCODE_AREA_SW | 50 ) +#define ERR_TXTBLOCK_NEWFILE_ERROR ErrCode(ERRCODE_AREA_SW | ERRCODE_CLASS_LOCKING | 55 ) +#define ERR_AUTOPATH_ERROR ErrCode(ERRCODE_AREA_SW | ERRCODE_CLASS_PATH | 55 ) +#define ERR_TBLSPLIT_ERROR ErrCode(ERRCODE_AREA_SW | ERRCODE_CLASS_NONE | 56 ) +#define ERR_TBLINSCOL_ERROR ErrCode(ERRCODE_AREA_SW | ERRCODE_CLASS_NONE | 57 ) +#define ERR_TBLDDECHG_ERROR ErrCode(ERRCODE_AREA_SW | ERRCODE_CLASS_NONE | 58 ) +#define WARN_SWG_FEATURES_LOST ErrCode(ERRCODE_AREA_SW | ERRCODE_WARNING_MASK | 72 ) +#define WARN_SWG_POOR_LOAD ErrCode(ERRCODE_AREA_SW | ERRCODE_WARNING_MASK | ERRCODE_CLASS_WRITE | 74 ) +#define WARN_SWG_HTML_NO_MACROS ErrCode(ERRCODE_AREA_SW | ERRCODE_WARNING_MASK | ERRCODE_CLASS_WRITE | 75) +#define WARN_WRITE_ERROR_FILE ErrCode(ERRCODE_AREA_SW | ERRCODE_WARNING_MASK | ERRCODE_CLASS_WRITE | 76) +#define WARN_FORMAT_FILE_ROWCOL ErrCode(ERRCODE_AREA_SW | ERRCODE_WARNING_MASK | ERRCODE_CLASS_READ | 77) #endif diff --git a/sw/source/filter/ascii/parasc.cxx b/sw/source/filter/ascii/parasc.cxx index 9ae7f924fb19..8aa20bea92aa 100644 --- a/sw/source/filter/ascii/parasc.cxx +++ b/sw/source/filter/ascii/parasc.cxx @@ -284,7 +284,7 @@ ErrCode SwASCIIParser::ReadChars() hConverter = rtl_createTextToUnicodeConverter( currentCharSet ); OSL_ENSURE( hConverter, "no string convert available" ); if (!hConverter) - return ErrCode(ERROR_SW_READ_BASE); + return ErrCode(ERRCODE_AREA_SW | ERRCODE_CLASS_READ); bSwapUnicode = false; hContext = rtl_createTextToUnicodeContext( hConverter ); } diff --git a/sw/source/filter/html/css1atr.cxx b/sw/source/filter/html/css1atr.cxx index 78ed4b2b7850..f49cdbb50066 100644 --- a/sw/source/filter/html/css1atr.cxx +++ b/sw/source/filter/html/css1atr.cxx @@ -3158,7 +3158,7 @@ static Writer& OutCSS1_SvxBrush( Writer& rWrt, const SfxPoolItem& rHt, { if( !XOutBitmap::GraphicToBase64(*pGrf, aGraphicInBase64) ) { - rHTMLWrt.m_nWarn = ErrCode(WARN_SWG_POOR_LOAD | WARN_SW_WRITE_BASE); + rHTMLWrt.m_nWarn = WARN_SWG_POOR_LOAD; } } aLink.clear(); diff --git a/sw/source/filter/html/htmlflywriter.cxx b/sw/source/filter/html/htmlflywriter.cxx index 74e74ec201e5..46d48f52bd14 100644 --- a/sw/source/filter/html/htmlflywriter.cxx +++ b/sw/source/filter/html/htmlflywriter.cxx @@ -1370,7 +1370,7 @@ Writer& OutHTML_Image( Writer& rWrt, const SwFrameFormat &rFrameFormat, aHtml.attribute(OOO_STRING_SVTOOLS_HTML_O_src, sBuffer.makeStringAndClear().getStr()); } else - rHTMLWrt.m_nWarn = ErrCode(WARN_SWG_POOR_LOAD | WARN_SW_WRITE_BASE); + rHTMLWrt.m_nWarn = WARN_SWG_POOR_LOAD; } else { @@ -1439,7 +1439,7 @@ Writer& OutHTML_BulletImage( Writer& rWrt, { if( !XOutBitmap::GraphicToBase64(*pGrf, aGraphicInBase64) ) { - rHTMLWrt.m_nWarn = ErrCode(WARN_SWG_POOR_LOAD | WARN_SW_WRITE_BASE); + rHTMLWrt.m_nWarn = WARN_SWG_POOR_LOAD; } } } @@ -1732,7 +1732,7 @@ static Writer & OutHTML_FrameFormatAsImage( Writer& rWrt, const SwFrameFormat& r XOutFlags::UseNativeIfPossible) ) != ERRCODE_NONE ) { // empty or incorrect, because there is nothing to output - rHTMLWrt.m_nWarn = ErrCode(WARN_SWG_POOR_LOAD | WARN_SW_WRITE_BASE); + rHTMLWrt.m_nWarn = WARN_SWG_POOR_LOAD; return rWrt; } @@ -1801,7 +1801,7 @@ static Writer& OutHTML_FrameFormatGrfNode( Writer& rWrt, const SwFrameFormat& rF "JPG", nFlags, &aMM100Size ); if( nErr ) { - rHTMLWrt.m_nWarn = ErrCode(WARN_SWG_POOR_LOAD | WARN_SW_WRITE_BASE); + rHTMLWrt.m_nWarn = WARN_SWG_POOR_LOAD; return rWrt; } aGraphicURL = URIHelper::SmartRel2Abs( diff --git a/sw/source/filter/html/htmlplug.cxx b/sw/source/filter/html/htmlplug.cxx index 62735d555e71..2eb47a1374dd 100644 --- a/sw/source/filter/html/htmlplug.cxx +++ b/sw/source/filter/html/htmlplug.cxx @@ -1314,7 +1314,7 @@ Writer& OutHTML_FrameFormatOLENodeGrf( Writer& rWrt, const SwFrameFormat& rFrame XOutFlags::UseNativeIfPossible) ); if( nErr ) // error, don't write anything { - rHTMLWrt.m_nWarn = ErrCode(WARN_SWG_POOR_LOAD | WARN_SW_WRITE_BASE); + rHTMLWrt.m_nWarn = WARN_SWG_POOR_LOAD; return rWrt; } aGraphicURL = URIHelper::SmartRel2Abs( diff --git a/sw/source/filter/html/wrthtml.cxx b/sw/source/filter/html/wrthtml.cxx index bc5759fb030d..eaf106ade3cf 100644 --- a/sw/source/filter/html/wrthtml.cxx +++ b/sw/source/filter/html/wrthtml.cxx @@ -1223,7 +1223,7 @@ void SwHTMLWriter::OutBackground( const SvxBrushItem *pBrushItem, bool bGraphic { if( !XOutBitmap::GraphicToBase64(*pGrf, aGraphicInBase64) ) { - m_nWarn = ErrCode(WARN_SWG_POOR_LOAD | WARN_SW_WRITE_BASE); + m_nWarn = WARN_SWG_POOR_LOAD; } Strm().WriteCharPtr( " " OOO_STRING_SVTOOLS_HTML_O_background "=\"" ); Strm().WriteCharPtr( OOO_STRING_SVTOOLS_HTML_O_data ":" ); |