summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2011-12-21 23:52:28 +0100
committerJose <jose@zeroc.com>2011-12-21 23:52:28 +0100
commit61e6e2ef7faa507d8fa8f4ee560c1095b26781c7 (patch)
tree4a428b2c5af4e0fcc131d2ea1215b65aa17a1a17 /cpp/src
parentICE-4719 - .NET partial classe and user generated constructors (diff)
downloadice-61e6e2ef7faa507d8fa8f4ee560c1095b26781c7.tar.bz2
ice-61e6e2ef7faa507d8fa8f4ee560c1095b26781c7.tar.xz
ice-61e6e2ef7faa507d8fa8f4ee560c1095b26781c7.zip
ICE-4592 UTF8BufferI getMoreBytes
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/Ice/Instance.cpp43
-rw-r--r--cpp/src/Ice/Instance.h17
-rw-r--r--cpp/src/Ice/StringConverter.cpp61
3 files changed, 60 insertions, 61 deletions
diff --git a/cpp/src/Ice/Instance.cpp b/cpp/src/Ice/Instance.cpp
index 220da4c0d25..bb3505b5096 100644
--- a/cpp/src/Ice/Instance.cpp
+++ b/cpp/src/Ice/Instance.cpp
@@ -1358,49 +1358,6 @@ IceInternal::Instance::destroy()
return true;
}
-IceInternal::UTF8BufferI::UTF8BufferI() :
- _buffer(0),
- _offset(0)
-{
-}
-
-IceInternal::UTF8BufferI::~UTF8BufferI()
-{
- free(_buffer);
-}
-
-Byte*
-IceInternal::UTF8BufferI::getMoreBytes(size_t howMany, Byte* firstUnused)
-{
- if(_buffer == 0)
- {
- _buffer = (Byte*)malloc(howMany);
- }
- else
- {
- assert(firstUnused != 0);
- _offset = firstUnused - _buffer;
- _buffer = (Byte*)realloc(_buffer, _offset + howMany);
- }
-
- return _buffer + _offset;
-}
-
-Byte*
-IceInternal::UTF8BufferI::getBuffer()
-{
- return _buffer;
-}
-
-void
-IceInternal::UTF8BufferI::reset()
-{
- free(_buffer);
- _buffer = 0;
- _offset = 0;
-}
-
-
IceInternal::ProcessI::ProcessI(const CommunicatorPtr& communicator) :
_communicator(communicator)
{
diff --git a/cpp/src/Ice/Instance.h b/cpp/src/Ice/Instance.h
index fec5d2257e2..81cb3f9bf06 100644
--- a/cpp/src/Ice/Instance.h
+++ b/cpp/src/Ice/Instance.h
@@ -143,23 +143,6 @@ private:
std::set<std::string> _adminFacetFilter;
};
-class UTF8BufferI : public Ice::UTF8Buffer
-{
-public:
-
- UTF8BufferI();
- ~UTF8BufferI();
-
- Ice::Byte* getMoreBytes(size_t howMany, Ice::Byte* firstUnused);
- Ice::Byte* getBuffer();
- void reset();
-
-private:
-
- Ice::Byte* _buffer;
- size_t _offset;
-};
-
class ProcessI : public Ice::Process
{
public:
diff --git a/cpp/src/Ice/StringConverter.cpp b/cpp/src/Ice/StringConverter.cpp
index 05de87a5d92..f4dd0e36243 100644
--- a/cpp/src/Ice/StringConverter.cpp
+++ b/cpp/src/Ice/StringConverter.cpp
@@ -24,6 +24,65 @@ using namespace IceUtil;
using namespace IceUtilInternal;
using namespace std;
+namespace
+{
+
+class UTF8BufferI : public Ice::UTF8Buffer
+{
+public:
+
+ UTF8BufferI() :
+ _buffer(0),
+ _offset(0)
+ {
+ }
+
+ ~UTF8BufferI()
+ {
+ free(_buffer);
+ }
+
+ Ice::Byte* getMoreBytes(size_t howMany, Byte* firstUnused)
+ {
+ if(_buffer == 0)
+ {
+ _buffer = (Byte*)malloc(howMany);
+ }
+ else
+ {
+ assert(firstUnused != 0);
+ _offset = firstUnused - _buffer;
+ _buffer = (Byte*)realloc(_buffer, _offset + howMany);
+ }
+
+ if(!_buffer)
+ {
+ throw std::bad_alloc();
+ }
+ return _buffer + _offset;
+ }
+
+ Ice::Byte* getBuffer()
+ {
+ return _buffer;
+ }
+
+ void reset()
+ {
+ free(_buffer);
+ _buffer = 0;
+ _offset = 0;
+ }
+
+private:
+
+ Ice::Byte* _buffer;
+ size_t _offset;
+};
+}
+
+
+
namespace Ice
{
@@ -353,7 +412,7 @@ Ice::nativeToUTF8(const Ice::StringConverterPtr& converter, const string& str)
{
return str;
}
- IceInternal::UTF8BufferI buffer;
+ UTF8BufferI buffer;
Ice::Byte* last = converter->toUTF8(str.data(), str.data() + str.size(), buffer);
return string(reinterpret_cast<const char*>(buffer.getBuffer()), last - buffer.getBuffer());
}