summaryrefslogtreecommitdiff
path: root/basic
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2012-01-27 20:27:18 +0000
committerCaolán McNamara <caolanm@redhat.com>2012-01-30 13:18:34 +0000
commit89dc8369186227f25b6543ad3acdae67dc2da068 (patch)
tree260a04c5d1301657e5daca7ed48f008ae545e0dd /basic
parent74ded8e619cac076e8fbf4ea547d61e055e7e3ce (diff)
ByteString->rtl::OString
Diffstat (limited to 'basic')
-rw-r--r--basic/source/inc/iosys.hxx31
-rw-r--r--basic/source/runtime/iosys.cxx96
-rw-r--r--basic/source/runtime/methods1.cxx4
-rw-r--r--basic/source/runtime/step0.cxx4
4 files changed, 69 insertions, 66 deletions
diff --git a/basic/source/inc/iosys.hxx b/basic/source/inc/iosys.hxx
index 4cc0f9b3314e..7134e7b6855f 100644
--- a/basic/source/inc/iosys.hxx
+++ b/basic/source/inc/iosys.hxx
@@ -45,10 +45,11 @@ class SvStream;
#define SBSTRM_APPEND 0x0008
#define SBSTRM_BINARY 0x0010
-class SbiStream {
+class SbiStream
+{
SvStream* pStrm;
sal_uIntPtr nExpandOnWriteTo; // during writing access expand the stream to this size
- ByteString aLine;
+ rtl::OString aLine;
sal_uIntPtr nLine;
short nLen; // buffer length
short nMode;
@@ -59,11 +60,11 @@ class SbiStream {
public:
SbiStream();
~SbiStream();
- SbError Open( short, const ByteString&, short, short, short );
+ SbError Open( short, const rtl::OString&, short, short, short );
SbError Close();
- SbError Read( ByteString&, sal_uInt16 = 0, bool bForceReadingPerByte=false );
+ SbError Read(rtl::OString&, sal_uInt16 = 0, bool bForceReadingPerByte=false);
SbError Read( char& );
- SbError Write( const ByteString&, sal_uInt16 = 0 );
+ SbError Write( const rtl::OString&, sal_uInt16 = 0 );
bool IsText() const { return (nMode & SBSTRM_BINARY) == 0; }
bool IsRandom() const { return (nMode & SBSTRM_RANDOM) != 0; }
@@ -78,28 +79,30 @@ public:
SvStream* GetStrm() { return pStrm; }
};
-class SbiIoSystem {
+class SbiIoSystem
+{
SbiStream* pChan[ CHANNELS ];
- ByteString aPrompt;
- ByteString aIn, aOut;
+ rtl::OString aPrompt;
+ rtl::OString aIn;
+ rtl::OString aOut;
short nChan;
SbError nError;
- void ReadCon( ByteString& );
- void WriteCon( const ByteString& );
+ void ReadCon(rtl::OString&);
+ void WriteCon(const rtl::OString&);
public:
SbiIoSystem();
~SbiIoSystem();
SbError GetError();
void Shutdown();
- void SetPrompt( const ByteString& r ) { aPrompt = r; }
+ void SetPrompt(const rtl::OString& r) { aPrompt = r; }
void SetChannel( short n ) { nChan = n; }
short GetChannel() const { return nChan;}
void ResetChannel() { nChan = 0; }
- void Open( short, const ByteString&, short, short, short );
+ void Open( short, const rtl::OString&, short, short, short );
void Close();
- void Read( ByteString&, short = 0 );
+ void Read(rtl::OString&, short = 0);
char Read();
- void Write( const ByteString&, short = 0 );
+ void Write(const rtl::OString&, short = 0);
short NextChannel();
// 0 == bad channel or no SvStream (nChannel=0..CHANNELS-1)
SbiStream* GetStream( short nChannel ) const;
diff --git a/basic/source/runtime/iosys.cxx b/basic/source/runtime/iosys.cxx
index 79dcb0ef8b2d..63ae9feb65fd 100644
--- a/basic/source/runtime/iosys.cxx
+++ b/basic/source/runtime/iosys.cxx
@@ -562,7 +562,7 @@ void UCBStream::SetSize( sal_uIntPtr nSize )
SbError SbiStream::Open
-( short nCh, const ByteString& rName, short nStrmMode, short nFlags, short nL )
+( short nCh, const rtl::OString& rName, short nStrmMode, short nFlags, short nL )
{
nMode = nFlags;
nLen = nL;
@@ -571,7 +571,7 @@ SbError SbiStream::Open
nExpandOnWriteTo = 0;
if( ( nStrmMode & ( STREAM_READ|STREAM_WRITE ) ) == STREAM_READ )
nStrmMode |= STREAM_NOCREATE;
- String aStr( rName, osl_getThreadTextEncoding() );
+ String aStr(rtl::OStringToOUString(rName, osl_getThreadTextEncoding()));
String aNameStr = getFullPath( aStr );
if( hasUno() )
@@ -642,14 +642,12 @@ SbError SbiStream::Close()
return nError;
}
-SbError SbiStream::Read( ByteString& rBuf, sal_uInt16 n, bool bForceReadingPerByte )
+SbError SbiStream::Read(rtl::OString& rBuf, sal_uInt16 n, bool bForceReadingPerByte)
{
nExpandOnWriteTo = 0;
if( !bForceReadingPerByte && IsText() )
{
- rtl::OString aBuffer;
- pStrm->ReadLine(aBuffer);
- rBuf = aBuffer;
+ pStrm->ReadLine(rBuf);
nLine++;
}
else
@@ -673,13 +671,13 @@ SbError SbiStream::Read( ByteString& rBuf, sal_uInt16 n, bool bForceReadingPerBy
SbError SbiStream::Read( char& ch )
{
nExpandOnWriteTo = 0;
- if( !aLine.Len() )
+ if (aLine.isEmpty())
{
Read( aLine, 0 );
- aLine += '\n';
+ aLine = aLine + rtl::OString('\n');
}
- ch = aLine.GetBuffer()[0];
- aLine.Erase( 0, 1 );
+ ch = aLine[0];
+ aLine = aLine.copy(1);
return nError;
}
@@ -705,7 +703,7 @@ void SbiStream::ExpandFile()
namespace
{
- void WriteLines(SvStream &rStream, const ByteString& rStr)
+ void WriteLines(SvStream &rStream, const rtl::OString& rStr)
{
ByteString aStr( rStr );
aStr.ConvertLineEnd( rStream.GetLineDelimiter() );
@@ -714,7 +712,7 @@ namespace
}
}
-SbError SbiStream::Write( const ByteString& rBuf, sal_uInt16 n )
+SbError SbiStream::Write( const rtl::OString& rBuf, sal_uInt16 n )
{
ExpandFile();
if( IsAppend() )
@@ -722,25 +720,26 @@ SbError SbiStream::Write( const ByteString& rBuf, sal_uInt16 n )
if( IsText() )
{
- aLine += rBuf;
+ aLine = aLine + rBuf;
// Get it out, if the end is an LF, but strip CRLF before,
// because the SvStrm adds a CRLF!
- sal_uInt16 nLineLen = aLine.Len();
- if( nLineLen && aLine.GetBuffer()[ --nLineLen ] == 0x0A )
+ sal_Int32 nLineLen = aLine.getLength();
+ if (nLineLen && aLine[--nLineLen] == 0x0A)
{
- aLine.Erase( nLineLen );
- if( nLineLen && aLine.GetBuffer()[ --nLineLen ] == 0x0D )
- aLine.Erase( nLineLen );
+ aLine = aLine.copy(0, nLineLen);
+ if (nLineLen && aLine[--nLineLen] == 0x0D)
+ aLine = aLine.copy(0, nLineLen);
WriteLines(*pStrm, aLine);
- aLine.Erase();
+ aLine = rtl::OString();
}
}
else
{
- if( !n ) n = nLen;
+ if( !n )
+ n = nLen;
if( !n )
return nError = SbERR_BAD_RECORD_LENGTH;
- pStrm->Write( rBuf.GetBuffer(), n );
+ pStrm->Write(rBuf.getStr(), n);
MapError();
}
return nError;
@@ -774,8 +773,7 @@ SbError SbiIoSystem::GetError()
return n;
}
-void SbiIoSystem::Open
- ( short nCh, const ByteString& rName, short nMode, short nFlags, short nLen )
+void SbiIoSystem::Open(short nCh, const rtl::OString& rName, short nMode, short nFlags, short nLen)
{
nError = 0;
if( nCh >= CHANNELS || !nCh )
@@ -824,9 +822,9 @@ void SbiIoSystem::Shutdown()
}
nChan = 0;
// anything left to PRINT?
- if( aOut.Len() )
+ if( !aOut.isEmpty() )
{
- String aOutStr( aOut, osl_getThreadTextEncoding() );
+ rtl::OUString aOutStr(rtl::OStringToOUString(aOut, osl_getThreadTextEncoding()));
#if defined GCC
Window* pParent = Application::GetDefDialogParent();
MessBox( pParent, WinBits( WB_OK ), String(), aOutStr ).Execute();
@@ -834,11 +832,11 @@ void SbiIoSystem::Shutdown()
MessBox( GetpApp()->GetDefDialogParent(), WinBits( WB_OK ), String(), aOutStr ).Execute();
#endif
}
- aOut.Erase();
+ aOut = rtl::OString();
}
-void SbiIoSystem::Read( ByteString& rBuf, short n )
+void SbiIoSystem::Read(rtl::OString& rBuf, short n)
{
if( !nChan )
ReadCon( rBuf );
@@ -853,13 +851,13 @@ char SbiIoSystem::Read()
char ch = ' ';
if( !nChan )
{
- if( !aIn.Len() )
+ if( aIn.isEmpty() )
{
ReadCon( aIn );
- aIn += '\n';
+ aIn = aIn + rtl::OString('\n');
}
- ch = aIn.GetBuffer()[0];
- aIn.Erase( 0, 1 );
+ ch = aIn[0];
+ aIn = aIn.copy(1);
}
else if( !pChan[ nChan ] )
nError = SbERR_BAD_CHANNEL;
@@ -868,7 +866,7 @@ char SbiIoSystem::Read()
return ch;
}
-void SbiIoSystem::Write( const ByteString& rBuf, short n )
+void SbiIoSystem::Write(const rtl::OString& rBuf, short n)
{
if( !nChan )
WriteCon( rBuf );
@@ -921,7 +919,7 @@ void SbiIoSystem::CloseAll(void)
***************************************************************************/
-void SbiIoSystem::ReadCon( ByteString& rIn )
+void SbiIoSystem::ReadCon(rtl::OString& rIn)
{
String aPromptStr( aPrompt, osl_getThreadTextEncoding() );
SbiInputDialog aDlg( NULL, aPromptStr );
@@ -929,27 +927,29 @@ void SbiIoSystem::ReadCon( ByteString& rIn )
rIn = rtl::OUStringToOString(aDlg.GetInput(), osl_getThreadTextEncoding());
else
nError = SbERR_USER_ABORT;
- aPrompt.Erase();
+ aPrompt = rtl::OString();
}
// output of a MessageBox, if theres a CR in the console-buffer
-void SbiIoSystem::WriteCon( const ByteString& rText )
+void SbiIoSystem::WriteCon(const rtl::OString& rText)
{
aOut += rText;
- sal_uInt16 n1 = aOut.Search( '\n' );
- sal_uInt16 n2 = aOut.Search( '\r' );
- if( n1 != STRING_NOTFOUND || n2 != STRING_NOTFOUND )
- {
- if( n1 == STRING_NOTFOUND ) n1 = n2;
- else
- if( n2 == STRING_NOTFOUND ) n2 = n1;
- if( n1 > n2 ) n1 = n2;
- ByteString s( aOut.Copy( 0, n1 ) );
- aOut.Erase( 0, n1 );
- while( aOut.GetBuffer()[0] == '\n' || aOut.GetBuffer()[0] == '\r' )
- aOut.Erase( 0, 1 );
- String aStr( s, osl_getThreadTextEncoding() );
+ sal_Int32 n1 = aOut.indexOf('\n');
+ sal_Int32 n2 = aOut.indexOf('\r');
+ if( n1 != -1 || n2 != -1 )
+ {
+ if( n1 == -1 )
+ n1 = n2;
+ else if( n2 == -1 )
+ n2 = n1;
+ if( n1 > n2 )
+ n1 = n2;
+ rtl::OString s(aOut.copy(0, n1));
+ aOut = aOut.copy(n1);
+ while (aOut[0] == '\n' || aOut[0] == '\r')
+ aOut = aOut.copy(1);
+ String aStr(rtl::OStringToOUString(s, osl_getThreadTextEncoding()));
{
SolarMutexGuard aSolarGuard;
if( !MessBox( GetpApp()->GetDefDialogParent(),
diff --git a/basic/source/runtime/methods1.cxx b/basic/source/runtime/methods1.cxx
index af2cfbc24f7b..04a21d59af73 100644
--- a/basic/source/runtime/methods1.cxx
+++ b/basic/source/runtime/methods1.cxx
@@ -3209,7 +3209,7 @@ RTLFUNC(Input)
return;
}
- ByteString aByteBuffer;
+ rtl::OString aByteBuffer;
SbError err = pSbStrm->Read( aByteBuffer, nByteCount, true );
if( !err )
err = pIosys->GetError();
@@ -3219,7 +3219,7 @@ RTLFUNC(Input)
StarBASIC::Error( err );
return;
}
- rPar.Get(0)->PutString( String( aByteBuffer, osl_getThreadTextEncoding() ) );
+ rPar.Get(0)->PutString(rtl::OStringToOUString(aByteBuffer, osl_getThreadTextEncoding()));
}
RTLFUNC(Me)
diff --git a/basic/source/runtime/step0.cxx b/basic/source/runtime/step0.cxx
index 7268d3d0e558..b5591fd1f424 100644
--- a/basic/source/runtime/step0.cxx
+++ b/basic/source/runtime/step0.cxx
@@ -1175,11 +1175,11 @@ void SbiRuntime::StepINPUT()
void SbiRuntime::StepLINPUT()
{
- ByteString aInput;
+ rtl::OString aInput;
pIosys->Read( aInput );
Error( pIosys->GetError() );
SbxVariableRef p = PopVar();
- p->PutString( String( aInput, osl_getThreadTextEncoding() ) );
+ p->PutString(rtl::OStringToOUString(aInput, osl_getThreadTextEncoding()));
}
// end of program