Reduced tools/string usage further
This commit is contained in:
@@ -71,7 +71,7 @@ public:
|
|||||||
rtl::OString const GetQuickHelpText() const { return aQuickHelpText; }
|
rtl::OString const GetQuickHelpText() const { return aQuickHelpText; }
|
||||||
rtl::OString const GetTitle() const { return aTitle; }
|
rtl::OString const GetTitle() const { return aTitle; }
|
||||||
|
|
||||||
void SetUText( String &aNew ) { aText = rtl::OUStringToOString(aNew, RTL_TEXTENCODING_UTF8); ReassembleLine(); }
|
void SetUText( rtl::OUString const &aNew ) { aText = rtl::OUStringToOString(aNew, RTL_TEXTENCODING_UTF8); ReassembleLine(); }
|
||||||
void SetText( rtl::OString const &aNew ) { aText = aNew; ReassembleLine(); }
|
void SetText( rtl::OString const &aNew ) { aText = aNew; ReassembleLine(); }
|
||||||
void SetQuickHelpText( rtl::OString const &aNew ) { aQuickHelpText = aNew; ReassembleLine(); }
|
void SetQuickHelpText( rtl::OString const &aNew ) { aQuickHelpText = aNew; ReassembleLine(); }
|
||||||
void SetTitle( rtl::OString const &aNew ) { aTitle = aNew; ReassembleLine(); }
|
void SetTitle( rtl::OString const &aNew ) { aTitle = aNew; ReassembleLine(); }
|
||||||
@@ -109,7 +109,7 @@ private:
|
|||||||
|
|
||||||
sal_Bool bHasBlockError;
|
sal_Bool bHasBlockError;
|
||||||
|
|
||||||
sal_Bool IsUTF8( const rtl::OString &aTestee, sal_Bool bFixTags, sal_uInt16 &nErrorPos, rtl::OString &aErrorMsg, sal_Bool &bHasBeenFixed, rtl::OString &aFixed ) const;
|
sal_Bool IsUTF8( const rtl::OString &aTestee, sal_Bool bFixTags, sal_Int32 &nErrorPos, rtl::OString &aErrorMsg, sal_Bool &bHasBeenFixed, rtl::OString &aFixed ) const;
|
||||||
sal_Bool TestUTF8( GSILine* pTestee, sal_Bool bFixTags );
|
sal_Bool TestUTF8( GSILine* pTestee, sal_Bool bFixTags );
|
||||||
sal_Bool HasSuspiciousChars( GSILine* pTestee, GSILine* pSource );
|
sal_Bool HasSuspiciousChars( GSILine* pTestee, GSILine* pSource );
|
||||||
|
|
||||||
|
@@ -29,7 +29,6 @@
|
|||||||
#ifndef _TAGTEST_HXX_
|
#ifndef _TAGTEST_HXX_
|
||||||
#define _TAGTEST_HXX_
|
#define _TAGTEST_HXX_
|
||||||
|
|
||||||
#include <tools/string.hxx>
|
|
||||||
#include <boost/unordered_map.hpp>
|
#include <boost/unordered_map.hpp>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
@@ -44,14 +43,14 @@ typedef ::std::vector< ParserMessage* > Impl_ParserMessageList;
|
|||||||
|
|
||||||
class ParserMessageList;
|
class ParserMessageList;
|
||||||
|
|
||||||
typedef boost::unordered_map<rtl::OString, String, rtl::OStringHash> StringHashMap;
|
typedef boost::unordered_map<rtl::OString, rtl::OUString, rtl::OStringHash> StringHashMap;
|
||||||
|
|
||||||
class TokenInfo
|
class TokenInfo
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
void SplitTag( ParserMessageList &rErrorList );
|
void SplitTag( ParserMessageList &rErrorList );
|
||||||
|
|
||||||
String aTagName;
|
rtl::OUString aTagName;
|
||||||
StringHashMap aProperties;
|
StringHashMap aProperties;
|
||||||
sal_Bool bClosed; // tag is closed <sdnf/>
|
sal_Bool bClosed; // tag is closed <sdnf/>
|
||||||
sal_Bool bCloseTag; // tag is close Tag </sdnf>
|
sal_Bool bCloseTag; // tag is close Tag </sdnf>
|
||||||
@@ -63,29 +62,29 @@ private:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
String aTokenString;
|
rtl::OUString aTokenString;
|
||||||
TokenId nId;
|
TokenId nId;
|
||||||
sal_uInt16 nPos; // Position in String
|
sal_uInt16 nPos; // Position in String
|
||||||
|
|
||||||
TokenInfo():bClosed(sal_False),bCloseTag(sal_False),bIsBroken(sal_False),bHasBeenFixed(sal_False),bDone(sal_False),nId( 0 ){;}
|
TokenInfo():bClosed(sal_False),bCloseTag(sal_False),bIsBroken(sal_False),bHasBeenFixed(sal_False),bDone(sal_False),nId( 0 ){;}
|
||||||
explicit TokenInfo( TokenId pnId, sal_uInt16 nP ):bClosed(sal_False),bCloseTag(sal_False),bIsBroken(sal_False),bHasBeenFixed(sal_False),bDone(sal_False),nId( pnId ),nPos(nP){;}
|
explicit TokenInfo( TokenId pnId, sal_uInt16 nP ):bClosed(sal_False),bCloseTag(sal_False),bIsBroken(sal_False),bHasBeenFixed(sal_False),bDone(sal_False),nId( pnId ),nPos(nP){;}
|
||||||
explicit TokenInfo( TokenId pnId, sal_uInt16 nP, String paStr ):bClosed(sal_False),bCloseTag(sal_False),bIsBroken(sal_False),bHasBeenFixed(sal_False),bDone(sal_False),aTokenString( paStr ),nId( pnId ),nPos(nP) {;}
|
explicit TokenInfo( TokenId pnId, sal_uInt16 nP, rtl::OUString const & paStr ):bClosed(sal_False),bCloseTag(sal_False),bIsBroken(sal_False),bHasBeenFixed(sal_False),bDone(sal_False),aTokenString( paStr ),nId( pnId ),nPos(nP) {;}
|
||||||
explicit TokenInfo( TokenId pnId, sal_uInt16 nP, String paStr, ParserMessageList &rErrorList );
|
explicit TokenInfo( TokenId pnId, sal_uInt16 nP, rtl::OUString const & paStr, ParserMessageList &rErrorList );
|
||||||
|
|
||||||
String GetTagName() const;
|
rtl::OUString GetTagName() const;
|
||||||
|
|
||||||
String MakeTag() const;
|
rtl::OUString MakeTag() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Is the property to be ignored or does it have the default value anyways
|
Is the property to be ignored or does it have the default value anyways
|
||||||
**/
|
**/
|
||||||
sal_Bool IsPropertyRelevant( const rtl::OString &rName, const String &rValue ) const;
|
sal_Bool IsPropertyRelevant( const rtl::OString &rName, const rtl::OUString &rValue ) const;
|
||||||
sal_Bool IsPropertyValueValid( const rtl::OString &rName, const String &rValue ) const;
|
sal_Bool IsPropertyValueValid( const rtl::OString &rName, const rtl::OUString &rValue ) const;
|
||||||
/**
|
/**
|
||||||
Does the property contain the same value for all languages
|
Does the property contain the same value for all languages
|
||||||
e.g.: the href in a link tag
|
e.g.: the href in a link tag
|
||||||
**/
|
**/
|
||||||
sal_Bool IsPropertyInvariant( const rtl::OString &rName, const String &rValue ) const;
|
sal_Bool IsPropertyInvariant( const rtl::OString &rName, const rtl::OUString &rValue ) const;
|
||||||
/**
|
/**
|
||||||
a subset of IsPropertyInvariant but containing only those that are fixable
|
a subset of IsPropertyInvariant but containing only those that are fixable
|
||||||
we dont wat to fix e.g.: ahelp :: visibility
|
we dont wat to fix e.g.: ahelp :: visibility
|
||||||
@@ -284,19 +283,19 @@ class SimpleParser
|
|||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
sal_uInt16 nPos;
|
sal_uInt16 nPos;
|
||||||
String aSource;
|
rtl::OUString aSource;
|
||||||
String aLastToken;
|
rtl::OUString aLastToken;
|
||||||
TokenList aTokenList;
|
TokenList aTokenList;
|
||||||
|
|
||||||
TokenInfo aNextTag; // to store closetag in case of combined tags like <br/>
|
TokenInfo aNextTag; // to store closetag in case of combined tags like <br/>
|
||||||
|
|
||||||
String GetNextTokenString( ParserMessageList &rErrorList, sal_uInt16 &rTokeStartPos );
|
rtl::OUString GetNextTokenString( ParserMessageList &rErrorList, sal_uInt16 &rTokeStartPos );
|
||||||
|
|
||||||
public:
|
public:
|
||||||
SimpleParser();
|
SimpleParser();
|
||||||
void Parse( String PaSource );
|
void Parse( rtl::OUString const & PaSource );
|
||||||
TokenInfo GetNextToken( ParserMessageList &rErrorList );
|
TokenInfo GetNextToken( ParserMessageList &rErrorList );
|
||||||
static String GetLexem( TokenInfo const &aToken );
|
static rtl::OUString GetLexem( TokenInfo const &aToken );
|
||||||
TokenList& GetTokenList(){ return aTokenList; }
|
TokenList& GetTokenList(){ return aTokenList; }
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -328,7 +327,7 @@ class TokenParser
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
TokenParser();
|
TokenParser();
|
||||||
void Parse( const String &aCode, ParserMessageList* pList );
|
void Parse( const rtl::OUString &aCode, ParserMessageList* pList );
|
||||||
TokenList& GetTokenList(){ return aParser.GetTokenList(); }
|
TokenList& GetTokenList(){ return aParser.GetTokenList(); }
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -340,7 +339,7 @@ private:
|
|||||||
ParserMessageList aCompareWarningList;
|
ParserMessageList aCompareWarningList;
|
||||||
void CheckTags( TokenList &aReference, TokenList &aTestee, sal_Bool bFixTags );
|
void CheckTags( TokenList &aReference, TokenList &aTestee, sal_Bool bFixTags );
|
||||||
sal_Bool IsTagMandatory( TokenInfo const &aToken, TokenId &aMetaTokens );
|
sal_Bool IsTagMandatory( TokenInfo const &aToken, TokenId &aMetaTokens );
|
||||||
String aFixedTestee;
|
rtl::OUString aFixedTestee;
|
||||||
public:
|
public:
|
||||||
void CheckReference( GSILine *aReference );
|
void CheckReference( GSILine *aReference );
|
||||||
void CheckTestee( GSILine *aTestee, sal_Bool bHasSourceLine, sal_Bool bFixTags );
|
void CheckTestee( GSILine *aTestee, sal_Bool bHasSourceLine, sal_Bool bFixTags );
|
||||||
@@ -348,7 +347,7 @@ public:
|
|||||||
ParserMessageList& GetCompareWarnings(){ return aCompareWarningList; }
|
ParserMessageList& GetCompareWarnings(){ return aCompareWarningList; }
|
||||||
sal_Bool HasCompareWarnings(){ return ( !aCompareWarningList.empty() ); }
|
sal_Bool HasCompareWarnings(){ return ( !aCompareWarningList.empty() ); }
|
||||||
|
|
||||||
String GetFixedTestee(){ return aFixedTestee; }
|
rtl::OUString GetFixedTestee(){ return aFixedTestee; }
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -33,7 +33,6 @@
|
|||||||
#include <expat.h>
|
#include <expat.h>
|
||||||
#include <rtl/ustring.hxx>
|
#include <rtl/ustring.hxx>
|
||||||
#include <rtl/ustrbuf.hxx>
|
#include <rtl/ustrbuf.hxx>
|
||||||
#include <tools/string.hxx>
|
|
||||||
#include <tools/stream.hxx>
|
#include <tools/stream.hxx>
|
||||||
#include "export.hxx"
|
#include "export.hxx"
|
||||||
#include "xmlutil.hxx"
|
#include "xmlutil.hxx"
|
||||||
@@ -224,23 +223,20 @@ public:
|
|||||||
virtual sal_uInt16 GetNodeType();
|
virtual sal_uInt16 GetNodeType();
|
||||||
|
|
||||||
/// returns file name
|
/// returns file name
|
||||||
const String &GetName() { return sFileName; }
|
rtl::OUString GetName() { return sFileName; }
|
||||||
void SetName( const String &rFilename ) { sFileName = rFilename; }
|
void SetName( const rtl::OUString &rFilename ) { sFileName = rFilename; }
|
||||||
void SetFullName( const String &rFullFilename ) { sFullName = rFullFilename; }
|
void SetFullName( const rtl::OUString &rFullFilename ) { sFullName = rFullFilename; }
|
||||||
const std::vector<rtl::OString> getOrder(){ return order; }
|
const std::vector<rtl::OString> getOrder(){ return order; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// writes a string as UTF8 with dos line ends to a given stream
|
// writes a string as UTF8 with dos line ends to a given stream
|
||||||
void WriteString( ofstream &rStream, const String &sString );
|
void WriteString( ofstream &rStream, const rtl::OUString &sString );
|
||||||
|
|
||||||
// quotes the given text for writing to a file
|
|
||||||
void QuotHTML( String &rString );
|
|
||||||
|
|
||||||
void InsertL10NElement( XMLElement* pElement);
|
void InsertL10NElement( XMLElement* pElement);
|
||||||
|
|
||||||
// DATA
|
// DATA
|
||||||
String sFileName;
|
rtl::OUString sFileName;
|
||||||
String sFullName;
|
rtl::OUString sFullName;
|
||||||
|
|
||||||
const rtl::OString ID, OLDREF, XML_LANG;
|
const rtl::OString ID, OLDREF, XML_LANG;
|
||||||
|
|
||||||
@@ -256,13 +252,10 @@ class XMLUtil{
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
/// Quot the XML characters and replace \n \t
|
/// Quot the XML characters and replace \n \t
|
||||||
static void QuotHTML( String &rString );
|
static void QuotHTML( rtl::OUString &rString );
|
||||||
|
|
||||||
/// UnQuot the XML characters and restore \n \t
|
/// UnQuot the XML characters and restore \n \t
|
||||||
static void UnQuotHTML ( String &rString );
|
static void UnQuotHTML ( rtl::OUString &rString );
|
||||||
private:
|
|
||||||
static void UnQuotData( String &rString );
|
|
||||||
static void UnQuotTags( String &rString );
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -274,7 +267,7 @@ private:
|
|||||||
class XMLElement : public XMLParentNode
|
class XMLElement : public XMLParentNode
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
String sElementName;
|
rtl::OUString sElementName;
|
||||||
XMLAttributeList *pAttributes;
|
XMLAttributeList *pAttributes;
|
||||||
rtl::OString project,
|
rtl::OString project,
|
||||||
filename,
|
filename,
|
||||||
@@ -290,7 +283,7 @@ public:
|
|||||||
/// create a element node
|
/// create a element node
|
||||||
XMLElement(){}
|
XMLElement(){}
|
||||||
XMLElement(
|
XMLElement(
|
||||||
const String &rName, // the element name
|
const rtl::OUString &rName, // the element name
|
||||||
XMLParentNode *Parent // parent node of this element
|
XMLParentNode *Parent // parent node of this element
|
||||||
): XMLParentNode( Parent ),
|
): XMLParentNode( Parent ),
|
||||||
sElementName( rName ),
|
sElementName( rName ),
|
||||||
@@ -312,15 +305,15 @@ public:
|
|||||||
virtual sal_uInt16 GetNodeType();
|
virtual sal_uInt16 GetNodeType();
|
||||||
|
|
||||||
/// returns element name
|
/// returns element name
|
||||||
const String &GetName() { return sElementName; }
|
rtl::OUString GetName() { return sElementName; }
|
||||||
|
|
||||||
/// returns list of attributes of this element
|
/// returns list of attributes of this element
|
||||||
XMLAttributeList *GetAttributeList() { return pAttributes; }
|
XMLAttributeList *GetAttributeList() { return pAttributes; }
|
||||||
|
|
||||||
/// adds a new attribute to this element, typically used by parser
|
/// adds a new attribute to this element, typically used by parser
|
||||||
void AddAttribute( const String &rAttribute, const String &rValue );
|
void AddAttribute( const rtl::OUString &rAttribute, const rtl::OUString &rValue );
|
||||||
|
|
||||||
void ChangeLanguageTag( const String &rValue );
|
void ChangeLanguageTag( const rtl::OUString &rValue );
|
||||||
// Return a ASCII String representation of this object
|
// Return a ASCII String representation of this object
|
||||||
OString ToOString();
|
OString ToOString();
|
||||||
|
|
||||||
@@ -359,18 +352,18 @@ public:
|
|||||||
class XMLData : public XMLChildNode
|
class XMLData : public XMLChildNode
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
String sData;
|
rtl::OUString sData;
|
||||||
bool isNewCreated;
|
bool isNewCreated;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/// create a data node
|
/// create a data node
|
||||||
XMLData(
|
XMLData(
|
||||||
const String &rData, // the initial data
|
const rtl::OUString &rData, // the initial data
|
||||||
XMLParentNode *Parent // the parent node of this data, typically a element node
|
XMLParentNode *Parent // the parent node of this data, typically a element node
|
||||||
)
|
)
|
||||||
: XMLChildNode( Parent ), sData( rData ) , isNewCreated ( false ){}
|
: XMLChildNode( Parent ), sData( rData ) , isNewCreated ( false ){}
|
||||||
XMLData(
|
XMLData(
|
||||||
const String &rData, // the initial data
|
const rtl::OUString &rData, // the initial data
|
||||||
XMLParentNode *Parent, // the parent node of this data, typically a element node
|
XMLParentNode *Parent, // the parent node of this data, typically a element node
|
||||||
bool newCreated
|
bool newCreated
|
||||||
)
|
)
|
||||||
@@ -382,12 +375,12 @@ public:
|
|||||||
virtual sal_uInt16 GetNodeType();
|
virtual sal_uInt16 GetNodeType();
|
||||||
|
|
||||||
/// returns the data
|
/// returns the data
|
||||||
const String &GetData() { return sData; }
|
rtl::OUString GetData() { return sData; }
|
||||||
|
|
||||||
bool isNew() { return isNewCreated; }
|
bool isNew() { return isNewCreated; }
|
||||||
/// adds new character data to the existing one
|
/// adds new character data to the existing one
|
||||||
void AddData(
|
void AddData(
|
||||||
const String &rData // the new data
|
const rtl::OUString &rData // the new data
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
@@ -401,12 +394,12 @@ public:
|
|||||||
class XMLComment : public XMLChildNode
|
class XMLComment : public XMLChildNode
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
String sComment;
|
rtl::OUString sComment;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/// create a comment node
|
/// create a comment node
|
||||||
XMLComment(
|
XMLComment(
|
||||||
const String &rComment, // the comment
|
const rtl::OUString &rComment, // the comment
|
||||||
XMLParentNode *Parent // the parent node of this comemnt, typically a element node
|
XMLParentNode *Parent // the parent node of this comemnt, typically a element node
|
||||||
)
|
)
|
||||||
: XMLChildNode( Parent ), sComment( rComment ) {}
|
: XMLChildNode( Parent ), sComment( rComment ) {}
|
||||||
@@ -418,7 +411,7 @@ public:
|
|||||||
XMLComment& operator=(const XMLComment& obj);
|
XMLComment& operator=(const XMLComment& obj);
|
||||||
|
|
||||||
/// returns the comment
|
/// returns the comment
|
||||||
const String &GetComment() { return sComment; }
|
rtl::OUString GetComment() { return sComment; }
|
||||||
};
|
};
|
||||||
|
|
||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
@@ -428,12 +421,12 @@ public:
|
|||||||
class XMLDefault : public XMLChildNode
|
class XMLDefault : public XMLChildNode
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
String sDefault;
|
rtl::OUString sDefault;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/// create a comment node
|
/// create a comment node
|
||||||
XMLDefault(
|
XMLDefault(
|
||||||
const String &rDefault, // the comment
|
const rtl::OUString &rDefault, // the comment
|
||||||
XMLParentNode *Parent // the parent node of this comemnt, typically a element node
|
XMLParentNode *Parent // the parent node of this comemnt, typically a element node
|
||||||
)
|
)
|
||||||
: XMLChildNode( Parent ), sDefault( rDefault ) {}
|
: XMLChildNode( Parent ), sDefault( rDefault ) {}
|
||||||
@@ -446,7 +439,7 @@ public:
|
|||||||
virtual sal_uInt16 GetNodeType();
|
virtual sal_uInt16 GetNodeType();
|
||||||
|
|
||||||
/// returns the comment
|
/// returns the comment
|
||||||
const String &GetDefault() { return sDefault; }
|
rtl::OUString GetDefault() { return sDefault; }
|
||||||
};
|
};
|
||||||
|
|
||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
@@ -457,7 +450,7 @@ struct XMLError {
|
|||||||
XML_Error eCode; // the error code
|
XML_Error eCode; // the error code
|
||||||
sal_uLong nLine; // error line number
|
sal_uLong nLine; // error line number
|
||||||
sal_uLong nColumn; // error column number
|
sal_uLong nColumn; // error column number
|
||||||
String sMessage; // readable error message
|
rtl::OUString sMessage; // readable error message
|
||||||
};
|
};
|
||||||
|
|
||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
@@ -498,8 +491,8 @@ public:
|
|||||||
|
|
||||||
/// parse a file, returns NULL on criticall errors
|
/// parse a file, returns NULL on criticall errors
|
||||||
XMLFile *Execute(
|
XMLFile *Execute(
|
||||||
const String &rFullFileName,
|
const rtl::OUString &rFullFileName,
|
||||||
const String &rFileName, // the file name
|
const rtl::OUString &rFileName, // the file name
|
||||||
XMLFile *pXMLFileIn // the XMLFile
|
XMLFile *pXMLFileIn // the XMLFile
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@@ -26,9 +26,6 @@
|
|||||||
*
|
*
|
||||||
************************************************************************/
|
************************************************************************/
|
||||||
|
|
||||||
// global includes
|
|
||||||
#include <tools/string.hxx>
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// XRMResParser
|
// XRMResParser
|
||||||
//
|
//
|
||||||
@@ -36,42 +33,42 @@
|
|||||||
class XRMResParser
|
class XRMResParser
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
ByteString sGID;
|
rtl::OString sGID;
|
||||||
ByteString sLID;
|
rtl::OString sLID;
|
||||||
|
|
||||||
sal_Bool bError;
|
sal_Bool bError;
|
||||||
sal_Bool bText;
|
sal_Bool bText;
|
||||||
|
|
||||||
bool sLocalized;
|
bool sLocalized;
|
||||||
|
|
||||||
ByteString sCurrentOpenTag;
|
rtl::OString sCurrentOpenTag;
|
||||||
ByteString sCurrentCloseTag;
|
rtl::OString sCurrentCloseTag;
|
||||||
ByteString sCurrentText;
|
rtl::OString sCurrentText;
|
||||||
std::vector<rtl::OString> aLanguages;
|
std::vector<rtl::OString> aLanguages;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
ByteString GetAttribute( const ByteString &rToken, const ByteString &rAttribute );
|
rtl::OString GetAttribute( const rtl::OString &rToken, const rtl::OString &rAttribute );
|
||||||
void Error( const ByteString &rError );
|
void Error( const rtl::OString &rError );
|
||||||
|
|
||||||
virtual void Output( const ByteString& rOutput )=0;
|
virtual void Output( const rtl::OString& rOutput )=0;
|
||||||
virtual void WorkOnDesc(
|
virtual void WorkOnDesc(
|
||||||
const ByteString &rOpenTag,
|
const rtl::OString &rOpenTag,
|
||||||
ByteString &rText
|
rtl::OString &rText
|
||||||
)=0;
|
)=0;
|
||||||
virtual void WorkOnText(
|
virtual void WorkOnText(
|
||||||
const ByteString &rOpenTag,
|
const rtl::OString &rOpenTag,
|
||||||
ByteString &rText
|
rtl::OString &rText
|
||||||
)=0;
|
)=0;
|
||||||
virtual void EndOfText(
|
virtual void EndOfText(
|
||||||
const ByteString &rOpenTag,
|
const rtl::OString &rOpenTag,
|
||||||
const ByteString &rCloseTag
|
const rtl::OString &rCloseTag
|
||||||
)=0;
|
)=0;
|
||||||
|
|
||||||
ByteString GetGID() { return sGID; }
|
rtl::OString GetGID() { return sGID; }
|
||||||
ByteString GetLID() { return sLID; }
|
rtl::OString GetLID() { return sLID; }
|
||||||
|
|
||||||
void ConvertStringToDBFormat( ByteString &rString );
|
void ConvertStringToDBFormat( rtl::OString &rString );
|
||||||
void ConvertStringToXMLFormat( ByteString &rString );
|
void ConvertStringToXMLFormat( rtl::OString &rString );
|
||||||
|
|
||||||
public:
|
public:
|
||||||
XRMResParser();
|
XRMResParser();
|
||||||
@@ -94,7 +91,7 @@ private:
|
|||||||
protected:
|
protected:
|
||||||
SvFileStream *pOutputStream;
|
SvFileStream *pOutputStream;
|
||||||
public:
|
public:
|
||||||
XRMResOutputParser ( const ByteString &rOutputFile );
|
XRMResOutputParser ( const rtl::OString &rOutputFile );
|
||||||
virtual ~XRMResOutputParser();
|
virtual ~XRMResOutputParser();
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -106,30 +103,30 @@ class XRMResExport : public XRMResOutputParser
|
|||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
ResData *pResData;
|
ResData *pResData;
|
||||||
ByteString sPrj;
|
rtl::OString sPrj;
|
||||||
ByteString sPath;
|
rtl::OString sPath;
|
||||||
std::vector<rtl::OString> aLanguages;
|
std::vector<rtl::OString> aLanguages;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void WorkOnDesc(
|
void WorkOnDesc(
|
||||||
const ByteString &rOpenTag,
|
const rtl::OString &rOpenTag,
|
||||||
ByteString &rText
|
rtl::OString &rText
|
||||||
);
|
);
|
||||||
void WorkOnText(
|
void WorkOnText(
|
||||||
const ByteString &rOpenTag,
|
const rtl::OString &rOpenTag,
|
||||||
ByteString &rText
|
rtl::OString &rText
|
||||||
);
|
);
|
||||||
void EndOfText(
|
void EndOfText(
|
||||||
const ByteString &rOpenTag,
|
const rtl::OString &rOpenTag,
|
||||||
const ByteString &rCloseTag
|
const rtl::OString &rCloseTag
|
||||||
);
|
);
|
||||||
void Output( const ByteString& rOutput );
|
void Output( const rtl::OString& rOutput );
|
||||||
|
|
||||||
public:
|
public:
|
||||||
XRMResExport(
|
XRMResExport(
|
||||||
const ByteString &rOutputFile,
|
const rtl::OString &rOutputFile,
|
||||||
const ByteString &rProject,
|
const rtl::OString &rProject,
|
||||||
const ByteString &rFilePath
|
const rtl::OString &rFilePath
|
||||||
);
|
);
|
||||||
virtual ~XRMResExport();
|
virtual ~XRMResExport();
|
||||||
};
|
};
|
||||||
@@ -142,29 +139,29 @@ class XRMResMerge : public XRMResOutputParser
|
|||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
MergeDataFile *pMergeDataFile;
|
MergeDataFile *pMergeDataFile;
|
||||||
ByteString sFilename;
|
rtl::OString sFilename;
|
||||||
ResData *pResData;
|
ResData *pResData;
|
||||||
std::vector<rtl::OString> aLanguages;
|
std::vector<rtl::OString> aLanguages;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void WorkOnDesc(
|
void WorkOnDesc(
|
||||||
const ByteString &rOpenTag,
|
const rtl::OString &rOpenTag,
|
||||||
ByteString &rText
|
rtl::OString &rText
|
||||||
);
|
);
|
||||||
void WorkOnText(
|
void WorkOnText(
|
||||||
const ByteString &rOpenTag,
|
const rtl::OString &rOpenTag,
|
||||||
ByteString &rText
|
rtl::OString &rText
|
||||||
);
|
);
|
||||||
void EndOfText(
|
void EndOfText(
|
||||||
const ByteString &rOpenTag,
|
const rtl::OString &rOpenTag,
|
||||||
const ByteString &rCloseTag
|
const rtl::OString &rCloseTag
|
||||||
);
|
);
|
||||||
void Output( const ByteString& rOutput );
|
void Output( const rtl::OString& rOutput );
|
||||||
public:
|
public:
|
||||||
XRMResMerge(
|
XRMResMerge(
|
||||||
const ByteString &rMergeSource,
|
const rtl::OString &rMergeSource,
|
||||||
const ByteString &rOutputFile,
|
const rtl::OString &rOutputFile,
|
||||||
ByteString &rFilename
|
const rtl::OString &rFilename
|
||||||
);
|
);
|
||||||
virtual ~XRMResMerge();
|
virtual ~XRMResMerge();
|
||||||
};
|
};
|
||||||
|
@@ -58,7 +58,7 @@ Export *pExport = 0L;
|
|||||||
#define STATE_LANGUAGES 0X000A
|
#define STATE_LANGUAGES 0X000A
|
||||||
|
|
||||||
// set of global variables
|
// set of global variables
|
||||||
typedef ::std::vector< ByteString* > FileList;
|
typedef ::std::vector< rtl::OString > FileList;
|
||||||
FileList aInputFileList;
|
FileList aInputFileList;
|
||||||
sal_Bool bEnableExport;
|
sal_Bool bEnableExport;
|
||||||
sal_Bool bMergeMode;
|
sal_Bool bMergeMode;
|
||||||
@@ -102,7 +102,7 @@ extern char *GetOutputFile( int argc, char* argv[])
|
|||||||
|
|
||||||
// parse command line
|
// parse command line
|
||||||
for( int i = 1; i < argc; i++ ) {
|
for( int i = 1; i < argc; i++ ) {
|
||||||
ByteString sSwitch( argv[ i ] );
|
rtl::OString sSwitch( argv[ i ] );
|
||||||
|
|
||||||
if (sSwitch == "-i" || sSwitch == "-I" ) {
|
if (sSwitch == "-i" || sSwitch == "-I" ) {
|
||||||
nState = STATE_INPUT; // next tokens specifies source files
|
nState = STATE_INPUT; // next tokens specifies source files
|
||||||
@@ -142,7 +142,7 @@ extern char *GetOutputFile( int argc, char* argv[])
|
|||||||
return NULL; // no valid command line
|
return NULL; // no valid command line
|
||||||
}
|
}
|
||||||
case STATE_INPUT: {
|
case STATE_INPUT: {
|
||||||
aInputFileList.push_back( new ByteString( argv[ i ] ) );
|
aInputFileList.push_back( argv[ i ] );
|
||||||
bInput = sal_True; // min. one source file found
|
bInput = sal_True; // min. one source file found
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -216,7 +216,7 @@ int EndExport()
|
|||||||
|
|
||||||
extern const char* getFilename()
|
extern const char* getFilename()
|
||||||
{
|
{
|
||||||
return (*(aInputFileList[ 0 ])).GetBuffer();
|
return aInputFileList[0].getStr();
|
||||||
}
|
}
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
extern FILE *GetNextFile()
|
extern FILE *GetNextFile()
|
||||||
@@ -226,7 +226,7 @@ extern FILE *GetNextFile()
|
|||||||
if ( !sTempFile.isEmpty())
|
if ( !sTempFile.isEmpty())
|
||||||
{
|
{
|
||||||
fclose( pTempFile );
|
fclose( pTempFile );
|
||||||
String sTemp(rtl::OStringToOUString(sTempFile,
|
rtl::OUString sTemp(rtl::OStringToOUString(sTempFile,
|
||||||
RTL_TEXTENCODING_ASCII_US));
|
RTL_TEXTENCODING_ASCII_US));
|
||||||
DirEntry aTemp( sTemp );
|
DirEntry aTemp( sTemp );
|
||||||
aTemp.Kill();
|
aTemp.Kill();
|
||||||
@@ -234,15 +234,14 @@ extern FILE *GetNextFile()
|
|||||||
|
|
||||||
while ( !aInputFileList.empty() )
|
while ( !aInputFileList.empty() )
|
||||||
{
|
{
|
||||||
ByteString sFileName( *(aInputFileList[ 0 ]) );
|
rtl::OString sFileName(aInputFileList[0]);
|
||||||
|
|
||||||
rtl::OString sOrigFile( sFileName );
|
rtl::OString sOrigFile( sFileName );
|
||||||
|
|
||||||
sFileName = Export::GetNativeFile( sFileName );
|
sFileName = Export::GetNativeFile( sFileName );
|
||||||
delete aInputFileList[ 0 ];
|
|
||||||
aInputFileList.erase( aInputFileList.begin() );
|
aInputFileList.erase( aInputFileList.begin() );
|
||||||
|
|
||||||
if ( sFileName == "" ) {
|
if ( sFileName.isEmpty() ) {
|
||||||
fprintf( stderr, "ERROR: Could not precompile File %s\n",
|
fprintf( stderr, "ERROR: Could not precompile File %s\n",
|
||||||
sOrigFile.getStr());
|
sOrigFile.getStr());
|
||||||
return GetNextFile();
|
return GetNextFile();
|
||||||
@@ -252,10 +251,10 @@ extern FILE *GetNextFile()
|
|||||||
Export::RemoveUTF8ByteOrderMarkerFromFile( sFileName );
|
Export::RemoveUTF8ByteOrderMarkerFromFile( sFileName );
|
||||||
|
|
||||||
// able to open file?
|
// able to open file?
|
||||||
FILE *pFile = fopen( sFileName.GetBuffer(), "r" );
|
FILE *pFile = fopen( sFileName.getStr(), "r" );
|
||||||
if ( !pFile )
|
if ( !pFile )
|
||||||
fprintf( stderr, "Error: Could not open File %s\n",
|
fprintf( stderr, "Error: Could not open File %s\n",
|
||||||
sFileName.GetBuffer());
|
sFileName.getStr());
|
||||||
else {
|
else {
|
||||||
pTempFile = pFile;
|
pTempFile = pFile;
|
||||||
|
|
||||||
@@ -266,7 +265,7 @@ extern FILE *GetNextFile()
|
|||||||
aEntry.ToAbs();
|
aEntry.ToAbs();
|
||||||
rtl::OString sFullEntry(rtl::OUStringToOString(aEntry.GetFull(),
|
rtl::OString sFullEntry(rtl::OUStringToOString(aEntry.GetFull(),
|
||||||
RTL_TEXTENCODING_ASCII_US));
|
RTL_TEXTENCODING_ASCII_US));
|
||||||
aEntry += DirEntry( String( "..", RTL_TEXTENCODING_ASCII_US ));
|
aEntry += DirEntry(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("..")));
|
||||||
aEntry += DirEntry( sPrjRoot );
|
aEntry += DirEntry( sPrjRoot );
|
||||||
rtl::OString sPrjEntry(rtl::OUStringToOString(aEntry.GetFull(),
|
rtl::OString sPrjEntry(rtl::OUStringToOString(aEntry.GetFull(),
|
||||||
RTL_TEXTENCODING_ASCII_US));
|
RTL_TEXTENCODING_ASCII_US));
|
||||||
@@ -423,7 +422,7 @@ Export::Export(const rtl::OString &rOutput, sal_Bool bWrite,
|
|||||||
|
|
||||||
// open output stream
|
// open output stream
|
||||||
if ( bEnableExport ) {
|
if ( bEnableExport ) {
|
||||||
aOutput.Open( String( rOutput, RTL_TEXTENCODING_ASCII_US ), STREAM_STD_WRITE | STREAM_TRUNC );
|
aOutput.Open( rtl::OStringToOUString( rOutput, RTL_TEXTENCODING_ASCII_US ), STREAM_STD_WRITE | STREAM_TRUNC );
|
||||||
if( !aOutput.IsOpen() ) {
|
if( !aOutput.IsOpen() ) {
|
||||||
fprintf(stderr, "ERROR : Can't open file %s\n", rOutput.getStr());
|
fprintf(stderr, "ERROR : Can't open file %s\n", rOutput.getStr());
|
||||||
exit ( -1 );
|
exit ( -1 );
|
||||||
@@ -465,7 +464,7 @@ Export::Export(const rtl::OString &rOutput, sal_Bool bWrite,
|
|||||||
|
|
||||||
// open output stream
|
// open output stream
|
||||||
if ( bEnableExport ) {
|
if ( bEnableExport ) {
|
||||||
aOutput.Open( String( rOutput, RTL_TEXTENCODING_ASCII_US ), STREAM_STD_WRITE | STREAM_TRUNC );
|
aOutput.Open( rtl::OStringToOUString( rOutput, RTL_TEXTENCODING_ASCII_US ), STREAM_STD_WRITE | STREAM_TRUNC );
|
||||||
aOutput.SetStreamCharSet( RTL_TEXTENCODING_UTF8 );
|
aOutput.SetStreamCharSet( RTL_TEXTENCODING_UTF8 );
|
||||||
aOutput.SetLineDelimiter( LINEEND_CRLF );
|
aOutput.SetLineDelimiter( LINEEND_CRLF );
|
||||||
}
|
}
|
||||||
@@ -647,7 +646,6 @@ int Export::Execute( int nToken, const char * pToken )
|
|||||||
|
|
||||||
pResData = new ResData( sActPForm, FullId() , sFilename );
|
pResData = new ResData( sActPForm, FullId() , sFilename );
|
||||||
aResStack.push_back( pResData );
|
aResStack.push_back( pResData );
|
||||||
ByteString sBackup( sToken );
|
|
||||||
sToken = comphelper::string::remove(sToken, '\n');
|
sToken = comphelper::string::remove(sToken, '\n');
|
||||||
sToken = comphelper::string::remove(sToken, '\r');
|
sToken = comphelper::string::remove(sToken, '\r');
|
||||||
sToken = comphelper::string::remove(sToken, '{');
|
sToken = comphelper::string::remove(sToken, '{');
|
||||||
@@ -656,19 +654,19 @@ int Export::Execute( int nToken, const char * pToken )
|
|||||||
rtl::OString sTLower = getToken(sToken, 0, ' ').toAsciiLowerCase();
|
rtl::OString sTLower = getToken(sToken, 0, ' ').toAsciiLowerCase();
|
||||||
pResData->sResTyp = sTLower;
|
pResData->sResTyp = sTLower;
|
||||||
rtl::OString sId( sToken.copy( pResData->sResTyp.getLength() + 1 ));
|
rtl::OString sId( sToken.copy( pResData->sResTyp.getLength() + 1 ));
|
||||||
ByteString sCondition;
|
rtl::OString sCondition;
|
||||||
if ( sId.indexOf( '#' ) != -1 )
|
if ( sId.indexOf( '#' ) != -1 )
|
||||||
{
|
{
|
||||||
// between ResTyp, Id and paranthes is a precomp. condition
|
// between ResTyp, Id and paranthes is a precomp. condition
|
||||||
sCondition = "#";
|
sCondition = "#";
|
||||||
sCondition += ByteString(getToken(sId, 1, '#'));
|
sCondition += getToken(sId, 1, '#');
|
||||||
sId = getToken(sId, 0, '#');
|
sId = getToken(sId, 0, '#');
|
||||||
}
|
}
|
||||||
sId = getToken(sId, 0, '/');
|
sId = getToken(sId, 0, '/');
|
||||||
CleanValue( sId );
|
CleanValue( sId );
|
||||||
sId = comphelper::string::remove(sId, '\t');
|
sId = comphelper::string::remove(sId, '\t');
|
||||||
pResData->SetId( sId, ID_LEVEL_IDENTIFIER );
|
pResData->SetId( sId, ID_LEVEL_IDENTIFIER );
|
||||||
if ( sCondition.Len())
|
if (!sCondition.isEmpty())
|
||||||
{
|
{
|
||||||
Execute( CONDITION, ""); // execute the precomp. condition
|
Execute( CONDITION, ""); // execute the precomp. condition
|
||||||
}
|
}
|
||||||
@@ -705,7 +703,7 @@ int Export::Execute( int nToken, const char * pToken )
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
bDontWriteOutput = sal_False;
|
bDontWriteOutput = sal_False;
|
||||||
ByteString sLowerTyp;
|
rtl::OString sLowerTyp;
|
||||||
if ( pResData )
|
if ( pResData )
|
||||||
sLowerTyp = "unknown";
|
sLowerTyp = "unknown";
|
||||||
nLevel++;
|
nLevel++;
|
||||||
@@ -803,11 +801,11 @@ int Export::Execute( int nToken, const char * pToken )
|
|||||||
case LISTASSIGNMENT:
|
case LISTASSIGNMENT:
|
||||||
{
|
{
|
||||||
bDontWriteOutput = sal_False;
|
bDontWriteOutput = sal_False;
|
||||||
ByteString sTmpToken(comphelper::string::remove(sToken, ' '));
|
rtl::OString sTmpToken(
|
||||||
sal_uInt16 nPos = 0;
|
comphelper::string::remove(sToken, ' ').toAsciiLowerCase());
|
||||||
nPos = sTmpToken.ToLowerAscii().Search("[en-us]=");
|
sal_Int32 nPos = sTmpToken.indexOf("[en-us]=");
|
||||||
if( nPos != STRING_NOTFOUND ) {
|
if (nPos != -1) {
|
||||||
rtl::OString sKey = sTmpToken.Copy( 0 , nPos );
|
rtl::OString sKey(sTmpToken.copy(0 , nPos));
|
||||||
sKey = comphelper::string::remove(sKey, ' ');
|
sKey = comphelper::string::remove(sKey, ' ');
|
||||||
sKey = comphelper::string::remove(sKey, '\t');
|
sKey = comphelper::string::remove(sKey, '\t');
|
||||||
rtl::OString sValue = getToken(sToken, 1, '=');
|
rtl::OString sValue = getToken(sToken, 1, '=');
|
||||||
@@ -888,7 +886,7 @@ int Export::Execute( int nToken, const char * pToken )
|
|||||||
// this is an entry for a String- or FilterList
|
// this is an entry for a String- or FilterList
|
||||||
if ( nList ) {
|
if ( nList ) {
|
||||||
SetChildWithText();
|
SetChildWithText();
|
||||||
ByteString sEntry(getToken(sToken, 1, '\"'));
|
rtl::OString sEntry(getToken(sToken, 1, '\"'));
|
||||||
if ( getTokenCount(sToken, '\"') > 3 )
|
if ( getTokenCount(sToken, '\"') > 3 )
|
||||||
sEntry += "\"";
|
sEntry += "\"";
|
||||||
if ( sEntry == "\\\"" )
|
if ( sEntry == "\\\"" )
|
||||||
@@ -912,7 +910,7 @@ int Export::Execute( int nToken, const char * pToken )
|
|||||||
rtl::OString sKey = getToken(getToken(sToken, 0, '='), 0, '[');
|
rtl::OString sKey = getToken(getToken(sToken, 0, '='), 0, '[');
|
||||||
sKey = comphelper::string::remove(sKey, ' ');
|
sKey = comphelper::string::remove(sKey, ' ');
|
||||||
sKey = comphelper::string::remove(sKey, '\t');
|
sKey = comphelper::string::remove(sKey, '\t');
|
||||||
ByteString sText( GetText( sToken, nToken ));
|
rtl::OString sText( GetText( sToken, nToken ));
|
||||||
rtl::OString sLang;
|
rtl::OString sLang;
|
||||||
if ( getToken(sToken, 0, '=').indexOf('[') != -1 )
|
if ( getToken(sToken, 0, '=').indexOf('[') != -1 )
|
||||||
{
|
{
|
||||||
@@ -920,8 +918,8 @@ int Export::Execute( int nToken, const char * pToken )
|
|||||||
CleanValue( sLang );
|
CleanValue( sLang );
|
||||||
}
|
}
|
||||||
rtl::OString sLangIndex = sLang;
|
rtl::OString sLangIndex = sLang;
|
||||||
ByteString sOrigKey = sKey;
|
rtl::OString sOrigKey = sKey;
|
||||||
if ( sText.Len() && !sLang.isEmpty() )
|
if ( !sText.isEmpty() && !sLang.isEmpty() )
|
||||||
{
|
{
|
||||||
sKey = sKey.toAsciiUpperCase();
|
sKey = sKey.toAsciiUpperCase();
|
||||||
if (sKey.equalsL(RTL_CONSTASCII_STRINGPARAM("TEXT")) ||
|
if (sKey.equalsL(RTL_CONSTASCII_STRINGPARAM("TEXT")) ||
|
||||||
@@ -1050,14 +1048,14 @@ int Export::Execute( int nToken, const char * pToken )
|
|||||||
while( helper::searchAndReplace(&sToken, "\r", " " ) != -1 ) {};
|
while( helper::searchAndReplace(&sToken, "\r", " " ) != -1 ) {};
|
||||||
while( helper::searchAndReplace(&sToken, "\t", " " ) != -1 ) {};
|
while( helper::searchAndReplace(&sToken, "\t", " " ) != -1 ) {};
|
||||||
while( helper::searchAndReplace(&sToken, " ", " " ) != -1 ) {};
|
while( helper::searchAndReplace(&sToken, " ", " " ) != -1 ) {};
|
||||||
ByteString sCondition = getToken(sToken, 0, ' ');
|
rtl::OString sCondition(getToken(sToken, 0, ' '));
|
||||||
if ( sCondition == "#ifndef" ) {
|
if ( sCondition == "#ifndef" ) {
|
||||||
sActPForm = "!defined ";
|
sActPForm = "!defined ";
|
||||||
sActPForm += ByteString(getToken(sToken, 1, ' '));
|
sActPForm += getToken(sToken, 1, ' ');
|
||||||
}
|
}
|
||||||
else if ( sCondition == "#ifdef" ) {
|
else if ( sCondition == "#ifdef" ) {
|
||||||
sActPForm = "defined ";
|
sActPForm = "defined ";
|
||||||
sActPForm += ByteString(getToken(sToken, 1, ' '));
|
sActPForm += getToken(sToken, 1, ' ');
|
||||||
}
|
}
|
||||||
else if ( sCondition == "#if" ) {
|
else if ( sCondition == "#if" ) {
|
||||||
sActPForm = sToken.copy( 4 );
|
sActPForm = sToken.copy( 4 );
|
||||||
@@ -1125,23 +1123,16 @@ void Export::CutComment( rtl::OString &rText )
|
|||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
{
|
{
|
||||||
if (rText.indexOf("//") != -1) {
|
if (rText.indexOf("//") != -1) {
|
||||||
ByteString sWork( rText );
|
rtl::OString sWork(rText);
|
||||||
sWork.SearchAndReplaceAll( "\\\"", "XX" );
|
helper::searchAndReplaceAll(&sWork, "\\\"", "XX");
|
||||||
sal_uInt16 i = 0;
|
bool bInner = false;
|
||||||
sal_Bool bInner = sal_False;
|
for (sal_Int32 i = 0; i < sWork.getLength() - 1; ++i) {
|
||||||
|
if (sWork[i] == '"') {
|
||||||
while ( i < sWork.Len() - 1 ) {
|
|
||||||
if ( sWork.GetChar( i ) == '\"' )
|
|
||||||
bInner = !bInner;
|
bInner = !bInner;
|
||||||
else if
|
} else if (sWork[i] == '/' && !bInner && sWork[i + 1] == '/' ) {
|
||||||
(( sWork.GetChar( i ) == '/' ) &&
|
|
||||||
( !bInner ) &&
|
|
||||||
( sWork.GetChar( i + 1 ) == '/' ))
|
|
||||||
{
|
|
||||||
rText = rText.copy(0, i);
|
rText = rText.copy(0, i);
|
||||||
return;
|
break;
|
||||||
}
|
}
|
||||||
i++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1169,24 +1160,24 @@ sal_Bool Export::WriteData( ResData *pResData, sal_Bool bCreateNew )
|
|||||||
( !pResData->sTitle[ SOURCE_LANGUAGE ].isEmpty()))
|
( !pResData->sTitle[ SOURCE_LANGUAGE ].isEmpty()))
|
||||||
|
|
||||||
{
|
{
|
||||||
ByteString sGID = pResData->sGId;
|
rtl::OString sGID = pResData->sGId;
|
||||||
ByteString sLID;
|
rtl::OString sLID;
|
||||||
if ( !sGID.Len())
|
if (sGID.isEmpty())
|
||||||
sGID = pResData->sId;
|
sGID = pResData->sId;
|
||||||
else
|
else
|
||||||
sLID = pResData->sId;
|
sLID = pResData->sId;
|
||||||
|
|
||||||
ByteString sXText;
|
rtl::OString sXText;
|
||||||
ByteString sXHText;
|
rtl::OString sXHText;
|
||||||
ByteString sXQHText;
|
rtl::OString sXQHText;
|
||||||
ByteString sXTitle;
|
rtl::OString sXTitle;
|
||||||
|
|
||||||
ByteString sTimeStamp( Export::GetTimeStamp());
|
rtl::OString sTimeStamp(Export::GetTimeStamp());
|
||||||
ByteString sCur;
|
rtl::OString sCur;
|
||||||
|
|
||||||
for( unsigned int n = 0; n < aLanguages.size(); n++ ){
|
for( unsigned int n = 0; n < aLanguages.size(); n++ ){
|
||||||
sCur = aLanguages[ n ];
|
sCur = aLanguages[ n ];
|
||||||
if ( !sCur.EqualsIgnoreCaseAscii("x-comment") ){
|
if (!sCur.equalsIgnoreAsciiCase("x-comment") ){
|
||||||
if (!pResData->sText[ sCur ].isEmpty())
|
if (!pResData->sText[ sCur ].isEmpty())
|
||||||
sXText = pResData->sText[ sCur ];
|
sXText = pResData->sText[ sCur ];
|
||||||
else {
|
else {
|
||||||
@@ -1210,10 +1201,10 @@ sal_Bool Export::WriteData( ResData *pResData, sal_Bool bCreateNew )
|
|||||||
else
|
else
|
||||||
sXTitle = pResData->sTitle[ SOURCE_LANGUAGE ];
|
sXTitle = pResData->sTitle[ SOURCE_LANGUAGE ];
|
||||||
|
|
||||||
if ( !sXText.Len())
|
if (sXText.isEmpty())
|
||||||
sXText = "-";
|
sXText = "-";
|
||||||
|
|
||||||
if ( !sXHText.Len())
|
if (sXHText.isEmpty())
|
||||||
{
|
{
|
||||||
if (!pResData->sHelpText[ SOURCE_LANGUAGE ].isEmpty())
|
if (!pResData->sHelpText[ SOURCE_LANGUAGE ].isEmpty())
|
||||||
sXHText = pResData->sHelpText[ SOURCE_LANGUAGE ];
|
sXHText = pResData->sHelpText[ SOURCE_LANGUAGE ];
|
||||||
@@ -1223,7 +1214,7 @@ sal_Bool Export::WriteData( ResData *pResData, sal_Bool bCreateNew )
|
|||||||
sXText = pResData->sText[ sCur ];
|
sXText = pResData->sText[ sCur ];
|
||||||
|
|
||||||
if ( bEnableExport ) {
|
if ( bEnableExport ) {
|
||||||
ByteString sOutput( sProject ); sOutput += "\t";
|
rtl::OString sOutput( sProject ); sOutput += "\t";
|
||||||
if ( !sRoot.isEmpty())
|
if ( !sRoot.isEmpty())
|
||||||
sOutput += sActFileName;
|
sOutput += sActFileName;
|
||||||
sOutput += "\t0\t";
|
sOutput += "\t0\t";
|
||||||
@@ -1232,7 +1223,7 @@ sal_Bool Export::WriteData( ResData *pResData, sal_Bool bCreateNew )
|
|||||||
sOutput += sLID; sOutput += "\t";
|
sOutput += sLID; sOutput += "\t";
|
||||||
sOutput += pResData->sHelpId; sOutput += "\t";
|
sOutput += pResData->sHelpId; sOutput += "\t";
|
||||||
sOutput += pResData->sPForm; sOutput += "\t";
|
sOutput += pResData->sPForm; sOutput += "\t";
|
||||||
sOutput += ByteString(rtl::OString::valueOf(static_cast<sal_Int64>(pResData->nWidth))); sOutput += "\t";
|
sOutput += rtl::OString::valueOf(static_cast<sal_Int64>(pResData->nWidth)); sOutput += "\t";
|
||||||
sOutput += sCur; sOutput += "\t";
|
sOutput += sCur; sOutput += "\t";
|
||||||
|
|
||||||
|
|
||||||
@@ -1254,31 +1245,31 @@ sal_Bool Export::WriteData( ResData *pResData, sal_Bool bCreateNew )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( pResData->pStringList ) {
|
if ( pResData->pStringList ) {
|
||||||
ByteString sList( "stringlist" );
|
rtl::OString sList( "stringlist" );
|
||||||
WriteExportList( pResData, pResData->pStringList, sList, bCreateNew );
|
WriteExportList( pResData, pResData->pStringList, sList, bCreateNew );
|
||||||
if ( bCreateNew )
|
if ( bCreateNew )
|
||||||
pResData->pStringList = 0;
|
pResData->pStringList = 0;
|
||||||
}
|
}
|
||||||
if ( pResData->pFilterList ) {
|
if ( pResData->pFilterList ) {
|
||||||
ByteString sList( "filterlist" );
|
rtl::OString sList( "filterlist" );
|
||||||
WriteExportList( pResData, pResData->pFilterList, sList, bCreateNew );
|
WriteExportList( pResData, pResData->pFilterList, sList, bCreateNew );
|
||||||
if ( bCreateNew )
|
if ( bCreateNew )
|
||||||
pResData->pFilterList = 0;
|
pResData->pFilterList = 0;
|
||||||
}
|
}
|
||||||
if ( pResData->pItemList ) {
|
if ( pResData->pItemList ) {
|
||||||
ByteString sList( "itemlist" );
|
rtl::OString sList( "itemlist" );
|
||||||
WriteExportList( pResData, pResData->pItemList, sList, bCreateNew );
|
WriteExportList( pResData, pResData->pItemList, sList, bCreateNew );
|
||||||
if ( bCreateNew )
|
if ( bCreateNew )
|
||||||
pResData->pItemList = 0;
|
pResData->pItemList = 0;
|
||||||
}
|
}
|
||||||
if ( pResData->pPairedList ) {
|
if ( pResData->pPairedList ) {
|
||||||
ByteString sList( "pairedlist" );
|
rtl::OString sList( "pairedlist" );
|
||||||
WriteExportList( pResData, pResData->pPairedList, sList, bCreateNew );
|
WriteExportList( pResData, pResData->pPairedList, sList, bCreateNew );
|
||||||
if ( bCreateNew )
|
if ( bCreateNew )
|
||||||
pResData->pItemList = 0;
|
pResData->pItemList = 0;
|
||||||
}
|
}
|
||||||
if ( pResData->pUIEntries ) {
|
if ( pResData->pUIEntries ) {
|
||||||
ByteString sList( "uientries" );
|
rtl::OString sList( "uientries" );
|
||||||
WriteExportList( pResData, pResData->pUIEntries, sList, bCreateNew );
|
WriteExportList( pResData, pResData->pUIEntries, sList, bCreateNew );
|
||||||
if ( bCreateNew )
|
if ( bCreateNew )
|
||||||
pResData->pUIEntries = 0;
|
pResData->pUIEntries = 0;
|
||||||
@@ -1289,9 +1280,8 @@ sal_Bool Export::WriteData( ResData *pResData, sal_Bool bCreateNew )
|
|||||||
rtl::OString Export::GetPairedListID(const rtl::OString& rText)
|
rtl::OString Export::GetPairedListID(const rtl::OString& rText)
|
||||||
{
|
{
|
||||||
// < "STRING" ; IDENTIFIER ; > ;
|
// < "STRING" ; IDENTIFIER ; > ;
|
||||||
ByteString sIdent = getToken(rText, 1, ';');
|
rtl::OString sIdent(
|
||||||
sIdent.ToUpperAscii();
|
getToken(rText, 1, ';').toAsciiUpperCase().replace('\t', ' '));
|
||||||
while( sIdent.SearchAndReplace( "\t", " " ) != STRING_NOTFOUND ) {};
|
|
||||||
sIdent = comphelper::string::stripEnd(sIdent, ' ');
|
sIdent = comphelper::string::stripEnd(sIdent, ' ');
|
||||||
sIdent = comphelper::string::stripStart(sIdent, ' ');
|
sIdent = comphelper::string::stripStart(sIdent, ' ');
|
||||||
return sIdent;
|
return sIdent;
|
||||||
@@ -1300,11 +1290,10 @@ rtl::OString Export::GetPairedListID(const rtl::OString& rText)
|
|||||||
rtl::OString Export::GetPairedListString(const rtl::OString& rText)
|
rtl::OString Export::GetPairedListString(const rtl::OString& rText)
|
||||||
{
|
{
|
||||||
// < "STRING" ; IDENTIFIER ; > ;
|
// < "STRING" ; IDENTIFIER ; > ;
|
||||||
ByteString sString = getToken(rText, 0, ';');
|
rtl::OString sString(getToken(rText, 0, ';').replace('\t', ' '));
|
||||||
while( sString.SearchAndReplace( "\t", " " ) != STRING_NOTFOUND ) {};
|
|
||||||
sString = comphelper::string::stripEnd(sString, ' ');
|
sString = comphelper::string::stripEnd(sString, ' ');
|
||||||
ByteString s1 = sString.Copy( sString.Search( '\"' )+1 );
|
rtl::OString s1(sString.copy(sString.indexOf('"') + 1));
|
||||||
sString = s1.Copy( 0 , s1.SearchBackward( '\"' ) );
|
sString = s1.copy(0, s1.lastIndexOf('"'));
|
||||||
sString = comphelper::string::stripEnd(sString, ' ');
|
sString = comphelper::string::stripEnd(sString, ' ');
|
||||||
sString = comphelper::string::stripStart(sString, ' ');
|
sString = comphelper::string::stripStart(sString, ' ');
|
||||||
return sString;
|
return sString;
|
||||||
@@ -1319,8 +1308,8 @@ rtl::OString Export::StripList(const rtl::OString & rText)
|
|||||||
sal_Bool Export::WriteExportList(ResData *pResData, ExportList *pExportList,
|
sal_Bool Export::WriteExportList(ResData *pResData, ExportList *pExportList,
|
||||||
const rtl::OString &rTyp, sal_Bool bCreateNew)
|
const rtl::OString &rTyp, sal_Bool bCreateNew)
|
||||||
{
|
{
|
||||||
ByteString sGID = pResData->sGId;
|
rtl::OString sGID(pResData->sGId);
|
||||||
if ( !sGID.Len())
|
if (sGID.isEmpty())
|
||||||
sGID = pResData->sId;
|
sGID = pResData->sId;
|
||||||
else {
|
else {
|
||||||
sGID += ".";
|
sGID += ".";
|
||||||
@@ -1328,13 +1317,13 @@ sal_Bool Export::WriteExportList(ResData *pResData, ExportList *pExportList,
|
|||||||
sGID = comphelper::string::stripEnd(sGID, '.');
|
sGID = comphelper::string::stripEnd(sGID, '.');
|
||||||
}
|
}
|
||||||
|
|
||||||
ByteString sTimeStamp( Export::GetTimeStamp());
|
rtl::OString sTimeStamp(Export::GetTimeStamp());
|
||||||
ByteString sCur;
|
rtl::OString sCur;
|
||||||
for ( size_t i = 0; pExportList != NULL && i < pExportList->size(); i++ )
|
for ( size_t i = 0; pExportList != NULL && i < pExportList->size(); i++ )
|
||||||
{
|
{
|
||||||
ExportListEntry *pEntry = (*pExportList)[ i ];
|
ExportListEntry *pEntry = (*pExportList)[ i ];
|
||||||
|
|
||||||
ByteString sLID(rtl::OString::valueOf(static_cast<sal_Int64>(i + 1)));
|
rtl::OString sLID(rtl::OString::valueOf(static_cast<sal_Int64>(i + 1)));
|
||||||
for (unsigned int n = 0; n < aLanguages.size(); ++n)
|
for (unsigned int n = 0; n < aLanguages.size(); ++n)
|
||||||
{
|
{
|
||||||
sCur = aLanguages[ n ];
|
sCur = aLanguages[ n ];
|
||||||
@@ -1342,7 +1331,7 @@ sal_Bool Export::WriteExportList(ResData *pResData, ExportList *pExportList,
|
|||||||
{
|
{
|
||||||
if ( bEnableExport )
|
if ( bEnableExport )
|
||||||
{
|
{
|
||||||
ByteString sText((*pEntry)[ SOURCE_LANGUAGE ] );
|
rtl::OString sText((*pEntry)[ SOURCE_LANGUAGE ] );
|
||||||
|
|
||||||
// Strip PairList Line String
|
// Strip PairList Line String
|
||||||
if (rTyp.equalsIgnoreAsciiCaseL(RTL_CONSTASCII_STRINGPARAM("pairedlist")))
|
if (rTyp.equalsIgnoreAsciiCaseL(RTL_CONSTASCII_STRINGPARAM("pairedlist")))
|
||||||
@@ -1515,7 +1504,7 @@ void Export::CleanValue( rtl::OString &rValue )
|
|||||||
|
|
||||||
rtl::OString Export::GetText(const rtl::OString &rSource, int nToken)
|
rtl::OString Export::GetText(const rtl::OString &rSource, int nToken)
|
||||||
{
|
{
|
||||||
ByteString sReturn;
|
rtl::OString sReturn;
|
||||||
switch ( nToken )
|
switch ( nToken )
|
||||||
{
|
{
|
||||||
case TEXTLINE:
|
case TEXTLINE:
|
||||||
@@ -1526,38 +1515,29 @@ rtl::OString Export::GetText(const rtl::OString &rSource, int nToken)
|
|||||||
sTmp = comphelper::string::remove(sTmp, '\n');
|
sTmp = comphelper::string::remove(sTmp, '\n');
|
||||||
sTmp = comphelper::string::remove(sTmp, '\r');
|
sTmp = comphelper::string::remove(sTmp, '\r');
|
||||||
|
|
||||||
while ( helper::searchAndReplace(&sTmp, "\\\\\"", "-=<[BSlashBSlashHKom]>=-\"" )
|
helper::searchAndReplaceAll(
|
||||||
!= -1 ) {}
|
&sTmp, "\\\\\"", "-=<[BSlashBSlashHKom]>=-\"");
|
||||||
while ( helper::searchAndReplace(&sTmp, "\\\"", "-=<[Hochkomma]>=-" )
|
helper::searchAndReplaceAll(&sTmp, "\\\"", "-=<[Hochkomma]>=-");
|
||||||
!= -1 ) {}
|
helper::searchAndReplaceAll(&sTmp, "\\", "-=<[0x7F]>=-");
|
||||||
while ( helper::searchAndReplace(&sTmp, "\\", "-=<[0x7F]>=-" )
|
helper::searchAndReplaceAll(&sTmp, "\\0x7F", "-=<[0x7F]>=-");
|
||||||
!= -1 ) {}
|
|
||||||
while ( helper::searchAndReplace(&sTmp, "\\0x7F", "-=<[0x7F]>=-" )
|
|
||||||
!= -1 ) {}
|
|
||||||
|
|
||||||
sal_uInt16 nStart = 0;
|
sal_uInt16 nState = TXT_STATE_TEXT;
|
||||||
sal_uInt16 nState = TXT_STATE_MACRO;
|
for (sal_Int32 i = 0; i < getTokenCount(sTmp, '\"'); ++i)
|
||||||
|
|
||||||
nState = TXT_STATE_TEXT;
|
|
||||||
nStart = 1;
|
|
||||||
|
|
||||||
|
|
||||||
for ( sal_uInt16 i = nStart; i < getTokenCount(sTmp, '\"'); ++i )
|
|
||||||
{
|
{
|
||||||
ByteString sToken = getToken(sTmp, i, '\"');
|
rtl::OString sToken(getToken(sTmp, i, '"'));
|
||||||
if ( sToken.Len()) {
|
if (!sToken.isEmpty()) {
|
||||||
if ( nState == TXT_STATE_TEXT ) {
|
if ( nState == TXT_STATE_TEXT ) {
|
||||||
sReturn += sToken;
|
sReturn += sToken;
|
||||||
nState = TXT_STATE_MACRO;
|
nState = TXT_STATE_MACRO;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
while( sToken.SearchAndReplace( "\t", " " ) !=
|
sToken = sToken.replace('\t', ' ');
|
||||||
STRING_NOTFOUND ) {};
|
while (helper::searchAndReplace(&sToken, " ", " ")
|
||||||
while( sToken.SearchAndReplace( " ", " " ) !=
|
!= -1)
|
||||||
STRING_NOTFOUND ) {};
|
{}
|
||||||
sToken = comphelper::string::stripStart(sToken, ' ');
|
sToken = comphelper::string::stripStart(sToken, ' ');
|
||||||
sToken = comphelper::string::stripEnd(sToken, ' ');
|
sToken = comphelper::string::stripEnd(sToken, ' ');
|
||||||
if ( sToken.Len()) {
|
if (!sToken.isEmpty()) {
|
||||||
sReturn += "\\\" ";
|
sReturn += "\\\" ";
|
||||||
sReturn += sToken;
|
sReturn += sToken;
|
||||||
sReturn += " \\\"";
|
sReturn += " \\\"";
|
||||||
@@ -1567,19 +1547,13 @@ rtl::OString Export::GetText(const rtl::OString &rSource, int nToken)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
while ( sReturn.SearchAndReplace( "-=<[0x7F]>=-", "" )
|
helper::searchAndReplaceAll(&sReturn, "-=<[0x7F]>=-", "");
|
||||||
!= STRING_NOTFOUND ) {};
|
helper::searchAndReplaceAll(&sReturn, "-=<[Hochkomma]>=-", "\"");
|
||||||
while ( sReturn.SearchAndReplace( "-=<[Hochkomma]>=-", "\"" )
|
helper::searchAndReplaceAll(
|
||||||
!= STRING_NOTFOUND ) {};
|
&sReturn, "-=<[BSlashBSlashHKom]>=-", "\\\\");
|
||||||
while ( sReturn.SearchAndReplace( "-=<[BSlashBSlashHKom]>=-", "\\\\" )
|
helper::searchAndReplaceAll(
|
||||||
!= STRING_NOTFOUND ) {};
|
&sReturn, "\\\\", "-=<[BSlashBSlash]>=-");
|
||||||
|
helper::searchAndReplaceAll(&sReturn, "-=<[BSlashBSlash]>=-", "\\");
|
||||||
|
|
||||||
while ( sReturn.SearchAndReplace( "\\\\", "-=<[BSlashBSlash]>=-" )
|
|
||||||
!= STRING_NOTFOUND ) {};
|
|
||||||
while ( sReturn.SearchAndReplace( "-=<[BSlashBSlash]>=-", "\\" )
|
|
||||||
!= STRING_NOTFOUND ) {};
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -1590,50 +1564,44 @@ void Export::WriteToMerged(const rtl::OString &rText , bool bSDFContent)
|
|||||||
{
|
{
|
||||||
if ( !bDontWriteOutput || !bUnmerge )
|
if ( !bDontWriteOutput || !bUnmerge )
|
||||||
{
|
{
|
||||||
ByteString sText( rText );
|
rtl::OString sText(rText);
|
||||||
while ( sText.SearchAndReplace( " \n", "\n" ) != STRING_NOTFOUND ) {};
|
while (helper::searchAndReplace(&sText, " \n", "\n") != -1) {}
|
||||||
if( pParseQueue->bNextIsM && bSDFContent && sText.Len() > 2 ){
|
if (pParseQueue->bNextIsM && bSDFContent && sText.getLength() > 2) {
|
||||||
for( sal_uInt16 n = 0 ; n < sText.Len() ; n++ ){
|
for (sal_Int32 n = 0; n < sText.getLength(); ++n) {
|
||||||
if( sText.GetChar( n ) == '\n' && sText.GetChar( n-1 ) != '\\'){
|
if (sText[n] == '\n' && sText[n - 1] != '\\') {
|
||||||
sText.Insert('\\' , n++ );
|
sText = sText.replaceAt(n++, 0, "\\");
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else if (pParseQueue->bLastWasM && sText.getLength() > 2) {
|
||||||
|
for (sal_Int32 n = 0; n < sText.getLength(); ++n) {
|
||||||
|
if (sText[n] == '\n' && sText[n - 1] != '\\') {
|
||||||
|
sText = sText.replaceAt(n++, 0, "\\");
|
||||||
}
|
}
|
||||||
else if( pParseQueue->bLastWasM && sText.Len() > 2 ){
|
if (sText[n] == '\n') {
|
||||||
for( sal_uInt16 n = 0 ; n < sText.Len() ; n++ ){
|
|
||||||
if( sText.GetChar( n ) == '\n' && sText.GetChar( n-1 ) != '\\'){
|
|
||||||
sText.Insert('\\' , n++ );
|
|
||||||
}
|
|
||||||
if( sText.GetChar( n ) == '\n' )pParseQueue->bMflag=true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if( pParseQueue->bCurrentIsM && bSDFContent && sText.Len() > 2 ){
|
|
||||||
for( sal_uInt16 n = 0 ; n < sText.Len() ; n++ ){
|
|
||||||
if( sText.GetChar( n ) == '\n' && sText.GetChar( n-1 ) != '\\'){
|
|
||||||
sText.Insert('\\' , n++ );
|
|
||||||
pParseQueue->bMflag = true;
|
pParseQueue->bMflag = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} else if (pParseQueue->bCurrentIsM && bSDFContent
|
||||||
else if( pParseQueue->bMflag ){
|
&& sText.getLength() > 2)
|
||||||
for( sal_uInt16 n = 1 ; n < sText.Len() ; n++ ){
|
|
||||||
if( sText.GetChar( n ) == '\n' && sText.GetChar( n-1 ) != '\\'){
|
|
||||||
sText.Insert('\\' , n++ );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (sal_uInt16 i = 0; i < sText.Len(); ++i)
|
|
||||||
{
|
{
|
||||||
if ( sText.GetChar( i ) != '\n' )
|
for (sal_Int32 n = 0; n < sText.getLength(); ++n) {
|
||||||
{
|
if (sText[n] == '\n' && sText[n - 1] != '\\') {
|
||||||
sal_Char cChar = sText.GetChar(i);
|
sText = sText.replaceAt(n++, 0, "\\");
|
||||||
|
pParseQueue->bMflag = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (pParseQueue->bMflag) {
|
||||||
|
for (sal_Int32 n = 1; n < sText.getLength(); ++n) {
|
||||||
|
if (sText[n] == '\n' && sText[n - 1] != '\\') {
|
||||||
|
sText = sText.replaceAt(n++, 0, "\\");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} for (sal_Int32 i = 0; i < sText.getLength(); ++i) {
|
||||||
|
if (sText[i] == '\n') {
|
||||||
|
aOutput.WriteLine(rtl::OString());
|
||||||
|
} else {
|
||||||
|
char cChar = sText[i];
|
||||||
aOutput.Write(&cChar, 1);
|
aOutput.Write(&cChar, 1);
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
aOutput.WriteLine( ByteString());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1698,7 +1666,7 @@ void Export::ConvertMergeContent( rtl::OString &rText )
|
|||||||
rText = sNew.makeStringAndClear();
|
rText = sNew.makeStringAndClear();
|
||||||
|
|
||||||
if ( bNoOpen ) {
|
if ( bNoOpen ) {
|
||||||
ByteString sTmp( rText );
|
rtl::OString sTmp( rText );
|
||||||
rText = "\"";
|
rText = "\"";
|
||||||
rText += sTmp;
|
rText += sTmp;
|
||||||
}
|
}
|
||||||
@@ -1712,11 +1680,11 @@ sal_Bool Export::PrepareTextToMerge(rtl::OString &rText, sal_uInt16 nTyp,
|
|||||||
// position to merge in:
|
// position to merge in:
|
||||||
sal_Int32 nStart = 0;
|
sal_Int32 nStart = 0;
|
||||||
sal_Int32 nEnd = 0;
|
sal_Int32 nEnd = 0;
|
||||||
ByteString sOldId = pResData->sId;
|
rtl::OString sOldId = pResData->sId;
|
||||||
ByteString sOldGId = pResData->sGId;
|
rtl::OString sOldGId = pResData->sGId;
|
||||||
ByteString sOldTyp = pResData->sResTyp;
|
rtl::OString sOldTyp = pResData->sResTyp;
|
||||||
|
|
||||||
ByteString sOrigText( rText );
|
rtl::OString sOrigText( rText );
|
||||||
|
|
||||||
switch ( nTyp ) {
|
switch ( nTyp ) {
|
||||||
case LIST_STRING :
|
case LIST_STRING :
|
||||||
@@ -1785,7 +1753,7 @@ sal_Bool Export::PrepareTextToMerge(rtl::OString &rText, sal_uInt16 nTyp,
|
|||||||
if (( sLastListLine.indexOf( '>' ) != -1 ) &&
|
if (( sLastListLine.indexOf( '>' ) != -1 ) &&
|
||||||
( sLastListLine.indexOf( '<' ) == -1 ))
|
( sLastListLine.indexOf( '<' ) == -1 ))
|
||||||
{
|
{
|
||||||
ByteString sTmp = sLastListLine;
|
rtl::OString sTmp = sLastListLine;
|
||||||
sLastListLine = "<";
|
sLastListLine = "<";
|
||||||
sLastListLine += sTmp;
|
sLastListLine += sTmp;
|
||||||
}
|
}
|
||||||
@@ -1850,8 +1818,7 @@ sal_Bool Export::PrepareTextToMerge(rtl::OString &rText, sal_uInt16 nTyp,
|
|||||||
pMergeDataFile = new MergeDataFile( sMergeSrc, sFile, bErrorLog );
|
pMergeDataFile = new MergeDataFile( sMergeSrc, sFile, bErrorLog );
|
||||||
|
|
||||||
// Init Languages
|
// Init Languages
|
||||||
ByteString sTmp = Export::sLanguages;
|
if( Export::sLanguages.equalsIgnoreAsciiCase("ALL") )
|
||||||
if( sTmp.ToUpperAscii().Equals("ALL") )
|
|
||||||
SetLanguages( pMergeDataFile->GetLanguages() );
|
SetLanguages( pMergeDataFile->GetLanguages() );
|
||||||
else if( !isInitialized )InitLanguages();
|
else if( !isInitialized )InitLanguages();
|
||||||
|
|
||||||
@@ -1878,7 +1845,7 @@ sal_Bool Export::PrepareTextToMerge(rtl::OString &rText, sal_uInt16 nTyp,
|
|||||||
if (Export::isSourceLanguage(rLangIndex))
|
if (Export::isSourceLanguage(rLangIndex))
|
||||||
return sal_False;
|
return sal_False;
|
||||||
|
|
||||||
ByteString sPostFix( rText.copy( ++nEnd ));
|
rtl::OString sPostFix( rText.copy( ++nEnd ));
|
||||||
rText = rText.copy(0, nStart);
|
rText = rText.copy(0, nStart);
|
||||||
|
|
||||||
ConvertMergeContent( sContent );
|
ConvertMergeContent( sContent );
|
||||||
@@ -1900,8 +1867,7 @@ void Export::MergeRest( ResData *pResData, sal_uInt16 nMode )
|
|||||||
pMergeDataFile = new MergeDataFile( sMergeSrc, sFile, bErrorLog );
|
pMergeDataFile = new MergeDataFile( sMergeSrc, sFile, bErrorLog );
|
||||||
|
|
||||||
// Init Languages
|
// Init Languages
|
||||||
ByteString sTmp = Export::sLanguages;
|
if (Export::sLanguages.equalsIgnoreAsciiCase("ALL"))
|
||||||
if( sTmp.ToUpperAscii().Equals("ALL") )
|
|
||||||
SetLanguages( pMergeDataFile->GetLanguages() );
|
SetLanguages( pMergeDataFile->GetLanguages() );
|
||||||
else if( !isInitialized )InitLanguages();
|
else if( !isInitialized )InitLanguages();
|
||||||
|
|
||||||
@@ -1915,16 +1881,14 @@ void Export::MergeRest( ResData *pResData, sal_uInt16 nMode )
|
|||||||
|
|
||||||
sal_Bool bAddSemikolon = sal_False;
|
sal_Bool bAddSemikolon = sal_False;
|
||||||
sal_Bool bFirst = sal_True;
|
sal_Bool bFirst = sal_True;
|
||||||
ByteString sCur;
|
rtl::OString sCur;
|
||||||
ByteString sTmp = Export::sLanguages;
|
|
||||||
|
|
||||||
for( unsigned int n = 0; n < aLanguages.size(); n++ ){
|
for( unsigned int n = 0; n < aLanguages.size(); n++ ){
|
||||||
sCur = aLanguages[ n ];
|
sCur = aLanguages[ n ];
|
||||||
|
|
||||||
rtl::OString sText;
|
rtl::OString sText;
|
||||||
sal_Bool bText = pEntry->GetTransex3Text( sText, STRING_TYP_TEXT, sCur , sal_True );
|
sal_Bool bText = pEntry->GetTransex3Text( sText, STRING_TYP_TEXT, sCur , sal_True );
|
||||||
if ( bText && !sText.isEmpty() && sText != "-" ) {
|
if ( bText && !sText.isEmpty() && sText != "-" ) {
|
||||||
ByteString sOutput;
|
rtl::OString sOutput;
|
||||||
if ( bNextMustBeDefineEOL) {
|
if ( bNextMustBeDefineEOL) {
|
||||||
if ( bFirst )
|
if ( bFirst )
|
||||||
sOutput += "\t\\\n";
|
sOutput += "\t\\\n";
|
||||||
@@ -1960,7 +1924,7 @@ void Export::MergeRest( ResData *pResData, sal_uInt16 nMode )
|
|||||||
|
|
||||||
|
|
||||||
if ( bAddSemikolon ) {
|
if ( bAddSemikolon ) {
|
||||||
ByteString sOutput( ";" );
|
rtl::OString sOutput( ";" );
|
||||||
WriteToMerged( sOutput , false );
|
WriteToMerged( sOutput , false );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1968,7 +1932,7 @@ void Export::MergeRest( ResData *pResData, sal_uInt16 nMode )
|
|||||||
if ( pEntry && pResData->bQuickHelpText ) {
|
if ( pEntry && pResData->bQuickHelpText ) {
|
||||||
sal_Bool bAddSemikolon = sal_False;
|
sal_Bool bAddSemikolon = sal_False;
|
||||||
sal_Bool bFirst = sal_True;
|
sal_Bool bFirst = sal_True;
|
||||||
ByteString sCur;
|
rtl::OString sCur;
|
||||||
|
|
||||||
for( unsigned int n = 0; n < aLanguages.size(); n++ ){
|
for( unsigned int n = 0; n < aLanguages.size(); n++ ){
|
||||||
sCur = aLanguages[ n ];
|
sCur = aLanguages[ n ];
|
||||||
@@ -1976,7 +1940,7 @@ void Export::MergeRest( ResData *pResData, sal_uInt16 nMode )
|
|||||||
rtl::OString sText;
|
rtl::OString sText;
|
||||||
sal_Bool bText = pEntry->GetTransex3Text( sText, STRING_TYP_QUICKHELPTEXT, sCur, sal_True );
|
sal_Bool bText = pEntry->GetTransex3Text( sText, STRING_TYP_QUICKHELPTEXT, sCur, sal_True );
|
||||||
if ( bText && !sText.isEmpty() && sText != "-" ) {
|
if ( bText && !sText.isEmpty() && sText != "-" ) {
|
||||||
ByteString sOutput;
|
rtl::OString sOutput;
|
||||||
if ( bNextMustBeDefineEOL) {
|
if ( bNextMustBeDefineEOL) {
|
||||||
if ( bFirst )
|
if ( bFirst )
|
||||||
sOutput += "\t\\\n";
|
sOutput += "\t\\\n";
|
||||||
@@ -2006,7 +1970,7 @@ void Export::MergeRest( ResData *pResData, sal_uInt16 nMode )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( bAddSemikolon ) {
|
if ( bAddSemikolon ) {
|
||||||
ByteString sOutput( ";" );
|
rtl::OString sOutput( ";" );
|
||||||
WriteToMerged( sOutput , false );
|
WriteToMerged( sOutput , false );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2014,7 +1978,7 @@ void Export::MergeRest( ResData *pResData, sal_uInt16 nMode )
|
|||||||
if ( pEntry && pResData->bTitle ) {
|
if ( pEntry && pResData->bTitle ) {
|
||||||
sal_Bool bAddSemikolon = sal_False;
|
sal_Bool bAddSemikolon = sal_False;
|
||||||
sal_Bool bFirst = sal_True;
|
sal_Bool bFirst = sal_True;
|
||||||
ByteString sCur;
|
rtl::OString sCur;
|
||||||
|
|
||||||
for( unsigned int n = 0; n < aLanguages.size(); n++ ){
|
for( unsigned int n = 0; n < aLanguages.size(); n++ ){
|
||||||
sCur = aLanguages[ n ];
|
sCur = aLanguages[ n ];
|
||||||
@@ -2022,7 +1986,7 @@ void Export::MergeRest( ResData *pResData, sal_uInt16 nMode )
|
|||||||
rtl::OString sText;
|
rtl::OString sText;
|
||||||
sal_Bool bText = pEntry->GetTransex3Text( sText, STRING_TYP_TITLE, sCur, sal_True );
|
sal_Bool bText = pEntry->GetTransex3Text( sText, STRING_TYP_TITLE, sCur, sal_True );
|
||||||
if ( bText && !sText.isEmpty() && sText != "-" ) {
|
if ( bText && !sText.isEmpty() && sText != "-" ) {
|
||||||
ByteString sOutput;
|
rtl::OString sOutput;
|
||||||
if ( bNextMustBeDefineEOL) {
|
if ( bNextMustBeDefineEOL) {
|
||||||
if ( bFirst )
|
if ( bFirst )
|
||||||
sOutput += "\t\\\n";
|
sOutput += "\t\\\n";
|
||||||
@@ -2052,7 +2016,7 @@ void Export::MergeRest( ResData *pResData, sal_uInt16 nMode )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( bAddSemikolon ) {
|
if ( bAddSemikolon ) {
|
||||||
ByteString sOutput( ";" );
|
rtl::OString sOutput( ";" );
|
||||||
WriteToMerged( sOutput ,false);
|
WriteToMerged( sOutput ,false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2060,13 +2024,13 @@ void Export::MergeRest( ResData *pResData, sal_uInt16 nMode )
|
|||||||
|
|
||||||
if ( pResData->bList ) {
|
if ( pResData->bList ) {
|
||||||
bool bPairedList = false;
|
bool bPairedList = false;
|
||||||
ByteString sOldId = pResData->sId;
|
rtl::OString sOldId = pResData->sId;
|
||||||
ByteString sOldGId = pResData->sGId;
|
rtl::OString sOldGId = pResData->sGId;
|
||||||
ByteString sOldTyp = pResData->sResTyp;
|
rtl::OString sOldTyp = pResData->sResTyp;
|
||||||
if (!pResData->sGId.isEmpty())
|
if (!pResData->sGId.isEmpty())
|
||||||
pResData->sGId = pResData->sGId + rtl::OString('.');
|
pResData->sGId = pResData->sGId + rtl::OString('.');
|
||||||
pResData->sGId = pResData->sGId + sOldId;
|
pResData->sGId = pResData->sGId + sOldId;
|
||||||
ByteString sSpace;
|
rtl::OString sSpace;
|
||||||
for ( sal_uInt16 i = 1; i < nLevel-1; i++ )
|
for ( sal_uInt16 i = 1; i < nLevel-1; i++ )
|
||||||
sSpace += "\t";
|
sSpace += "\t";
|
||||||
for ( sal_uInt16 nT = LIST_STRING; nT <= LIST_UIENTRIES; nT++ ) {
|
for ( sal_uInt16 nT = LIST_STRING; nT <= LIST_UIENTRIES; nT++ ) {
|
||||||
@@ -2090,7 +2054,7 @@ void Export::MergeRest( ResData *pResData, sal_uInt16 nMode )
|
|||||||
pResData->sId = GetPairedListID ( (*pListE)[ SOURCE_LANGUAGE ] );
|
pResData->sId = GetPairedListID ( (*pListE)[ SOURCE_LANGUAGE ] );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
pResData->sId = ByteString("1");
|
pResData->sId = "1";
|
||||||
|
|
||||||
PFormEntrys *pEntrys;
|
PFormEntrys *pEntrys;
|
||||||
sal_uLong nLIndex = 0;
|
sal_uLong nLIndex = 0;
|
||||||
@@ -2169,7 +2133,7 @@ void Export::MergeRest( ResData *pResData, sal_uInt16 nMode )
|
|||||||
sal_Int32 nStart, nEnd;
|
sal_Int32 nStart, nEnd;
|
||||||
nStart = sLine.indexOf( '"' );
|
nStart = sLine.indexOf( '"' );
|
||||||
|
|
||||||
ByteString sPostFix;
|
rtl::OString sPostFix;
|
||||||
if( !bPairedList ){
|
if( !bPairedList ){
|
||||||
nEnd = sLine.lastIndexOf( '"' );
|
nEnd = sLine.lastIndexOf( '"' );
|
||||||
sPostFix = sLine.copy( ++nEnd );
|
sPostFix = sLine.copy( ++nEnd );
|
||||||
@@ -2188,7 +2152,7 @@ void Export::MergeRest( ResData *pResData, sal_uInt16 nMode )
|
|||||||
sLine += sPostFix;
|
sLine += sPostFix;
|
||||||
}
|
}
|
||||||
|
|
||||||
ByteString sText1( "\t" );
|
rtl::OString sText1( "\t" );
|
||||||
sText1 += sLine;
|
sText1 += sLine;
|
||||||
if ( bDefine || bNextMustBeDefineEOL )
|
if ( bDefine || bNextMustBeDefineEOL )
|
||||||
sText1 += " ;\\\n";
|
sText1 += " ;\\\n";
|
||||||
@@ -2218,7 +2182,10 @@ void Export::MergeRest( ResData *pResData, sal_uInt16 nMode )
|
|||||||
pEntrys = oldEntry;
|
pEntrys = oldEntry;
|
||||||
}
|
}
|
||||||
if ( nIdx > 1 ) {
|
if ( nIdx > 1 ) {
|
||||||
ByteString sFooter( sSpace.Copy( 1 ));
|
rtl::OString sFooter;
|
||||||
|
if (!sSpace.isEmpty()) {
|
||||||
|
sFooter = sSpace.copy(1);
|
||||||
|
}
|
||||||
if ( bNextMustBeDefineEOL )
|
if ( bNextMustBeDefineEOL )
|
||||||
sFooter += "};";
|
sFooter += "};";
|
||||||
else if ( !bDefine )
|
else if ( !bDefine )
|
||||||
@@ -2270,7 +2237,7 @@ void Export::MergeRest( ResData *pResData, sal_uInt16 nMode )
|
|||||||
}
|
}
|
||||||
|
|
||||||
while( PrepareTextToMerge( sLine, nList, m_sListLang, pResData ) && ( nListIndex <= nMaxIndex )) {
|
while( PrepareTextToMerge( sLine, nList, m_sListLang, pResData ) && ( nListIndex <= nMaxIndex )) {
|
||||||
ByteString sText( "\t" );
|
rtl::OString sText( "\t" );
|
||||||
sText += sLine;
|
sText += sLine;
|
||||||
sText += " ;";
|
sText += " ;";
|
||||||
sText += "\n";
|
sText += "\n";
|
||||||
|
@@ -114,9 +114,9 @@ void Export::DumpMap(const rtl::OString& rMapName,
|
|||||||
return;
|
return;
|
||||||
for(OStringHashMap::const_iterator idbg = aMap.begin(); idbg != aMap.end(); ++idbg)
|
for(OStringHashMap::const_iterator idbg = aMap.begin(); idbg != aMap.end(); ++idbg)
|
||||||
{
|
{
|
||||||
ByteString a( idbg->first );
|
rtl::OString a( idbg->first );
|
||||||
ByteString b( idbg->second );
|
rtl::OString b( idbg->second );
|
||||||
printf("[%s]= %s",a.GetBuffer(),b.GetBuffer());
|
printf("[%s]= %s",a.getStr(),b.getStr());
|
||||||
printf("\n");
|
printf("\n");
|
||||||
}
|
}
|
||||||
printf("\n");
|
printf("\n");
|
||||||
@@ -343,7 +343,7 @@ void Export::InitLanguages( bool bMergeMode ){
|
|||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
if( !isInitialized )
|
if( !isInitialized )
|
||||||
{
|
{
|
||||||
ByteString sTmp;
|
rtl::OString sTmp;
|
||||||
OStringBoolHashMap aEnvLangs;
|
OStringBoolHashMap aEnvLangs;
|
||||||
|
|
||||||
sal_Int32 nIndex = 0;
|
sal_Int32 nIndex = 0;
|
||||||
@@ -353,7 +353,7 @@ void Export::InitLanguages( bool bMergeMode ){
|
|||||||
sTmp = getToken(aToken, 0, '=');
|
sTmp = getToken(aToken, 0, '=');
|
||||||
sTmp = comphelper::string::strip(sTmp, ' ');
|
sTmp = comphelper::string::strip(sTmp, ' ');
|
||||||
if( bMergeMode && !isAllowed( sTmp ) ){}
|
if( bMergeMode && !isAllowed( sTmp ) ){}
|
||||||
else if( !( (sTmp.GetChar(0)=='x' || sTmp.GetChar(0)=='X') && sTmp.GetChar(1)=='-' ) ){
|
else if( !( (sTmp[0]=='x' || sTmp[0]=='X') && sTmp[1]=='-' ) ){
|
||||||
aLanguages.push_back( sTmp );
|
aLanguages.push_back( sTmp );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -366,7 +366,7 @@ void Export::InitLanguages( bool bMergeMode ){
|
|||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void Export::InitForcedLanguages( bool bMergeMode ){
|
void Export::InitForcedLanguages( bool bMergeMode ){
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
ByteString sTmp;
|
rtl::OString sTmp;
|
||||||
OStringBoolHashMap aEnvLangs;
|
OStringBoolHashMap aEnvLangs;
|
||||||
|
|
||||||
sal_Int32 nIndex = 0;
|
sal_Int32 nIndex = 0;
|
||||||
@@ -377,7 +377,7 @@ void Export::InitForcedLanguages( bool bMergeMode ){
|
|||||||
sTmp = getToken(aToken, 0, '=');
|
sTmp = getToken(aToken, 0, '=');
|
||||||
sTmp = comphelper::string::strip(sTmp, ' ');
|
sTmp = comphelper::string::strip(sTmp, ' ');
|
||||||
if( bMergeMode && isAllowed( sTmp ) ){}
|
if( bMergeMode && isAllowed( sTmp ) ){}
|
||||||
else if( !( (sTmp.GetChar(0)=='x' || sTmp.GetChar(0)=='X') && sTmp.GetChar(1)=='-' ) )
|
else if( !( (sTmp[0]=='x' || sTmp[0]=='X') && sTmp[1]=='-' ) )
|
||||||
aForcedLanguages.push_back( sTmp );
|
aForcedLanguages.push_back( sTmp );
|
||||||
}
|
}
|
||||||
while ( nIndex >= 0 );
|
while ( nIndex >= 0 );
|
||||||
@@ -399,8 +399,8 @@ sal_Bool Export::ConvertLineEnds(
|
|||||||
rtl::OString const & sSource, rtl::OString const & sDestination )
|
rtl::OString const & sSource, rtl::OString const & sDestination )
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
{
|
{
|
||||||
String sSourceFile( sSource, RTL_TEXTENCODING_ASCII_US );
|
rtl::OUString sSourceFile(rtl::OStringToOUString(sSource, RTL_TEXTENCODING_ASCII_US));
|
||||||
String sDestinationFile( sDestination, RTL_TEXTENCODING_ASCII_US );
|
rtl::OUString sDestinationFile(rtl::OStringToOUString(sDestination, RTL_TEXTENCODING_ASCII_US));
|
||||||
|
|
||||||
SvFileStream aSource( sSourceFile, STREAM_READ );
|
SvFileStream aSource( sSourceFile, STREAM_READ );
|
||||||
if ( !aSource.IsOpen())
|
if ( !aSource.IsOpen())
|
||||||
@@ -512,10 +512,10 @@ DirEntry Export::GetTempFile()
|
|||||||
int nRC = osl::FileBase::createTempFile( 0 , 0 , sTempFilename );
|
int nRC = osl::FileBase::createTempFile( 0 , 0 , sTempFilename );
|
||||||
if( nRC ) printf(" osl::FileBase::createTempFile RC = %d",nRC);
|
if( nRC ) printf(" osl::FileBase::createTempFile RC = %d",nRC);
|
||||||
|
|
||||||
String strTmp( *sTempFilename );
|
rtl::OUString strTmp( *sTempFilename );
|
||||||
|
|
||||||
INetURLObject::DecodeMechanism eMechanism = INetURLObject::DECODE_TO_IURI;
|
INetURLObject::DecodeMechanism eMechanism = INetURLObject::DECODE_TO_IURI;
|
||||||
String sDecodedStr = INetURLObject::decode( strTmp , '%' , eMechanism );
|
rtl::OUString sDecodedStr = INetURLObject::decode( strTmp , '%' , eMechanism );
|
||||||
rtl::OString sTmp(rtl::OUStringToOString(sDecodedStr , RTL_TEXTENCODING_UTF8));
|
rtl::OString sTmp(rtl::OUStringToOString(sDecodedStr , RTL_TEXTENCODING_UTF8));
|
||||||
|
|
||||||
#if defined(WNT)
|
#if defined(WNT)
|
||||||
|
@@ -64,9 +64,9 @@ void PrintError( rtl::OString const & aMsg, rtl::OString const & aPrefix,
|
|||||||
PrintMessage( "Error:", aMsg, aPrefix, aContext, bPrintContext, nLine, aUniqueId );
|
PrintMessage( "Error:", aMsg, aPrefix, aContext, bPrintContext, nLine, aUniqueId );
|
||||||
}
|
}
|
||||||
|
|
||||||
sal_Bool LanguageOK( ByteString aLang )
|
sal_Bool LanguageOK( rtl::OString const & aLang )
|
||||||
{
|
{
|
||||||
if ( !aLang.Len() )
|
if (aLang.isEmpty())
|
||||||
return sal_False;
|
return sal_False;
|
||||||
|
|
||||||
using comphelper::string::isdigitAsciiString;
|
using comphelper::string::isdigitAsciiString;
|
||||||
@@ -80,11 +80,11 @@ sal_Bool LanguageOK( ByteString aLang )
|
|||||||
return islowerAsciiString(aLang);
|
return islowerAsciiString(aLang);
|
||||||
else if ( getTokenCount(aLang, '-') == 2 )
|
else if ( getTokenCount(aLang, '-') == 2 )
|
||||||
{
|
{
|
||||||
ByteString aTok0( getToken(aLang, 0, '-') );
|
rtl::OString aTok0( getToken(aLang, 0, '-') );
|
||||||
ByteString aTok1( getToken(aLang, 1, '-') );
|
rtl::OString aTok1( getToken(aLang, 1, '-') );
|
||||||
return aTok0.Len() && islowerAsciiString(aTok0)
|
return !aTok0.isEmpty() && islowerAsciiString(aTok0)
|
||||||
&& aTok1.Len() && isupperAsciiString(aTok1)
|
&& !aTok1.isEmpty() && isupperAsciiString(aTok1)
|
||||||
&& !aTok1.EqualsIgnoreCaseAscii( aTok0 );
|
&& !aTok1.equalsIgnoreAsciiCase( aTok0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
return sal_False;
|
return sal_False;
|
||||||
@@ -99,7 +99,7 @@ class LazySvFileStream : public SvFileStream
|
|||||||
{
|
{
|
||||||
|
|
||||||
private:
|
private:
|
||||||
String aFileName;
|
rtl::OUString aFileName;
|
||||||
sal_Bool bOpened;
|
sal_Bool bOpened;
|
||||||
StreamMode eOpenMode;
|
StreamMode eOpenMode;
|
||||||
|
|
||||||
@@ -110,7 +110,7 @@ public:
|
|||||||
, eOpenMode( 0 )
|
, eOpenMode( 0 )
|
||||||
{};
|
{};
|
||||||
|
|
||||||
void SetOpenParams( const String& rFileName, StreamMode eOpenModeP )
|
void SetOpenParams( const rtl::OUString& rFileName, StreamMode eOpenModeP )
|
||||||
{
|
{
|
||||||
aFileName = rFileName;
|
aFileName = rFileName;
|
||||||
eOpenMode = eOpenModeP;
|
eOpenMode = eOpenModeP;
|
||||||
@@ -207,28 +207,27 @@ void GSILine::NotOK()
|
|||||||
void GSILine::ReassembleLine()
|
void GSILine::ReassembleLine()
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
{
|
{
|
||||||
ByteString aReassemble;
|
|
||||||
if ( GetLineFormat() == FORMAT_SDF )
|
if ( GetLineFormat() == FORMAT_SDF )
|
||||||
{
|
{
|
||||||
sal_uInt16 i;
|
rtl::OStringBuffer aReassemble;
|
||||||
for ( i = 0 ; i < 10 ; i++ )
|
for (sal_Int32 i = 0; i < 10; ++i)
|
||||||
{
|
{
|
||||||
aReassemble.Append( helper::getToken( data_, i, '\t' ) );
|
aReassemble.append( helper::getToken( data_, i, '\t' ) );
|
||||||
aReassemble.Append( "\t" );
|
aReassemble.append( "\t" );
|
||||||
}
|
}
|
||||||
aReassemble.Append( aText );
|
aReassemble.append( aText );
|
||||||
aReassemble.Append( "\t" );
|
aReassemble.append( "\t" );
|
||||||
aReassemble.Append( helper::getToken( data_, 11, '\t' ) ); // should be empty but there are some places in sc. Not reflected to sources!!
|
aReassemble.append( helper::getToken( data_, 11, '\t' ) ); // should be empty but there are some places in sc. Not reflected to sources!!
|
||||||
aReassemble.Append( "\t" );
|
aReassemble.append( "\t" );
|
||||||
aReassemble.Append( aQuickHelpText );
|
aReassemble.append( aQuickHelpText );
|
||||||
aReassemble.Append( "\t" );
|
aReassemble.append( "\t" );
|
||||||
aReassemble.Append( aTitle );
|
aReassemble.append( aTitle );
|
||||||
for ( i = 14 ; i < 15 ; i++ )
|
for (sal_Int32 i = 14; i < 15; ++i)
|
||||||
{
|
{
|
||||||
aReassemble.Append( "\t" );
|
aReassemble.append( "\t" );
|
||||||
aReassemble.Append( helper::getToken( data_, i, '\t' ) );
|
aReassemble.append( helper::getToken( data_, i, '\t' ) );
|
||||||
}
|
}
|
||||||
*(ByteString*)this = aReassemble;
|
data_ = aReassemble.makeStringAndClear();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
PrintError( "Cannot reassemble line of unknown type (internal Error).", "Line format", "", sal_False, GetLineNumber(), GetUniqId() );
|
PrintError( "Cannot reassemble line of unknown type (internal Error).", "Line format", "", sal_False, GetLineNumber(), GetUniqId() );
|
||||||
@@ -329,7 +328,7 @@ void GSIBlock::PrintList( ParserMessageList *pList, rtl::OString const & aPrefix
|
|||||||
for ( size_t i = 0 ; i < pList->size() ; i++ )
|
for ( size_t i = 0 ; i < pList->size() ; i++ )
|
||||||
{
|
{
|
||||||
ParserMessage *pMsg = (*pList)[ i ];
|
ParserMessage *pMsg = (*pList)[ i ];
|
||||||
ByteString aContext;
|
rtl::OString aContext;
|
||||||
if ( bPrintContext )
|
if ( bPrintContext )
|
||||||
{
|
{
|
||||||
if ( pMsg->GetTagBegin() == STRING_NOTFOUND )
|
if ( pMsg->GetTagBegin() == STRING_NOTFOUND )
|
||||||
@@ -345,21 +344,28 @@ void GSIBlock::PrintList( ParserMessageList *pList, rtl::OString const & aPrefix
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
sal_Bool GSIBlock::IsUTF8( const rtl::OString &aTestee, sal_Bool bFixTags, sal_uInt16 &nErrorPos, rtl::OString &aErrorMsg, sal_Bool &bHasBeenFixed, rtl::OString &aFixed ) const
|
sal_Bool GSIBlock::IsUTF8( const rtl::OString &aTestee, sal_Bool bFixTags, sal_Int32 &nErrorPos, rtl::OString &aErrorMsg, sal_Bool &bHasBeenFixed, rtl::OString &aFixed ) const
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
{
|
{
|
||||||
String aUTF8Tester(rtl::OStringToOUString(aTestee, RTL_TEXTENCODING_UTF8));
|
rtl::OUString aUTF8Tester(
|
||||||
if ( STRING_MATCH != (nErrorPos = ByteString(rtl::OUStringToOString(aUTF8Tester, RTL_TEXTENCODING_UTF8)).Match( aTestee )) )
|
rtl::OStringToOUString(aTestee, RTL_TEXTENCODING_UTF8));
|
||||||
|
nErrorPos = rtl::OUStringToOString(aUTF8Tester, RTL_TEXTENCODING_UTF8).
|
||||||
|
indexOf(aTestee);
|
||||||
|
if (nErrorPos != -1)
|
||||||
{
|
{
|
||||||
aUTF8Tester = String( aTestee.getStr(), nErrorPos, RTL_TEXTENCODING_UTF8 );
|
aUTF8Tester = rtl::OUString(
|
||||||
nErrorPos = aUTF8Tester.Len();
|
aTestee.getStr(), nErrorPos, RTL_TEXTENCODING_UTF8);
|
||||||
|
nErrorPos = aUTF8Tester.getLength();
|
||||||
aErrorMsg = "UTF8 Encoding seems to be broken";
|
aErrorMsg = "UTF8 Encoding seems to be broken";
|
||||||
return sal_False;
|
return sal_False;
|
||||||
}
|
}
|
||||||
|
|
||||||
nErrorPos = aUTF8Tester.SearchChar( String::CreateFromAscii( "\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0b\x0c\x0e\x0f"
|
nErrorPos = helper::indexOfAnyAsciiL(
|
||||||
"\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f\x7f" ).GetBuffer() );
|
aUTF8Tester,
|
||||||
if ( nErrorPos != STRING_NOTFOUND )
|
RTL_CONSTASCII_STRINGPARAM(
|
||||||
|
"\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0b\x0c\x0e\x0f\x10\x11\x12"
|
||||||
|
"\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f\x7f"));
|
||||||
|
if (nErrorPos != -1)
|
||||||
{
|
{
|
||||||
aErrorMsg = "String contains illegal character";
|
aErrorMsg = "String contains illegal character";
|
||||||
return sal_False;
|
return sal_False;
|
||||||
@@ -378,16 +384,16 @@ sal_Bool GSIBlock::IsUTF8( const rtl::OString &aTestee, sal_Bool bFixTags, sal_u
|
|||||||
sal_Bool GSIBlock::TestUTF8( GSILine* pTestee, sal_Bool bFixTags )
|
sal_Bool GSIBlock::TestUTF8( GSILine* pTestee, sal_Bool bFixTags )
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
{
|
{
|
||||||
sal_uInt16 nErrorPos = 0;
|
sal_Int32 nErrorPos = 0;
|
||||||
rtl::OString aErrorMsg;
|
rtl::OString aErrorMsg;
|
||||||
sal_Bool bError = sal_False;
|
sal_Bool bError = sal_False;
|
||||||
rtl::OString aFixed;
|
rtl::OString aFixed;
|
||||||
sal_Bool bHasBeenFixed = sal_False;
|
sal_Bool bHasBeenFixed = sal_False;
|
||||||
if ( !IsUTF8( pTestee->GetText(), bFixTags, nErrorPos, aErrorMsg, bHasBeenFixed, aFixed ) )
|
if ( !IsUTF8( pTestee->GetText(), bFixTags, nErrorPos, aErrorMsg, bHasBeenFixed, aFixed ) )
|
||||||
{
|
{
|
||||||
ByteString aContext( pTestee->GetText().copy( nErrorPos, 20 ) );
|
rtl::OString aContext( pTestee->GetText().copy( nErrorPos, 20 ) );
|
||||||
PrintError(rtl::OStringBuffer(aErrorMsg).append(RTL_CONSTASCII_STRINGPARAM(" in Text at Position "))
|
PrintError(rtl::OStringBuffer(aErrorMsg).append(RTL_CONSTASCII_STRINGPARAM(" in Text at Position "))
|
||||||
.append(static_cast<sal_Int32>(nErrorPos)).getStr(),
|
.append(nErrorPos).getStr(),
|
||||||
"Text format", aContext, pTestee->GetLineNumber(), pTestee->GetUniqId());
|
"Text format", aContext, pTestee->GetLineNumber(), pTestee->GetUniqId());
|
||||||
bError = sal_True;
|
bError = sal_True;
|
||||||
if ( bHasBeenFixed )
|
if ( bHasBeenFixed )
|
||||||
@@ -400,7 +406,7 @@ sal_Bool GSIBlock::TestUTF8( GSILine* pTestee, sal_Bool bFixTags )
|
|||||||
{
|
{
|
||||||
rtl::OString aContext( pTestee->GetQuickHelpText().copy( nErrorPos, 20 ) );
|
rtl::OString aContext( pTestee->GetQuickHelpText().copy( nErrorPos, 20 ) );
|
||||||
PrintError(rtl::OStringBuffer(aErrorMsg).append(RTL_CONSTASCII_STRINGPARAM(" in QuickHelpText at Position "))
|
PrintError(rtl::OStringBuffer(aErrorMsg).append(RTL_CONSTASCII_STRINGPARAM(" in QuickHelpText at Position "))
|
||||||
.append(static_cast<sal_Int32>(nErrorPos)).getStr(),
|
.append(nErrorPos).getStr(),
|
||||||
"Text format", aContext, pTestee->GetLineNumber(), pTestee->GetUniqId());
|
"Text format", aContext, pTestee->GetLineNumber(), pTestee->GetUniqId());
|
||||||
bError = sal_True;
|
bError = sal_True;
|
||||||
if ( bHasBeenFixed )
|
if ( bHasBeenFixed )
|
||||||
@@ -413,7 +419,7 @@ sal_Bool GSIBlock::TestUTF8( GSILine* pTestee, sal_Bool bFixTags )
|
|||||||
{
|
{
|
||||||
rtl::OString aContext( pTestee->GetTitle().copy( nErrorPos, 20 ) );
|
rtl::OString aContext( pTestee->GetTitle().copy( nErrorPos, 20 ) );
|
||||||
PrintError(rtl::OStringBuffer(aErrorMsg).append(RTL_CONSTASCII_STRINGPARAM(" in Title at Position "))
|
PrintError(rtl::OStringBuffer(aErrorMsg).append(RTL_CONSTASCII_STRINGPARAM(" in Title at Position "))
|
||||||
.append(static_cast<sal_Int32>(nErrorPos)).getStr(),
|
.append(nErrorPos).getStr(),
|
||||||
"Text format", aContext, pTestee->GetLineNumber(), pTestee->GetUniqId());
|
"Text format", aContext, pTestee->GetLineNumber(), pTestee->GetUniqId());
|
||||||
bError = sal_True;
|
bError = sal_True;
|
||||||
if ( bHasBeenFixed )
|
if ( bHasBeenFixed )
|
||||||
@@ -436,11 +442,13 @@ sal_Bool GSIBlock::HasSuspiciousChars( GSILine* pTestee, GSILine* pSource )
|
|||||||
if ( !bAllowSuspicious && ( nPos = pTestee->GetText().indexOf("??")) != -1 )
|
if ( !bAllowSuspicious && ( nPos = pTestee->GetText().indexOf("??")) != -1 )
|
||||||
if ( pSource->GetText().indexOf("??") == -1 )
|
if ( pSource->GetText().indexOf("??") == -1 )
|
||||||
{
|
{
|
||||||
String aUTF8Tester = String( pTestee->GetText(), 0, nPos, RTL_TEXTENCODING_UTF8 );
|
rtl::OUString aUTF8Tester(
|
||||||
sal_uInt16 nErrorPos = aUTF8Tester.Len();
|
rtl::OStringToOUString(
|
||||||
|
pTestee->GetText().copy(0, nPos), RTL_TEXTENCODING_UTF8));
|
||||||
|
sal_Int32 nErrorPos = aUTF8Tester.getLength();
|
||||||
rtl::OString aContext( pTestee->GetText().copy( nPos, 20 ) );
|
rtl::OString aContext( pTestee->GetText().copy( nPos, 20 ) );
|
||||||
PrintError(rtl::OStringBuffer(RTL_CONSTASCII_STRINGPARAM("Found double questionmark in translation only. Looks like an encoding problem at Position "))
|
PrintError(rtl::OStringBuffer(RTL_CONSTASCII_STRINGPARAM("Found double questionmark in translation only. Looks like an encoding problem at Position "))
|
||||||
.append(static_cast<sal_Int32>(nErrorPos)).getStr(),
|
.append(nErrorPos).getStr(),
|
||||||
"Text format", aContext, pTestee->GetLineNumber(), pTestee->GetUniqId());
|
"Text format", aContext, pTestee->GetLineNumber(), pTestee->GetUniqId());
|
||||||
pTestee->NotOK();
|
pTestee->NotOK();
|
||||||
return sal_True;
|
return sal_True;
|
||||||
@@ -494,10 +502,10 @@ sal_Bool GSIBlock::CheckSyntax( sal_uLong nLine, sal_Bool bRequireSourceLine, sa
|
|||||||
{
|
{
|
||||||
if ( pSourceLine && pSourceLine->data_ != pReferenceLine->data_ )
|
if ( pSourceLine && pSourceLine->data_ != pReferenceLine->data_ )
|
||||||
{
|
{
|
||||||
xub_StrLen nPos = ByteString(pSourceLine->data_).Match( pReferenceLine->data_ );
|
sal_Int32 nPos = pSourceLine->data_.indexOf( pReferenceLine->data_ );
|
||||||
ByteString aContext( pReferenceLine->data_.copy( nPos - 5, 15) );
|
rtl::OStringBuffer aContext( pReferenceLine->data_.copy( nPos - 5, 15) );
|
||||||
aContext.Append( "\" --> \"" ).Append( pSourceLine->data_.copy( nPos - 5, 15) );
|
aContext.append( "\" --> \"" ).append( pSourceLine->data_.copy( nPos - 5, 15) );
|
||||||
PrintError( "Source Language Entry has changed.", "File format", aContext, pSourceLine->GetLineNumber(), pSourceLine->GetUniqId() );
|
PrintError( "Source Language Entry has changed.", "File format", aContext.makeStringAndClear(), pSourceLine->GetLineNumber(), pSourceLine->GetUniqId() );
|
||||||
pSourceLine->NotOK();
|
pSourceLine->NotOK();
|
||||||
bHasError = sal_True;
|
bHasError = sal_True;
|
||||||
}
|
}
|
||||||
@@ -662,13 +670,13 @@ int _cdecl main( int argc, char *argv[] )
|
|||||||
sal_Bool bWriteFixed = sal_False;
|
sal_Bool bWriteFixed = sal_False;
|
||||||
sal_Bool bFixTags = sal_False;
|
sal_Bool bFixTags = sal_False;
|
||||||
sal_Bool bAllowSuspicious = sal_False;
|
sal_Bool bAllowSuspicious = sal_False;
|
||||||
String aErrorFilename;
|
rtl::OUString aErrorFilename;
|
||||||
String aCorrectFilename;
|
rtl::OUString aCorrectFilename;
|
||||||
String aFixedFilename;
|
rtl::OUString aFixedFilename;
|
||||||
sal_Bool bFileHasError = sal_False;
|
sal_Bool bFileHasError = sal_False;
|
||||||
rtl::OString aSourceLang( "en-US" ); // English is default
|
rtl::OString aSourceLang( "en-US" ); // English is default
|
||||||
ByteString aFilename;
|
rtl::OString aFilename;
|
||||||
ByteString aReferenceFilename;
|
rtl::OString aReferenceFilename;
|
||||||
sal_Bool bReferenceFile = sal_False;
|
sal_Bool bReferenceFile = sal_False;
|
||||||
for ( sal_uInt16 i = 1 ; i < argc ; i++ )
|
for ( sal_uInt16 i = 1 ; i < argc ; i++ )
|
||||||
{
|
{
|
||||||
@@ -685,7 +693,10 @@ int _cdecl main( int argc, char *argv[] )
|
|||||||
if ( (*(argv[ i ]+3)) == 'f' )
|
if ( (*(argv[ i ]+3)) == 'f' )
|
||||||
if ( (i+1) < argc )
|
if ( (i+1) < argc )
|
||||||
{
|
{
|
||||||
aErrorFilename = String( argv[ i+1 ], RTL_TEXTENCODING_ASCII_US );
|
aErrorFilename = rtl::OUString(
|
||||||
|
argv[i + 1],
|
||||||
|
rtl_str_getLength(argv[i + 1]),
|
||||||
|
RTL_TEXTENCODING_ASCII_US);
|
||||||
bWriteError = sal_True;
|
bWriteError = sal_True;
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
@@ -701,7 +712,10 @@ int _cdecl main( int argc, char *argv[] )
|
|||||||
if ( (*(argv[ i ]+3)) == 'f' )
|
if ( (*(argv[ i ]+3)) == 'f' )
|
||||||
if ( (i+1) < argc )
|
if ( (i+1) < argc )
|
||||||
{
|
{
|
||||||
aCorrectFilename = String( argv[ i+1 ], RTL_TEXTENCODING_ASCII_US );
|
aCorrectFilename = rtl::OUString(
|
||||||
|
argv[i + 1],
|
||||||
|
rtl_str_getLength(argv[i + 1]),
|
||||||
|
RTL_TEXTENCODING_ASCII_US);
|
||||||
bWriteCorrect = sal_True;
|
bWriteCorrect = sal_True;
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
@@ -716,7 +730,10 @@ int _cdecl main( int argc, char *argv[] )
|
|||||||
if ( (*(argv[ i ]+3)) == 'f' )
|
if ( (*(argv[ i ]+3)) == 'f' )
|
||||||
if ( (i+1) < argc )
|
if ( (i+1) < argc )
|
||||||
{
|
{
|
||||||
aFixedFilename = String( argv[ i+1 ], RTL_TEXTENCODING_ASCII_US );
|
aFixedFilename = rtl::OUString(
|
||||||
|
argv[i + 1],
|
||||||
|
rtl_str_getLength(argv[i + 1]),
|
||||||
|
RTL_TEXTENCODING_ASCII_US);
|
||||||
bWriteFixed = sal_True;
|
bWriteFixed = sal_True;
|
||||||
bFixTags = sal_True;
|
bFixTags = sal_True;
|
||||||
i++;
|
i++;
|
||||||
@@ -790,8 +807,8 @@ int _cdecl main( int argc, char *argv[] )
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ( !aFilename.Len())
|
if (aFilename.isEmpty())
|
||||||
aFilename = ByteString( argv[ i ] );
|
aFilename = argv[i];
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fprintf( stderr, "\nERROR: Only one filename may be specified!\n\n");
|
fprintf( stderr, "\nERROR: Only one filename may be specified!\n\n");
|
||||||
@@ -801,7 +818,7 @@ int _cdecl main( int argc, char *argv[] )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if ( !aFilename.Len() || bError )
|
if (aFilename.isEmpty() || bError)
|
||||||
{
|
{
|
||||||
Help();
|
Help();
|
||||||
exit ( 0 );
|
exit ( 0 );
|
||||||
@@ -823,42 +840,42 @@ int _cdecl main( int argc, char *argv[] )
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
DirEntry aSource = DirEntry( String( aFilename, RTL_TEXTENCODING_ASCII_US ));
|
DirEntry aSource = DirEntry( rtl::OStringToOUString( aFilename, RTL_TEXTENCODING_ASCII_US ));
|
||||||
if ( !aSource.Exists()) {
|
if ( !aSource.Exists()) {
|
||||||
fprintf( stderr, "\nERROR: GSI-File %s not found!\n\n", aFilename.GetBuffer() );
|
fprintf( stderr, "\nERROR: GSI-File %s not found!\n\n", aFilename.getStr() );
|
||||||
exit ( 2 );
|
exit ( 2 );
|
||||||
}
|
}
|
||||||
|
|
||||||
SvFileStream aGSI( String( aFilename, RTL_TEXTENCODING_ASCII_US ), STREAM_STD_READ );
|
SvFileStream aGSI( rtl::OStringToOUString( aFilename, RTL_TEXTENCODING_ASCII_US ), STREAM_STD_READ );
|
||||||
if ( !aGSI.IsOpen()) {
|
if ( !aGSI.IsOpen()) {
|
||||||
fprintf( stderr, "\nERROR: Could not open GSI-File %s!\n\n", aFilename.GetBuffer() );
|
fprintf( stderr, "\nERROR: Could not open GSI-File %s!\n\n", aFilename.getStr() );
|
||||||
exit ( 3 );
|
exit ( 3 );
|
||||||
}
|
}
|
||||||
|
|
||||||
SvFileStream aReferenceGSI;
|
SvFileStream aReferenceGSI;
|
||||||
if ( bReferenceFile )
|
if ( bReferenceFile )
|
||||||
{
|
{
|
||||||
DirEntry aReferenceSource = DirEntry( String( aReferenceFilename, RTL_TEXTENCODING_ASCII_US ));
|
DirEntry aReferenceSource = DirEntry( rtl::OStringToOUString( aReferenceFilename, RTL_TEXTENCODING_ASCII_US ));
|
||||||
if ( !aReferenceSource.Exists()) {
|
if ( !aReferenceSource.Exists()) {
|
||||||
fprintf( stderr, "\nERROR: GSI-File %s not found!\n\n", aFilename.GetBuffer() );
|
fprintf( stderr, "\nERROR: GSI-File %s not found!\n\n", aFilename.getStr() );
|
||||||
exit ( 2 );
|
exit ( 2 );
|
||||||
}
|
}
|
||||||
|
|
||||||
aReferenceGSI.Open( String( aReferenceFilename, RTL_TEXTENCODING_ASCII_US ), STREAM_STD_READ );
|
aReferenceGSI.Open( rtl::OStringToOUString( aReferenceFilename, RTL_TEXTENCODING_ASCII_US ), STREAM_STD_READ );
|
||||||
if ( !aReferenceGSI.IsOpen()) {
|
if ( !aReferenceGSI.IsOpen()) {
|
||||||
fprintf( stderr, "\nERROR: Could not open Input-File %s!\n\n", aFilename.GetBuffer() );
|
fprintf( stderr, "\nERROR: Could not open Input-File %s!\n\n", aFilename.getStr() );
|
||||||
exit ( 3 );
|
exit ( 3 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LazySvFileStream aOkOut;
|
LazySvFileStream aOkOut;
|
||||||
String aBaseName = aSource.GetBase();
|
rtl::OUString aBaseName(aSource.GetBase());
|
||||||
if ( bWriteCorrect )
|
if ( bWriteCorrect )
|
||||||
{
|
{
|
||||||
if ( !aCorrectFilename.Len() )
|
if (aCorrectFilename.isEmpty())
|
||||||
{
|
{
|
||||||
String sTmpBase( aBaseName );
|
rtl::OUString sTmpBase(aBaseName);
|
||||||
sTmpBase += String( "_ok", RTL_TEXTENCODING_ASCII_US );
|
sTmpBase += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("_ok"));
|
||||||
aSource.SetBase( sTmpBase );
|
aSource.SetBase( sTmpBase );
|
||||||
aCorrectFilename = aSource.GetFull();
|
aCorrectFilename = aSource.GetFull();
|
||||||
}
|
}
|
||||||
@@ -868,10 +885,10 @@ int _cdecl main( int argc, char *argv[] )
|
|||||||
LazySvFileStream aErrOut;
|
LazySvFileStream aErrOut;
|
||||||
if ( bWriteError )
|
if ( bWriteError )
|
||||||
{
|
{
|
||||||
if ( !aErrorFilename.Len() )
|
if (aErrorFilename.isEmpty())
|
||||||
{
|
{
|
||||||
String sTmpBase( aBaseName );
|
rtl::OUString sTmpBase(aBaseName);
|
||||||
sTmpBase += String( "_err", RTL_TEXTENCODING_ASCII_US );
|
sTmpBase += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("_err"));
|
||||||
aSource.SetBase( sTmpBase );
|
aSource.SetBase( sTmpBase );
|
||||||
aErrorFilename = aSource.GetFull();
|
aErrorFilename = aSource.GetFull();
|
||||||
}
|
}
|
||||||
@@ -881,10 +898,10 @@ int _cdecl main( int argc, char *argv[] )
|
|||||||
LazySvFileStream aFixOut;
|
LazySvFileStream aFixOut;
|
||||||
if ( bWriteFixed )
|
if ( bWriteFixed )
|
||||||
{
|
{
|
||||||
if ( !aFixedFilename.Len() )
|
if (aFixedFilename.isEmpty())
|
||||||
{
|
{
|
||||||
String sTmpBase( aBaseName );
|
rtl::OUString sTmpBase(aBaseName);
|
||||||
sTmpBase += String( "_fix", RTL_TEXTENCODING_ASCII_US );
|
sTmpBase += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("_fix"));
|
||||||
aSource.SetBase( sTmpBase );
|
aSource.SetBase( sTmpBase );
|
||||||
aFixedFilename = aSource.GetFull();
|
aFixedFilename = aSource.GetFull();
|
||||||
}
|
}
|
||||||
@@ -894,7 +911,6 @@ int _cdecl main( int argc, char *argv[] )
|
|||||||
|
|
||||||
rtl::OString sReferenceLine;
|
rtl::OString sReferenceLine;
|
||||||
GSILine* pReferenceLine = NULL;
|
GSILine* pReferenceLine = NULL;
|
||||||
ByteString aOldReferenceId("No Valid ID"); // just set to something which can never be an ID
|
|
||||||
sal_uLong nReferenceLine = 0;
|
sal_uLong nReferenceLine = 0;
|
||||||
|
|
||||||
rtl::OString sGSILine;
|
rtl::OString sGSILine;
|
||||||
|
@@ -56,6 +56,21 @@ inline sal_Int32 searchAndReplace(
|
|||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline void searchAndReplaceAll(
|
||||||
|
rtl::OString * text, rtl::OString const & search,
|
||||||
|
rtl::OString const & replace)
|
||||||
|
{
|
||||||
|
assert(text != 0);
|
||||||
|
for (sal_Int32 i = 0;;) {
|
||||||
|
i = text->indexOf(search, i);
|
||||||
|
if (i == -1) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
*text = text->replaceAt(i, search.getLength(), replace);
|
||||||
|
i += replace.getLength();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
inline rtl::OString getToken(
|
inline rtl::OString getToken(
|
||||||
rtl::OString const & text, sal_Int32 token, char separator)
|
rtl::OString const & text, sal_Int32 token, char separator)
|
||||||
{
|
{
|
||||||
@@ -63,6 +78,23 @@ inline rtl::OString getToken(
|
|||||||
return text.getToken(token, separator, i);
|
return text.getToken(token, separator, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline sal_Int32 indexOfAnyAsciiL(
|
||||||
|
rtl::OUString const & text, char const * chars, sal_Int32 charsLen,
|
||||||
|
sal_Int32 index = 0)
|
||||||
|
{
|
||||||
|
for (; index != text.getLength(); ++index) {
|
||||||
|
sal_Unicode c = text[index];
|
||||||
|
if (c <= 0x7F
|
||||||
|
&& (rtl_str_indexOfChar_WithLength(
|
||||||
|
chars, charsLen, static_cast< char >(c))
|
||||||
|
!= -1))
|
||||||
|
{
|
||||||
|
return index;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -57,7 +57,7 @@ void HelpParser::Dump(XMLHashMap* rElem_in)
|
|||||||
|
|
||||||
void HelpParser::Dump(LangHashMap* rElem_in,const rtl::OString & sKey_in)
|
void HelpParser::Dump(LangHashMap* rElem_in,const rtl::OString & sKey_in)
|
||||||
{
|
{
|
||||||
ByteString x;
|
rtl::OString x;
|
||||||
OString y;
|
OString y;
|
||||||
fprintf(stdout,"+------------%s-----------+\n",sKey_in.getStr() );
|
fprintf(stdout,"+------------%s-----------+\n",sKey_in.getStr() );
|
||||||
for(LangHashMap::iterator posn=rElem_in->begin();posn!=rElem_in->end();++posn)
|
for(LangHashMap::iterator posn=rElem_in->begin();posn!=rElem_in->end();++posn)
|
||||||
@@ -111,15 +111,13 @@ bool HelpParser::CreateSDF(
|
|||||||
sXmlFile = String( sHelpFile , RTL_TEXTENCODING_ASCII_US );
|
sXmlFile = String( sHelpFile , RTL_TEXTENCODING_ASCII_US );
|
||||||
}
|
}
|
||||||
|
|
||||||
// ByteString fullFilePath;
|
rtl::OString fullFilePath = rPrj_in;
|
||||||
//DirEntry aFile( sXmlFile );
|
fullFilePath += "\\";
|
||||||
//makeAbsolutePath( sHelpFile , rRoot_in);
|
fullFilePath += makeAbsolutePath( sHelpFile , rRoot_in );
|
||||||
ByteString fullFilePath = rPrj_in;
|
fullFilePath = fullFilePath.replace('\\', '/');
|
||||||
fullFilePath.Append( "\\" );
|
|
||||||
fullFilePath.Append( makeAbsolutePath( sHelpFile , rRoot_in ) );
|
|
||||||
fullFilePath.SearchAndReplaceAll( "\\", "/" );
|
|
||||||
|
|
||||||
String strFullPath( fullFilePath.GetBuffer() , RTL_TEXTENCODING_ASCII_US );
|
rtl::OUString strFullPath(
|
||||||
|
rtl::OStringToOUString(fullFilePath, RTL_TEXTENCODING_ASCII_US));
|
||||||
|
|
||||||
//printf( "%s\n", fullFilePath.GetBuffer() );
|
//printf( "%s\n", fullFilePath.GetBuffer() );
|
||||||
std::auto_ptr <XMLFile> file ( aParser.Execute( strFullPath , sXmlFile, pXmlFile ) );
|
std::auto_ptr <XMLFile> file ( aParser.Execute( strFullPath , sXmlFile, pXmlFile ) );
|
||||||
@@ -147,8 +145,9 @@ bool HelpParser::CreateSDF(
|
|||||||
LangHashMap* pElem;
|
LangHashMap* pElem;
|
||||||
XMLElement* pXMLElement = NULL;
|
XMLElement* pXMLElement = NULL;
|
||||||
|
|
||||||
ByteString sTimeStamp( Export::GetTimeStamp() );
|
OUString sOUTimeStamp(
|
||||||
OUString sOUTimeStamp( sTimeStamp.GetBuffer() , sTimeStamp.Len() , RTL_TEXTENCODING_ASCII_US );
|
rtl::OStringToOUString(
|
||||||
|
Export::GetTimeStamp(), RTL_TEXTENCODING_ASCII_US));
|
||||||
|
|
||||||
OUStringBuffer sBuffer;
|
OUStringBuffer sBuffer;
|
||||||
const OUString sOUPrj( rPrj_in.getStr() , rPrj_in.getLength() , RTL_TEXTENCODING_ASCII_US );
|
const OUString sOUPrj( rPrj_in.getStr() , rPrj_in.getLength() , RTL_TEXTENCODING_ASCII_US );
|
||||||
|
@@ -35,6 +35,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "gsicheck.hxx"
|
#include "gsicheck.hxx"
|
||||||
|
#include "helper.hxx"
|
||||||
|
|
||||||
#define HAS_FLAG( nFlags, nFlag ) ( ( nFlags & nFlag ) != 0 )
|
#define HAS_FLAG( nFlags, nFlag ) ( ( nFlags & nFlag ) != 0 )
|
||||||
#define SET_FLAG( nFlags, nFlag ) ( nFlags |= nFlag )
|
#define SET_FLAG( nFlags, nFlag ) ( nFlags |= nFlag )
|
||||||
@@ -42,7 +43,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
TokenInfo::TokenInfo( TokenId pnId, sal_uInt16 nP, String paStr, ParserMessageList &rErrorList )
|
TokenInfo::TokenInfo( TokenId pnId, sal_uInt16 nP, rtl::OUString const & paStr, ParserMessageList &rErrorList )
|
||||||
: bClosed(sal_False)
|
: bClosed(sal_False)
|
||||||
, bCloseTag(sal_False)
|
, bCloseTag(sal_False)
|
||||||
, bIsBroken(sal_False)
|
, bIsBroken(sal_False)
|
||||||
@@ -90,9 +91,9 @@ CLOSETAG_HAS_TAG_NAME '>' -> FINISHED
|
|||||||
*/
|
*/
|
||||||
void TokenInfo::SplitTag( ParserMessageList &rErrorList )
|
void TokenInfo::SplitTag( ParserMessageList &rErrorList )
|
||||||
{
|
{
|
||||||
sal_uInt16 nLastPos = 2; // skip initial \<
|
sal_Int32 nLastPos = 2; // skip initial \<
|
||||||
sal_uInt16 nCheckPos = nLastPos;
|
sal_Int32 nCheckPos = nLastPos;
|
||||||
String aDelims( String::CreateFromAscii( " \\=>/" ) );
|
static char const aDelims[] = " \\=>/";
|
||||||
String aPortion;
|
String aPortion;
|
||||||
String aValue; // store the value of a property
|
String aValue; // store the value of a property
|
||||||
rtl::OString aName; // store the name of a property/tag
|
rtl::OString aName; // store the name of a property/tag
|
||||||
@@ -102,18 +103,19 @@ void TokenInfo::SplitTag( ParserMessageList &rErrorList )
|
|||||||
tagcheck aState = TC_START;
|
tagcheck aState = TC_START;
|
||||||
|
|
||||||
// skip blanks
|
// skip blanks
|
||||||
while ( nLastPos < aTokenString.Len() && aTokenString.GetChar( nLastPos ) == ' ')
|
while ( nLastPos < aTokenString.getLength() && aTokenString[nLastPos] == ' ')
|
||||||
nLastPos++;
|
nLastPos++;
|
||||||
|
|
||||||
nCheckPos = aTokenString.SearchChar( aDelims.GetBuffer(), nLastPos );
|
nCheckPos = helper::indexOfAnyAsciiL(
|
||||||
while ( nCheckPos != STRING_NOTFOUND && !( aState == TC_FINISHED || aState == TC_ERROR ) )
|
aTokenString, RTL_CONSTASCII_STRINGPARAM(aDelims), nLastPos);
|
||||||
|
while ( nCheckPos != -1 && !( aState == TC_FINISHED || aState == TC_ERROR ) )
|
||||||
{
|
{
|
||||||
aPortion = aTokenString.Copy( nLastPos, nCheckPos-nLastPos );
|
aPortion = aTokenString.copy( nLastPos, nCheckPos-nLastPos );
|
||||||
|
|
||||||
if ( aTokenString.GetChar( nCheckPos ) == '\\' )
|
if ( aTokenString[nCheckPos] == '\\' )
|
||||||
nCheckPos++;
|
nCheckPos++;
|
||||||
|
|
||||||
cDelim = aTokenString.GetChar( nCheckPos );
|
cDelim = aTokenString[nCheckPos];
|
||||||
nCheckPos++;
|
nCheckPos++;
|
||||||
|
|
||||||
switch ( aState )
|
switch ( aState )
|
||||||
@@ -374,10 +376,11 @@ void TokenInfo::SplitTag( ParserMessageList &rErrorList )
|
|||||||
|
|
||||||
// skip further blanks
|
// skip further blanks
|
||||||
if ( cDelim == ' ' && aState != TC_INSIDE_STRING )
|
if ( cDelim == ' ' && aState != TC_INSIDE_STRING )
|
||||||
while ( nLastPos < aTokenString.Len() && aTokenString.GetChar( nLastPos ) == ' ')
|
while ( nLastPos < aTokenString.getLength() && aTokenString[nLastPos] == ' ')
|
||||||
nLastPos++;
|
nLastPos++;
|
||||||
|
|
||||||
nCheckPos = aTokenString.SearchChar( aDelims.GetBuffer(), nLastPos );
|
nCheckPos = helper::indexOfAnyAsciiL(
|
||||||
|
aTokenString, RTL_CONSTASCII_STRINGPARAM(aDelims), nLastPos);
|
||||||
}
|
}
|
||||||
if ( aState != TC_FINISHED )
|
if ( aState != TC_FINISHED )
|
||||||
{
|
{
|
||||||
@@ -386,19 +389,19 @@ void TokenInfo::SplitTag( ParserMessageList &rErrorList )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sal_Bool TokenInfo::IsPropertyRelevant( const rtl::OString &rName, const String &rValue ) const
|
sal_Bool TokenInfo::IsPropertyRelevant( const rtl::OString &rName, const rtl::OUString &rValue ) const
|
||||||
{
|
{
|
||||||
if ( aTagName.EqualsAscii( "alt" ) && rName.equalsL(RTL_CONSTASCII_STRINGPARAM("xml-lang")) )
|
if ( aTagName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("alt")) && rName.equalsL(RTL_CONSTASCII_STRINGPARAM("xml-lang")) )
|
||||||
return sal_False;
|
return sal_False;
|
||||||
if ( aTagName.EqualsAscii( "ahelp" ) && rName.equalsL(RTL_CONSTASCII_STRINGPARAM("visibility")) && rValue.EqualsAscii("visible") )
|
if ( aTagName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("ahelp")) && rName.equalsL(RTL_CONSTASCII_STRINGPARAM("visibility")) && rValue.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("visible")) )
|
||||||
return sal_False;
|
return sal_False;
|
||||||
if ( aTagName.EqualsAscii( "image" ) && (rName.equalsL(RTL_CONSTASCII_STRINGPARAM("width")) || rName.equalsL(RTL_CONSTASCII_STRINGPARAM("height"))) )
|
if ( aTagName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("image")) && (rName.equalsL(RTL_CONSTASCII_STRINGPARAM("width")) || rName.equalsL(RTL_CONSTASCII_STRINGPARAM("height"))) )
|
||||||
return sal_False;
|
return sal_False;
|
||||||
|
|
||||||
return sal_True;
|
return sal_True;
|
||||||
}
|
}
|
||||||
|
|
||||||
sal_Bool TokenInfo::IsPropertyValueValid( const rtl::OString &rName, const String &rValue ) const
|
sal_Bool TokenInfo::IsPropertyValueValid( const rtl::OString &rName, const rtl::OUString &rValue ) const
|
||||||
{
|
{
|
||||||
/* removed due to i56740
|
/* removed due to i56740
|
||||||
if ( aTagName.EqualsAscii( "switchinline" ) && rName.equalsL(RTL_CONSTASCII_STRINGPARAM("select")) )
|
if ( aTagName.EqualsAscii( "switchinline" ) && rName.equalsL(RTL_CONSTASCII_STRINGPARAM("select")) )
|
||||||
@@ -407,28 +410,28 @@ sal_Bool TokenInfo::IsPropertyValueValid( const rtl::OString &rName, const Strin
|
|||||||
rValue.EqualsAscii("appl") ||
|
rValue.EqualsAscii("appl") ||
|
||||||
rValue.EqualsAscii("distrib");
|
rValue.EqualsAscii("distrib");
|
||||||
} */
|
} */
|
||||||
if ( aTagName.EqualsAscii( "caseinline" ) && rName.equalsL(RTL_CONSTASCII_STRINGPARAM("select")) )
|
if ( aTagName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("caseinline")) && rName.equalsL(RTL_CONSTASCII_STRINGPARAM("select")) )
|
||||||
{
|
{
|
||||||
return /*!rValue.EqualsAscii("OS2") && removed due to i56740 */
|
return !rValue.isEmpty();
|
||||||
!rValue.EqualsAscii("");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// we don't know any better so we assume it to be OK
|
// we don't know any better so we assume it to be OK
|
||||||
return sal_True;
|
return sal_True;
|
||||||
}
|
}
|
||||||
|
|
||||||
sal_Bool TokenInfo::IsPropertyInvariant( const rtl::OString &rName, const String &rValue ) const
|
sal_Bool TokenInfo::IsPropertyInvariant( const rtl::OString &rName, const rtl::OUString &rValue ) const
|
||||||
{
|
{
|
||||||
if ( aTagName.EqualsAscii( "link" ) && rName.equalsL(RTL_CONSTASCII_STRINGPARAM("name")) )
|
if ( aTagName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("link")) && rName.equalsL(RTL_CONSTASCII_STRINGPARAM("name")) )
|
||||||
return sal_False;
|
return sal_False;
|
||||||
if ( aTagName.EqualsAscii( "link" ) && rName.equalsL(RTL_CONSTASCII_STRINGPARAM("href")) )
|
if ( aTagName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("link")) && rName.equalsL(RTL_CONSTASCII_STRINGPARAM("href")) )
|
||||||
{ // check for external reference
|
{ // check for external reference
|
||||||
if ( rValue.Copy( 0, 5 ).EqualsIgnoreCaseAscii( "http:" )
|
return
|
||||||
|| rValue.Copy( 0, 6 ).EqualsIgnoreCaseAscii( "https:" )
|
!(rValue.matchIgnoreAsciiCaseAsciiL(
|
||||||
|| rValue.Copy( 0, 4 ).EqualsIgnoreCaseAscii( "ftp:" ) )
|
RTL_CONSTASCII_STRINGPARAM("http:"))
|
||||||
return sal_False;
|
|| rValue.matchIgnoreAsciiCaseAsciiL(
|
||||||
else
|
RTL_CONSTASCII_STRINGPARAM("https:"))
|
||||||
return sal_True;
|
|| rValue.matchIgnoreAsciiCaseAsciiL(
|
||||||
|
RTL_CONSTASCII_STRINGPARAM("ftp:")));
|
||||||
}
|
}
|
||||||
return sal_True;
|
return sal_True;
|
||||||
}
|
}
|
||||||
@@ -436,12 +439,12 @@ sal_Bool TokenInfo::IsPropertyInvariant( const rtl::OString &rName, const String
|
|||||||
sal_Bool TokenInfo::IsPropertyFixable( const rtl::OString &rName ) const
|
sal_Bool TokenInfo::IsPropertyFixable( const rtl::OString &rName ) const
|
||||||
{
|
{
|
||||||
// name everything that is allowed to be fixed automatically here
|
// name everything that is allowed to be fixed automatically here
|
||||||
if ( (aTagName.EqualsAscii( "ahelp" ) && rName.equalsL(RTL_CONSTASCII_STRINGPARAM("hid")))
|
if ( (aTagName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("ahelp")) && rName.equalsL(RTL_CONSTASCII_STRINGPARAM("hid")))
|
||||||
|| (aTagName.EqualsAscii( "link" ) && rName.equalsL(RTL_CONSTASCII_STRINGPARAM("href")))
|
|| (aTagName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("link")) && rName.equalsL(RTL_CONSTASCII_STRINGPARAM("href")))
|
||||||
|| (aTagName.EqualsAscii( "alt" ) && rName.equalsL(RTL_CONSTASCII_STRINGPARAM("id")))
|
|| (aTagName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("alt")) && rName.equalsL(RTL_CONSTASCII_STRINGPARAM("id")))
|
||||||
|| (aTagName.EqualsAscii( "variable" ) && rName.equalsL(RTL_CONSTASCII_STRINGPARAM("id")))
|
|| (aTagName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("variable")) && rName.equalsL(RTL_CONSTASCII_STRINGPARAM("id")))
|
||||||
|| (aTagName.EqualsAscii( "image" ) && rName.equalsL(RTL_CONSTASCII_STRINGPARAM("src")))
|
|| (aTagName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("image")) && rName.equalsL(RTL_CONSTASCII_STRINGPARAM("src")))
|
||||||
|| (aTagName.EqualsAscii( "image" ) && rName.equalsL(RTL_CONSTASCII_STRINGPARAM("id")) ))
|
|| (aTagName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("image")) && rName.equalsL(RTL_CONSTASCII_STRINGPARAM("id")) ))
|
||||||
return sal_True;
|
return sal_True;
|
||||||
return sal_False;
|
return sal_False;
|
||||||
}
|
}
|
||||||
@@ -455,7 +458,7 @@ sal_Bool TokenInfo::MatchesTranslation( TokenInfo& rInfo, sal_Bool bGenErrors, P
|
|||||||
if ( nId != rInfo.nId )
|
if ( nId != rInfo.nId )
|
||||||
return sal_False;
|
return sal_False;
|
||||||
|
|
||||||
if ( !aTagName.Equals( rInfo.aTagName ) )
|
if ( aTagName != rInfo.aTagName )
|
||||||
return sal_False;
|
return sal_False;
|
||||||
|
|
||||||
// If one of the tags has formating errors already it does make no sense to check here, so return right away
|
// If one of the tags has formating errors already it does make no sense to check here, so return right away
|
||||||
@@ -471,7 +474,7 @@ sal_Bool TokenInfo::MatchesTranslation( TokenInfo& rInfo, sal_Bool bGenErrors, P
|
|||||||
{
|
{
|
||||||
if ( IsPropertyInvariant( iProp->first, iProp->second ) )
|
if ( IsPropertyInvariant( iProp->first, iProp->second ) )
|
||||||
{
|
{
|
||||||
if ( !rInfo.aProperties.find( iProp->first )->second.Equals( iProp->second ) )
|
if ( rInfo.aProperties.find( iProp->first )->second != iProp->second )
|
||||||
{
|
{
|
||||||
if ( bGenErrors )
|
if ( bGenErrors )
|
||||||
{
|
{
|
||||||
@@ -518,12 +521,12 @@ sal_Bool TokenInfo::MatchesTranslation( TokenInfo& rInfo, sal_Bool bGenErrors, P
|
|||||||
return sal_True;
|
return sal_True;
|
||||||
}
|
}
|
||||||
|
|
||||||
String TokenInfo::GetTagName() const
|
rtl::OUString TokenInfo::GetTagName() const
|
||||||
{
|
{
|
||||||
return aTagName;
|
return aTagName;
|
||||||
}
|
}
|
||||||
|
|
||||||
String TokenInfo::MakeTag() const
|
rtl::OUString TokenInfo::MakeTag() const
|
||||||
{
|
{
|
||||||
String aRet;
|
String aRet;
|
||||||
aRet.AppendAscii("\\<");
|
aRet.AppendAscii("\\<");
|
||||||
@@ -574,7 +577,7 @@ void ParserMessageList::clear()
|
|||||||
|
|
||||||
struct Tag
|
struct Tag
|
||||||
{
|
{
|
||||||
String GetName() const { return String::CreateFromAscii( pName ); };
|
rtl::OUString GetName() const { return rtl::OUString::createFromAscii( pName ); };
|
||||||
const char* pName;
|
const char* pName;
|
||||||
TokenId nTag;
|
TokenId nTag;
|
||||||
};
|
};
|
||||||
@@ -662,11 +665,11 @@ SimpleParser::SimpleParser()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void SimpleParser::Parse( String PaSource )
|
void SimpleParser::Parse( rtl::OUString const & PaSource )
|
||||||
{
|
{
|
||||||
aSource = PaSource;
|
aSource = PaSource;
|
||||||
nPos = 0;
|
nPos = 0;
|
||||||
aLastToken.Erase();
|
aLastToken = rtl::OUString();
|
||||||
aNextTag = TokenInfo( TAG_NOMORETAGS, TOK_INVALIDPOS );
|
aNextTag = TokenInfo( TAG_NOMORETAGS, TOK_INVALIDPOS );
|
||||||
aTokenList.clear();
|
aTokenList.clear();
|
||||||
};
|
};
|
||||||
@@ -683,18 +686,21 @@ TokenInfo SimpleParser::GetNextToken( ParserMessageList &rErrorList )
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
aLastToken = GetNextTokenString( rErrorList, nTokenStartPos );
|
aLastToken = GetNextTokenString( rErrorList, nTokenStartPos );
|
||||||
if ( aLastToken.Len() == 0 )
|
if ( aLastToken.isEmpty() )
|
||||||
return TokenInfo( TAG_NOMORETAGS, TOK_INVALIDPOS );
|
return TokenInfo( TAG_NOMORETAGS, TOK_INVALIDPOS );
|
||||||
|
|
||||||
// do we have a \< ... \> style tag?
|
// do we have a \< ... \> style tag?
|
||||||
if ( aLastToken.Copy(0,2).EqualsAscii( "\\<" ) )
|
if (aLastToken.matchAsciiL(RTL_CONSTASCII_STRINGPARAM("\\<")))
|
||||||
{
|
{
|
||||||
// check for paired \" \"
|
// check for paired \" \"
|
||||||
bool bEven = true;
|
bool bEven = true;
|
||||||
sal_uInt16 nQuotePos = 0;
|
sal_Int32 nQuotePos = 0;
|
||||||
sal_uInt16 nQuotedQuotesPos = aLastToken.SearchAscii( "\\\"" );
|
sal_Int32 nQuotedQuotesPos =
|
||||||
sal_uInt16 nQuotedBackPos = aLastToken.SearchAscii( "\\\\" ); // this is only to kick out quoted backslashes
|
aLastToken.indexOfAsciiL(RTL_CONSTASCII_STRINGPARAM("\\\""));
|
||||||
while ( nQuotedQuotesPos != STRING_NOTFOUND )
|
sal_Int32 nQuotedBackPos = aLastToken.indexOfAsciiL(
|
||||||
|
RTL_CONSTASCII_STRINGPARAM("\\\\"));
|
||||||
|
// this is only to kick out quoted backslashes
|
||||||
|
while (nQuotedQuotesPos != -1)
|
||||||
{
|
{
|
||||||
if ( nQuotedBackPos <= nQuotedQuotesPos )
|
if ( nQuotedBackPos <= nQuotedQuotesPos )
|
||||||
nQuotePos = nQuotedBackPos+2;
|
nQuotePos = nQuotedBackPos+2;
|
||||||
@@ -703,8 +709,11 @@ TokenInfo SimpleParser::GetNextToken( ParserMessageList &rErrorList )
|
|||||||
nQuotePos = nQuotedQuotesPos+2;
|
nQuotePos = nQuotedQuotesPos+2;
|
||||||
bEven = !bEven;
|
bEven = !bEven;
|
||||||
}
|
}
|
||||||
nQuotedQuotesPos = aLastToken.SearchAscii( "\\\"", nQuotePos );
|
nQuotedQuotesPos = aLastToken.indexOfAsciiL(
|
||||||
nQuotedBackPos = aLastToken.SearchAscii( "\\\\", nQuotePos ); // this is only to kick out quoted backslashes
|
RTL_CONSTASCII_STRINGPARAM("\\\""), nQuotePos);
|
||||||
|
nQuotedBackPos = aLastToken.indexOfAsciiL(
|
||||||
|
RTL_CONSTASCII_STRINGPARAM("\\\\"), nQuotePos);
|
||||||
|
// this is only to kick out quoted backslashes
|
||||||
}
|
}
|
||||||
if ( !bEven )
|
if ( !bEven )
|
||||||
{
|
{
|
||||||
@@ -712,19 +721,18 @@ TokenInfo SimpleParser::GetNextToken( ParserMessageList &rErrorList )
|
|||||||
}
|
}
|
||||||
|
|
||||||
// check if we have an end-tag or a start-tag
|
// check if we have an end-tag or a start-tag
|
||||||
sal_uInt16 nNonBlankStartPos,nNonBlankEndPos;
|
sal_Int32 nNonBlankStartPos = 2;
|
||||||
nNonBlankStartPos = 2;
|
while (aLastToken[nNonBlankStartPos] == ' ')
|
||||||
while ( aLastToken.GetChar(nNonBlankStartPos) == ' ' )
|
|
||||||
nNonBlankStartPos++;
|
nNonBlankStartPos++;
|
||||||
if ( aLastToken.GetChar(nNonBlankStartPos) == '/' )
|
if (aLastToken[nNonBlankStartPos] == '/')
|
||||||
aResult = TokenInfo( TAG_COMMONEND, nTokenStartPos, aLastToken, rErrorList );
|
aResult = TokenInfo( TAG_COMMONEND, nTokenStartPos, aLastToken, rErrorList );
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
aResult = TokenInfo( TAG_COMMONSTART, nTokenStartPos, aLastToken, rErrorList );
|
aResult = TokenInfo( TAG_COMMONSTART, nTokenStartPos, aLastToken, rErrorList );
|
||||||
nNonBlankEndPos = aLastToken.Len() -3;
|
sal_Int32 nNonBlankEndPos = aLastToken.getLength() - 3;
|
||||||
while ( aLastToken.GetChar(nNonBlankEndPos) == ' ' )
|
while (aLastToken[nNonBlankEndPos] == ' ')
|
||||||
nNonBlankEndPos--;
|
nNonBlankEndPos--;
|
||||||
if ( aLastToken.GetChar( nNonBlankEndPos ) == '/' )
|
if (aLastToken[nNonBlankEndPos] == '/')
|
||||||
aNextTag = TokenInfo( TAG_COMMONEND, nTokenStartPos, String::CreateFromAscii("\\</").Append(aResult.GetTagName()).AppendAscii("\\>"), rErrorList );
|
aNextTag = TokenInfo( TAG_COMMONEND, nTokenStartPos, String::CreateFromAscii("\\</").Append(aResult.GetTagName()).AppendAscii("\\>"), rErrorList );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -744,15 +752,19 @@ TokenInfo SimpleParser::GetNextToken( ParserMessageList &rErrorList )
|
|||||||
return aResult;
|
return aResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
String SimpleParser::GetNextTokenString( ParserMessageList &rErrorList, sal_uInt16 &rTagStartPos )
|
rtl::OUString SimpleParser::GetNextTokenString( ParserMessageList &rErrorList, sal_uInt16 &rTagStartPos )
|
||||||
{
|
{
|
||||||
sal_uInt16 nStyle2StartPos = aSource.SearchAscii( "$[", nPos );
|
sal_Int32 nStyle2StartPos = aSource.indexOfAsciiL(
|
||||||
sal_uInt16 nStyle3StartPos = aSource.SearchAscii( "\\<", nPos );
|
RTL_CONSTASCII_STRINGPARAM("$["), nPos );
|
||||||
sal_uInt16 nStyle4StartPos = aSource.SearchAscii( "\\\\", nPos ); // this is only to kick out quoted backslashes
|
sal_Int32 nStyle3StartPos = aSource.indexOfAsciiL(
|
||||||
|
RTL_CONSTASCII_STRINGPARAM("\\<"), nPos);
|
||||||
|
sal_Int32 nStyle4StartPos = aSource.indexOfAsciiL(
|
||||||
|
RTL_CONSTASCII_STRINGPARAM("\\\\"), nPos);
|
||||||
|
// this is only to kick out quoted backslashes
|
||||||
|
|
||||||
rTagStartPos = 0;
|
rTagStartPos = 0;
|
||||||
|
|
||||||
if ( STRING_NOTFOUND == nStyle2StartPos && STRING_NOTFOUND == nStyle3StartPos )
|
if (nStyle2StartPos == -1 && nStyle3StartPos == -1)
|
||||||
return String(); // no more tokens
|
return String(); // no more tokens
|
||||||
|
|
||||||
if ( nStyle4StartPos < nStyle2StartPos && nStyle4StartPos <= nStyle3StartPos ) // <= to make sure \\ is always handled first
|
if ( nStyle4StartPos < nStyle2StartPos && nStyle4StartPos <= nStyle3StartPos ) // <= to make sure \\ is always handled first
|
||||||
@@ -763,42 +775,48 @@ String SimpleParser::GetNextTokenString( ParserMessageList &rErrorList, sal_uInt
|
|||||||
|
|
||||||
if ( nStyle2StartPos < nStyle3StartPos )
|
if ( nStyle2StartPos < nStyle3StartPos )
|
||||||
{ // test for $[ ... ] style tokens
|
{ // test for $[ ... ] style tokens
|
||||||
sal_uInt16 nEndPos = aSource.SearchAscii( "]", nStyle2StartPos);
|
sal_Int32 nEndPos = aSource.indexOf(']', nStyle2StartPos);
|
||||||
if ( nEndPos == STRING_NOTFOUND )
|
if (nEndPos == -1)
|
||||||
{ // Token is incomplete. Skip start and search for better ones
|
{ // Token is incomplete. Skip start and search for better ones
|
||||||
nPos = nStyle2StartPos +2;
|
nPos = nStyle2StartPos +2;
|
||||||
return GetNextTokenString( rErrorList, rTagStartPos );
|
return GetNextTokenString( rErrorList, rTagStartPos );
|
||||||
}
|
}
|
||||||
nPos = nEndPos;
|
nPos = nEndPos;
|
||||||
rTagStartPos = nStyle2StartPos;
|
rTagStartPos = nStyle2StartPos;
|
||||||
return aSource.Copy( nStyle2StartPos, nEndPos-nStyle2StartPos +1 );
|
return aSource.copy(nStyle2StartPos, nEndPos - nStyle2StartPos + 1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{ // test for \< ... \> style tokens
|
{ // test for \< ... \> style tokens
|
||||||
sal_uInt16 nEndPos = aSource.SearchAscii( "\\>", nStyle3StartPos);
|
sal_Int32 nEndPos = aSource.indexOfAsciiL(
|
||||||
sal_uInt16 nQuotedBackPos = aSource.SearchAscii( "\\\\", nStyle3StartPos ); // this is only to kick out quoted backslashes
|
RTL_CONSTASCII_STRINGPARAM("\\>"), nStyle3StartPos);
|
||||||
while ( nQuotedBackPos <= nEndPos && nQuotedBackPos != STRING_NOTFOUND )
|
sal_Int32 nQuotedBackPos = aSource.indexOfAsciiL(
|
||||||
|
RTL_CONSTASCII_STRINGPARAM("\\\\"), nStyle3StartPos);
|
||||||
|
// this is only to kick out quoted backslashes
|
||||||
|
while (nQuotedBackPos <= nEndPos && nQuotedBackPos != -1)
|
||||||
{
|
{
|
||||||
nEndPos = aSource.SearchAscii( "\\>", nQuotedBackPos +2);
|
nEndPos = aSource.indexOfAsciiL(
|
||||||
nQuotedBackPos = aSource.SearchAscii( "\\\\", nQuotedBackPos +2 ); // this is only to kick out quoted backslashes
|
RTL_CONSTASCII_STRINGPARAM("\\>"), nQuotedBackPos + 2);
|
||||||
|
nQuotedBackPos = aSource.indexOfAsciiL(
|
||||||
|
RTL_CONSTASCII_STRINGPARAM("\\\\"), nQuotedBackPos + 2);
|
||||||
|
// this is only to kick out quoted backslashes
|
||||||
}
|
}
|
||||||
if ( nEndPos == STRING_NOTFOUND )
|
if (nEndPos == -1)
|
||||||
{ // Token is incomplete. Skip start and search for better ones
|
{ // Token is incomplete. Skip start and search for better ones
|
||||||
nPos = nStyle3StartPos +2;
|
nPos = nStyle3StartPos +2;
|
||||||
rErrorList.AddError( 24, "Tag Start '\\<' without Tag End '\\>'", TokenInfo( TAG_UNKNOWN_TAG, nStyle3StartPos, aSource.Copy( nStyle3StartPos-10, 20 ) ) );
|
rErrorList.AddError( 24, "Tag Start '\\<' without Tag End '\\>'", TokenInfo( TAG_UNKNOWN_TAG, nStyle3StartPos, aSource.copy(nStyle3StartPos - 10, 20) ) );
|
||||||
return GetNextTokenString( rErrorList, rTagStartPos );
|
return GetNextTokenString( rErrorList, rTagStartPos );
|
||||||
}
|
}
|
||||||
// check for paired quoted " --> \"sometext\"
|
// check for paired quoted " --> \"sometext\"
|
||||||
|
|
||||||
nPos = nEndPos;
|
nPos = nEndPos;
|
||||||
rTagStartPos = nStyle3StartPos;
|
rTagStartPos = nStyle3StartPos;
|
||||||
return aSource.Copy( nStyle3StartPos, nEndPos-nStyle3StartPos +2 );
|
return aSource.copy(nStyle3StartPos, nEndPos-nStyle3StartPos + 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
String SimpleParser::GetLexem( TokenInfo const &aToken )
|
rtl::OUString SimpleParser::GetLexem( TokenInfo const &aToken )
|
||||||
{
|
{
|
||||||
if ( aToken.aTokenString.Len() )
|
if ( !aToken.aTokenString.isEmpty() )
|
||||||
return aToken.aTokenString;
|
return aToken.aTokenString;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -815,7 +833,7 @@ TokenParser::TokenParser()
|
|||||||
: pErrorList( NULL )
|
: pErrorList( NULL )
|
||||||
{}
|
{}
|
||||||
|
|
||||||
void TokenParser::Parse( const String &aCode, ParserMessageList* pList )
|
void TokenParser::Parse( const rtl::OUString &aCode, ParserMessageList* pList )
|
||||||
{
|
{
|
||||||
pErrorList = pList;
|
pErrorList = pList;
|
||||||
|
|
||||||
@@ -1300,7 +1318,7 @@ sal_Bool TokenParser::match( const TokenInfo &aCurrentToken, const TokenInfo &rE
|
|||||||
if ( aCurrentToken.nId == aExpectedToken.nId )
|
if ( aCurrentToken.nId == aExpectedToken.nId )
|
||||||
{
|
{
|
||||||
if ( ( aCurrentToken.nId == TAG_COMMONEND
|
if ( ( aCurrentToken.nId == TAG_COMMONEND
|
||||||
&& aCurrentToken.GetTagName().Equals( aExpectedToken.GetTagName() ) )
|
&& aCurrentToken.GetTagName() == aExpectedToken.GetTagName() )
|
||||||
|| aCurrentToken.nId != TAG_COMMONEND )
|
|| aCurrentToken.nId != TAG_COMMONEND )
|
||||||
{
|
{
|
||||||
aTag = aParser.GetNextToken( *pErrorList );
|
aTag = aParser.GetNextToken( *pErrorList );
|
||||||
@@ -1310,7 +1328,9 @@ sal_Bool TokenParser::match( const TokenInfo &aCurrentToken, const TokenInfo &rE
|
|||||||
|
|
||||||
if ( aExpectedToken.nId == TAG_COMMONEND )
|
if ( aExpectedToken.nId == TAG_COMMONEND )
|
||||||
{
|
{
|
||||||
aExpectedToken.aTokenString.Insert( String::CreateFromAscii( "Close tag for " ), 0 );
|
aExpectedToken.aTokenString =
|
||||||
|
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Close tag for "))
|
||||||
|
+ aExpectedToken.aTokenString;
|
||||||
}
|
}
|
||||||
|
|
||||||
rtl::OString sTmp(RTL_CONSTASCII_STRINGPARAM("Expected Symbol"));
|
rtl::OString sTmp(RTL_CONSTASCII_STRINGPARAM("Expected Symbol"));
|
||||||
@@ -1537,7 +1557,7 @@ void LingTest::CheckTestee( GSILine *aTestee, sal_Bool bHasSourceLine, sal_Bool
|
|||||||
if ( aTesteeTokens[ --i ].HasBeenFixed() )
|
if ( aTesteeTokens[ --i ].HasBeenFixed() )
|
||||||
{
|
{
|
||||||
bFixesDone = sal_True;
|
bFixesDone = sal_True;
|
||||||
aFixedTestee.Replace( aTesteeTokens[ i ].nPos, aTesteeTokens[ i ].aTokenString.Len(), aTesteeTokens[ i ].MakeTag() );
|
aFixedTestee = aFixedTestee.replaceAt( aTesteeTokens[ i ].nPos, aTesteeTokens[ i ].aTokenString.getLength(), aTesteeTokens[ i ].MakeTag() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( bFixesDone )
|
if ( bFixesDone )
|
||||||
|
@@ -287,7 +287,7 @@ sal_Bool XMLFile::Write( rtl::OString const &aFilename )
|
|||||||
exit( -1 );
|
exit( -1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void XMLFile::WriteString( ofstream &rStream, const String &sString )
|
void XMLFile::WriteString( ofstream &rStream, const rtl::OUString &sString )
|
||||||
{
|
{
|
||||||
rtl::OString sText(rtl::OUStringToOString(sString, RTL_TEXTENCODING_UTF8));
|
rtl::OString sText(rtl::OUStringToOString(sString, RTL_TEXTENCODING_UTF8));
|
||||||
rStream << sText.getStr();
|
rStream << sText.getStr();
|
||||||
@@ -312,7 +312,7 @@ sal_Bool XMLFile::Write( ofstream &rStream , XMLNode *pCur )
|
|||||||
if ( pElement->GetAttributeList())
|
if ( pElement->GetAttributeList())
|
||||||
for ( size_t j = 0; j < pElement->GetAttributeList()->size(); j++ ) {
|
for ( size_t j = 0; j < pElement->GetAttributeList()->size(); j++ ) {
|
||||||
rStream << " ";
|
rStream << " ";
|
||||||
String sData( (*pElement->GetAttributeList())[ j ]->GetName() );
|
rtl::OUString sData( (*pElement->GetAttributeList())[ j ]->GetName() );
|
||||||
XMLUtil::QuotHTML( sData );
|
XMLUtil::QuotHTML( sData );
|
||||||
WriteString( rStream , sData );
|
WriteString( rStream , sData );
|
||||||
rStream << "=\"";
|
rStream << "=\"";
|
||||||
@@ -335,7 +335,7 @@ sal_Bool XMLFile::Write( ofstream &rStream , XMLNode *pCur )
|
|||||||
break;
|
break;
|
||||||
case XML_NODE_TYPE_DATA: {
|
case XML_NODE_TYPE_DATA: {
|
||||||
XMLData *pData = ( XMLData * ) pCur;
|
XMLData *pData = ( XMLData * ) pCur;
|
||||||
String sData( pData->GetData());
|
rtl::OUString sData( pData->GetData());
|
||||||
XMLUtil::QuotHTML( sData );
|
XMLUtil::QuotHTML( sData );
|
||||||
WriteString( rStream, sData );
|
WriteString( rStream, sData );
|
||||||
}
|
}
|
||||||
@@ -745,7 +745,7 @@ XMLElement& XMLElement::operator=(const XMLElement& obj){
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void XMLElement::AddAttribute( const String &rAttribute, const String &rValue )
|
void XMLElement::AddAttribute( const rtl::OUString &rAttribute, const rtl::OUString &rValue )
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
{
|
{
|
||||||
if ( !pAttributes )
|
if ( !pAttributes )
|
||||||
@@ -754,7 +754,7 @@ void XMLElement::AddAttribute( const String &rAttribute, const String &rValue )
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void XMLElement::ChangeLanguageTag( const String &rValue )
|
void XMLElement::ChangeLanguageTag( const rtl::OUString &rValue )
|
||||||
{
|
{
|
||||||
SetLanguageId(rtl::OUStringToOString(rValue, RTL_TEXTENCODING_UTF8));
|
SetLanguageId(rtl::OUStringToOString(rValue, RTL_TEXTENCODING_UTF8));
|
||||||
if ( pAttributes )
|
if ( pAttributes )
|
||||||
@@ -842,8 +842,6 @@ OUString XMLElement::ToOUString(){
|
|||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void XMLElement::Print(XMLNode *pCur, OUStringBuffer& buffer , bool rootelement ){
|
void XMLElement::Print(XMLNode *pCur, OUStringBuffer& buffer , bool rootelement ){
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
//YD FIXME somewhere COMMENT is defined as 4!
|
|
||||||
static const String _COMMENT = String::CreateFromAscii("comment");
|
|
||||||
static const OUString XML_LANG ( RTL_CONSTASCII_USTRINGPARAM("xml-lang") );
|
static const OUString XML_LANG ( RTL_CONSTASCII_USTRINGPARAM("xml-lang") );
|
||||||
|
|
||||||
if(pCur!=NULL){
|
if(pCur!=NULL){
|
||||||
@@ -865,7 +863,7 @@ void XMLElement::Print(XMLNode *pCur, OUStringBuffer& buffer , bool rootelement
|
|||||||
case XML_NODE_TYPE_ELEMENT: {
|
case XML_NODE_TYPE_ELEMENT: {
|
||||||
XMLElement *pElement = ( XMLElement * ) pCur;
|
XMLElement *pElement = ( XMLElement * ) pCur;
|
||||||
|
|
||||||
if( !pElement->GetName().EqualsIgnoreCaseAscii( _COMMENT ) ){
|
if( !pElement->GetName().equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("comment")) ){
|
||||||
buffer.append( OUString(RTL_CONSTASCII_USTRINGPARAM("\\<")) );
|
buffer.append( OUString(RTL_CONSTASCII_USTRINGPARAM("\\<")) );
|
||||||
buffer.append( pElement->GetName() );
|
buffer.append( pElement->GetName() );
|
||||||
if ( pElement->GetAttributeList()){
|
if ( pElement->GetAttributeList()){
|
||||||
@@ -946,7 +944,7 @@ XMLData& XMLData::operator=(const XMLData& obj){
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void XMLData::AddData( const String &rData) {
|
void XMLData::AddData( const rtl::OUString &rData) {
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
sData += rData;
|
sData += rData;
|
||||||
}
|
}
|
||||||
@@ -1118,11 +1116,11 @@ void SimpleXMLParser::CharacterData(
|
|||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
{
|
{
|
||||||
if ( !pCurData ){
|
if ( !pCurData ){
|
||||||
String x=String( XML_CHAR_N_TO_OUSTRING( s, len ));
|
rtl::OUString x = XML_CHAR_N_TO_OUSTRING( s, len );
|
||||||
XMLUtil::UnQuotHTML(x);
|
XMLUtil::UnQuotHTML(x);
|
||||||
pCurData = new XMLData( x , pCurNode );
|
pCurData = new XMLData( x , pCurNode );
|
||||||
}else{
|
}else{
|
||||||
String x=String( XML_CHAR_N_TO_OUSTRING( s, len ));
|
rtl::OUString x = XML_CHAR_N_TO_OUSTRING( s, len );
|
||||||
XMLUtil::UnQuotHTML(x);
|
XMLUtil::UnQuotHTML(x);
|
||||||
pCurData->AddData( x );
|
pCurData->AddData( x );
|
||||||
|
|
||||||
@@ -1149,10 +1147,9 @@ void SimpleXMLParser::Default(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
XMLFile *SimpleXMLParser::Execute( const String &rFullFileName , const String &rFileName, XMLFile* pXMLFileIn )
|
XMLFile *SimpleXMLParser::Execute( const rtl::OUString &rFullFileName , const rtl::OUString &rFileName, XMLFile* pXMLFileIn )
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
{
|
{
|
||||||
// printf("DBG: SimpleXMLParser::Execute( %s )", ByteString( rFileName , RTL_TEXTENCODING_ASCII_US ).GetBuffer() );
|
|
||||||
aErrorInformation.eCode = XML_ERROR_NONE;
|
aErrorInformation.eCode = XML_ERROR_NONE;
|
||||||
aErrorInformation.nLine = 0;
|
aErrorInformation.nLine = 0;
|
||||||
aErrorInformation.nColumn = 0;
|
aErrorInformation.nColumn = 0;
|
||||||
@@ -1193,7 +1190,7 @@ XMLFile *SimpleXMLParser::Execute( SvMemoryStream *pStream )
|
|||||||
aErrorInformation.eCode = XML_ERROR_NONE;
|
aErrorInformation.eCode = XML_ERROR_NONE;
|
||||||
aErrorInformation.nLine = 0;
|
aErrorInformation.nLine = 0;
|
||||||
aErrorInformation.nColumn = 0;
|
aErrorInformation.nColumn = 0;
|
||||||
if ( pXMLFile->GetName().Len()) {
|
if ( !pXMLFile->GetName().isEmpty()) {
|
||||||
aErrorInformation.sMessage = String::CreateFromAscii( "File " );
|
aErrorInformation.sMessage = String::CreateFromAscii( "File " );
|
||||||
aErrorInformation.sMessage += pXMLFile->GetName();
|
aErrorInformation.sMessage += pXMLFile->GetName();
|
||||||
aErrorInformation.sMessage += String::CreateFromAscii( " parsed successfully" );
|
aErrorInformation.sMessage += String::CreateFromAscii( " parsed successfully" );
|
||||||
@@ -1209,7 +1206,7 @@ XMLFile *SimpleXMLParser::Execute( SvMemoryStream *pStream )
|
|||||||
aErrorInformation.nColumn = XML_GetErrorColumnNumber( aParser );
|
aErrorInformation.nColumn = XML_GetErrorColumnNumber( aParser );
|
||||||
|
|
||||||
aErrorInformation.sMessage = String::CreateFromAscii( "ERROR: " );
|
aErrorInformation.sMessage = String::CreateFromAscii( "ERROR: " );
|
||||||
if ( pXMLFile->GetName().Len())
|
if ( !pXMLFile->GetName().isEmpty())
|
||||||
aErrorInformation.sMessage += pXMLFile->GetName();
|
aErrorInformation.sMessage += pXMLFile->GetName();
|
||||||
else
|
else
|
||||||
aErrorInformation.sMessage += String::CreateFromAscii( "XML-File" );
|
aErrorInformation.sMessage += String::CreateFromAscii( "XML-File" );
|
||||||
@@ -1256,108 +1253,79 @@ XMLFile *SimpleXMLParser::Execute( SvMemoryStream *pStream )
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void XMLUtil::QuotHTML( String &rString )
|
void XMLUtil::QuotHTML( rtl::OUString &rString )
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
{
|
{
|
||||||
OUStringBuffer sReturn;
|
OUStringBuffer sReturn;
|
||||||
static const String LT(String::CreateFromAscii("<"));
|
for (sal_Int32 i = 0; i < rString.getLength(); ++i) {
|
||||||
static const String QLT(String::CreateFromAscii("<"));
|
switch (rString[i]) {
|
||||||
static const String GT(String::CreateFromAscii(">"));
|
case '\\':
|
||||||
static const String QGT(String::CreateFromAscii(">"));
|
if (i < rString.getLength()) {
|
||||||
static const String QUOT(String::CreateFromAscii("\\"));
|
switch (rString[i + 1]) {
|
||||||
static const String QQUOT(String::CreateFromAscii("""));
|
case '"':
|
||||||
static const String APOS(String::CreateFromAscii("\""));
|
case '<':
|
||||||
static const String QAPOS(String::CreateFromAscii("'"));
|
case '>':
|
||||||
static const String AMP(String::CreateFromAscii("&"));
|
case '\\':
|
||||||
static const String QAMP(String::CreateFromAscii("&"));
|
++i;
|
||||||
static const String SLASH(String::CreateFromAscii("\\"));
|
break;
|
||||||
|
|
||||||
for ( sal_uInt16 i = 0; i < rString.Len(); i++) {
|
|
||||||
if ( i < rString.Len()) {
|
|
||||||
switch ( rString.GetChar( i )) {
|
|
||||||
case '\\': if( i+1 <= rString.Len() ){
|
|
||||||
switch( rString.GetChar( i+1 ) ){
|
|
||||||
case '<': sReturn.append( LT );i++;break;
|
|
||||||
case '>': sReturn.append( GT );i++;break;
|
|
||||||
case '\\': sReturn.append( QUOT );i++;break;
|
|
||||||
case '\"': sReturn.append( APOS );i++;break;
|
|
||||||
default: sReturn.append( SLASH );break;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// fall through
|
||||||
|
default:
|
||||||
|
sReturn.append(rString[i]);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case '<':
|
case '<':
|
||||||
sReturn.append( QLT );
|
sReturn.appendAscii(RTL_CONSTASCII_STRINGPARAM("<"));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case '>':
|
case '>':
|
||||||
sReturn.append( QGT );
|
sReturn.appendAscii(RTL_CONSTASCII_STRINGPARAM(">"));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case '\"':
|
case '"':
|
||||||
sReturn.append( QQUOT );
|
sReturn.appendAscii(RTL_CONSTASCII_STRINGPARAM("""));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case '&':
|
case '&':
|
||||||
if (
|
if (rString.matchAsciiL(RTL_CONSTASCII_STRINGPARAM("&"), i))
|
||||||
( ( i + 4 ) < rString.Len()) &&
|
|
||||||
( String( rString.Copy( i, 5 ) ).Equals( QAMP ) )
|
|
||||||
)
|
|
||||||
sReturn.append( rString.GetChar( i ) );
|
|
||||||
else
|
|
||||||
sReturn.append( QAMP );
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
sReturn.append( rString.GetChar( i ) );
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
rString = String( sReturn.makeStringAndClear() );
|
|
||||||
}
|
|
||||||
|
|
||||||
void XMLUtil::UnQuotHTML( String &rString ){
|
|
||||||
UnQuotData( rString );
|
|
||||||
}
|
|
||||||
|
|
||||||
void XMLUtil::UnQuotData( String &rString_in )
|
|
||||||
{
|
|
||||||
rtl::OStringBuffer sReturn;
|
|
||||||
ByteString sString(rtl::OUStringToOString(rString_in , RTL_TEXTENCODING_UTF8));
|
|
||||||
while (sString.Len())
|
|
||||||
{
|
|
||||||
if ( sString.Copy( 0, 1 ) == "\\" ) {
|
|
||||||
sReturn.append("\\\\");
|
|
||||||
sString.Erase( 0, 1 );
|
|
||||||
}
|
|
||||||
else if ( sString.Copy( 0, 5 ) == "&" ) {
|
|
||||||
sReturn.append('&');
|
sReturn.append('&');
|
||||||
sString.Erase( 0, 5 );
|
else
|
||||||
|
sReturn.appendAscii(RTL_CONSTASCII_STRINGPARAM("&"));
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
else if ( sString.Copy( 0, 4 ) == "<" ) {
|
}
|
||||||
|
rString = sReturn.makeStringAndClear();
|
||||||
|
}
|
||||||
|
|
||||||
|
void XMLUtil::UnQuotHTML( rtl::OUString &rString ){
|
||||||
|
rtl::OStringBuffer sReturn;
|
||||||
|
rtl::OString sString(rtl::OUStringToOString(rString, RTL_TEXTENCODING_UTF8));
|
||||||
|
for (sal_Int32 i = 0; i != sString.getLength();) {
|
||||||
|
if (sString[i] == '\\') {
|
||||||
|
sReturn.append(RTL_CONSTASCII_STRINGPARAM("\\\\"));
|
||||||
|
++i;
|
||||||
|
} else if (sString.match("&", i)) {
|
||||||
|
sReturn.append('&');
|
||||||
|
i += RTL_CONSTASCII_LENGTH("&");
|
||||||
|
} else if (sString.match("<", i)) {
|
||||||
sReturn.append('<');
|
sReturn.append('<');
|
||||||
sString.Erase( 0, 4 );
|
i += RTL_CONSTASCII_LENGTH("<");
|
||||||
}
|
} else if (sString.match(">", i)) {
|
||||||
else if ( sString.Copy( 0, 4 ) == ">" ) {
|
|
||||||
sReturn.append('>');
|
sReturn.append('>');
|
||||||
sString.Erase( 0, 4 );
|
i += RTL_CONSTASCII_LENGTH(">");
|
||||||
}
|
} else if (sString.match(""", i)) {
|
||||||
else if ( sString.Copy( 0, 6 ) == """ ) {
|
sReturn.append('"');
|
||||||
sReturn.append('\"');
|
i += RTL_CONSTASCII_LENGTH(""");
|
||||||
sString.Erase( 0, 6 );
|
} else if (sString.match("'", i)) {
|
||||||
}
|
|
||||||
else if ( sString.Copy( 0, 6 ) == "'" ) {
|
|
||||||
sReturn.append('\'');
|
sReturn.append('\'');
|
||||||
sString.Erase( 0, 6 );
|
i += RTL_CONSTASCII_LENGTH("'");
|
||||||
}
|
} else {
|
||||||
else {
|
sReturn.append(sString[i]);
|
||||||
sReturn.append(sString.GetChar(0));
|
++i;
|
||||||
sString.Erase( 0, 1 );
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
rString_in = rtl::OStringToOUString(sReturn.makeStringAndClear(), RTL_TEXTENCODING_UTF8);
|
rString = rtl::OStringToOUString(sReturn.makeStringAndClear(), RTL_TEXTENCODING_UTF8);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||||
|
@@ -33,6 +33,7 @@
|
|||||||
|
|
||||||
// local includes
|
// local includes
|
||||||
#include "export.hxx"
|
#include "export.hxx"
|
||||||
|
#include "helper.hxx"
|
||||||
#include "xrmmerge.hxx"
|
#include "xrmmerge.hxx"
|
||||||
#include "tokens.h"
|
#include "tokens.h"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
@@ -302,7 +303,7 @@ int XRMResParser::Execute( int nToken, char * pToken )
|
|||||||
|
|
||||||
switch ( nToken ) {
|
switch ( nToken ) {
|
||||||
case XRM_TEXT_START:{
|
case XRM_TEXT_START:{
|
||||||
ByteString sNewLID = GetAttribute( rToken, "id" );
|
rtl::OString sNewLID = GetAttribute( rToken, "id" );
|
||||||
if ( sNewLID != sLID ) {
|
if ( sNewLID != sLID ) {
|
||||||
sLID = sNewLID;
|
sLID = sNewLID;
|
||||||
}
|
}
|
||||||
@@ -404,7 +405,7 @@ int XRMResParser::Execute( int nToken, char * pToken )
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
ByteString XRMResParser::GetAttribute( const ByteString &rToken, const ByteString &rAttribute )
|
rtl::OString XRMResParser::GetAttribute( const rtl::OString &rToken, const rtl::OString &rAttribute )
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
{
|
{
|
||||||
ByteString sTmp( rToken );
|
ByteString sTmp( rToken );
|
||||||
@@ -426,17 +427,17 @@ ByteString XRMResParser::GetAttribute( const ByteString &rToken, const ByteStrin
|
|||||||
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void XRMResParser::Error( const ByteString &rError )
|
void XRMResParser::Error( const rtl::OString &rError )
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
{
|
{
|
||||||
yyerror(( char * ) rError.GetBuffer());
|
yyerror(( char * ) rError.getStr());
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void XRMResParser::ConvertStringToDBFormat( ByteString &rString )
|
void XRMResParser::ConvertStringToDBFormat( rtl::OString &rString )
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
{
|
{
|
||||||
ByteString sResult;
|
rtl::OString sResult;
|
||||||
do {
|
do {
|
||||||
sResult = rString;
|
sResult = rString;
|
||||||
rString = comphelper::string::stripStart(rString, _LF);
|
rString = comphelper::string::stripStart(rString, _LF);
|
||||||
@@ -444,14 +445,14 @@ void XRMResParser::ConvertStringToDBFormat( ByteString &rString )
|
|||||||
rString = comphelper::string::stripEnd(rString, '\t');
|
rString = comphelper::string::stripEnd(rString, '\t');
|
||||||
} while ( sResult != rString );
|
} while ( sResult != rString );
|
||||||
|
|
||||||
rString.SearchAndReplaceAll( "\t", "\\t" );
|
helper::searchAndReplaceAll(&rString, "\t", "\\t");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void XRMResParser::ConvertStringToXMLFormat( ByteString &rString )
|
void XRMResParser::ConvertStringToXMLFormat( rtl::OString &rString )
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
{
|
{
|
||||||
rString.SearchAndReplaceAll( "\\t", "\t" );
|
helper::searchAndReplaceAll(&rString, "\\t", "\t");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -461,7 +462,7 @@ void XRMResParser::ConvertStringToXMLFormat( ByteString &rString )
|
|||||||
//
|
//
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
XRMResOutputParser::XRMResOutputParser ( const ByteString &rOutputFile )
|
XRMResOutputParser::XRMResOutputParser ( const rtl::OString &rOutputFile )
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
{
|
{
|
||||||
aLanguages = Export::GetLanguages();
|
aLanguages = Export::GetLanguages();
|
||||||
@@ -496,8 +497,8 @@ XRMResOutputParser::~XRMResOutputParser()
|
|||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
XRMResExport::XRMResExport(
|
XRMResExport::XRMResExport(
|
||||||
const ByteString &rOutputFile, const ByteString &rProject,
|
const rtl::OString &rOutputFile, const rtl::OString &rProject,
|
||||||
const ByteString &rFilePath )
|
const rtl::OString &rFilePath )
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
: XRMResOutputParser( rOutputFile ),
|
: XRMResOutputParser( rOutputFile ),
|
||||||
pResData( NULL ),
|
pResData( NULL ),
|
||||||
@@ -514,16 +515,12 @@ XRMResExport::~XRMResExport()
|
|||||||
delete pResData;
|
delete pResData;
|
||||||
}
|
}
|
||||||
|
|
||||||
void XRMResExport::Output( const ByteString& rOutput )
|
void XRMResExport::Output( const rtl::OString& ) {}
|
||||||
{
|
|
||||||
// Dummy to suppress warnings caused by poor class design
|
|
||||||
(void) rOutput;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void XRMResExport::WorkOnDesc(
|
void XRMResExport::WorkOnDesc(
|
||||||
const ByteString &rOpenTag,
|
const rtl::OString &rOpenTag,
|
||||||
ByteString &rText
|
rtl::OString &rText
|
||||||
)
|
)
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
{
|
{
|
||||||
@@ -543,7 +540,7 @@ void XRMResExport::WorkOnDesc(
|
|||||||
file.close();
|
file.close();
|
||||||
memblock[size] = '\0';
|
memblock[size] = '\0';
|
||||||
rText = ByteString(memblock);
|
rText = ByteString(memblock);
|
||||||
rText.SearchAndReplaceAll( "\n", "\\n" );
|
helper::searchAndReplaceAll(&rText, "\n", "\\n");
|
||||||
delete[] memblock;
|
delete[] memblock;
|
||||||
}
|
}
|
||||||
WorkOnText( rOpenTag, rText );
|
WorkOnText( rOpenTag, rText );
|
||||||
@@ -552,8 +549,8 @@ void XRMResExport::WorkOnDesc(
|
|||||||
|
|
||||||
//*****************************************************************************/
|
//*****************************************************************************/
|
||||||
void XRMResExport::WorkOnText(
|
void XRMResExport::WorkOnText(
|
||||||
const ByteString &rOpenTag,
|
const rtl::OString &rOpenTag,
|
||||||
ByteString &rText
|
rtl::OString &rText
|
||||||
)
|
)
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
{
|
{
|
||||||
@@ -566,22 +563,18 @@ void XRMResExport::WorkOnText(
|
|||||||
pResData->sId = GetLID();
|
pResData->sId = GetLID();
|
||||||
}
|
}
|
||||||
|
|
||||||
ByteString sText(rText);
|
rtl::OString sText(rText);
|
||||||
ConvertStringToDBFormat(sText);
|
ConvertStringToDBFormat(sText);
|
||||||
pResData->sText[sLang] = sText;
|
pResData->sText[sLang] = sText;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void XRMResExport::EndOfText(
|
void XRMResExport::EndOfText(
|
||||||
const ByteString &rOpenTag,
|
const rtl::OString &,
|
||||||
const ByteString &rCloseTag
|
const rtl::OString &
|
||||||
)
|
)
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
{
|
{
|
||||||
|
|
||||||
(void) rOpenTag; // FIXME
|
|
||||||
(void) rCloseTag; // FIXME
|
|
||||||
|
|
||||||
if ( pResData && pOutputStream )
|
if ( pResData && pOutputStream )
|
||||||
{
|
{
|
||||||
ByteString sTimeStamp( Export::GetTimeStamp());
|
ByteString sTimeStamp( Export::GetTimeStamp());
|
||||||
@@ -627,15 +620,15 @@ void XRMResExport::EndOfText(
|
|||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
XRMResMerge::XRMResMerge(
|
XRMResMerge::XRMResMerge(
|
||||||
const ByteString &rMergeSource, const ByteString &rOutputFile,
|
const rtl::OString &rMergeSource, const rtl::OString &rOutputFile,
|
||||||
ByteString &rFilename)
|
const rtl::OString &rFilename)
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
: XRMResOutputParser( rOutputFile ),
|
: XRMResOutputParser( rOutputFile ),
|
||||||
pMergeDataFile( NULL ),
|
pMergeDataFile( NULL ),
|
||||||
sFilename( rFilename ) ,
|
sFilename( rFilename ) ,
|
||||||
pResData( NULL )
|
pResData( NULL )
|
||||||
{
|
{
|
||||||
if ( rMergeSource.Len())
|
if (!rMergeSource.isEmpty())
|
||||||
pMergeDataFile = new MergeDataFile(
|
pMergeDataFile = new MergeDataFile(
|
||||||
rMergeSource, sInputFileName, bErrorLog);
|
rMergeSource, sInputFileName, bErrorLog);
|
||||||
if( Export::sLanguages.equalsIgnoreAsciiCaseL(RTL_CONSTASCII_STRINGPARAM("ALL")))
|
if( Export::sLanguages.equalsIgnoreAsciiCaseL(RTL_CONSTASCII_STRINGPARAM("ALL")))
|
||||||
@@ -657,8 +650,8 @@ XRMResMerge::~XRMResMerge()
|
|||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void XRMResMerge::WorkOnDesc(
|
void XRMResMerge::WorkOnDesc(
|
||||||
const ByteString &rOpenTag,
|
const rtl::OString &rOpenTag,
|
||||||
ByteString &rText
|
rtl::OString &rText
|
||||||
)
|
)
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
{
|
{
|
||||||
@@ -721,8 +714,8 @@ void XRMResMerge::WorkOnDesc(
|
|||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void XRMResMerge::WorkOnText(
|
void XRMResMerge::WorkOnText(
|
||||||
const ByteString &rOpenTag,
|
const rtl::OString &rOpenTag,
|
||||||
ByteString &rText
|
rtl::OString &rText
|
||||||
)
|
)
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
{
|
{
|
||||||
@@ -753,18 +746,18 @@ void XRMResMerge::WorkOnText(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void XRMResMerge::Output( const ByteString& rOutput )
|
void XRMResMerge::Output( const rtl::OString& rOutput )
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
{
|
{
|
||||||
//printf("W: %s\n",rOutput.GetBuffer());
|
//printf("W: %s\n",rOutput.GetBuffer());
|
||||||
if ( pOutputStream && rOutput.Len() > 0 )
|
if ( pOutputStream && !rOutput.isEmpty() )
|
||||||
pOutputStream->Write( rOutput.GetBuffer(), rOutput.Len());
|
pOutputStream->Write( rOutput.getStr(), rOutput.getLength());
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void XRMResMerge::EndOfText(
|
void XRMResMerge::EndOfText(
|
||||||
const ByteString &rOpenTag,
|
const rtl::OString &rOpenTag,
|
||||||
const ByteString &rCloseTag
|
const rtl::OString &rCloseTag
|
||||||
)
|
)
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user