capacity fix
This commit is contained in:
@@ -354,7 +354,7 @@ void DefaultPVArray<T>::deserialize(ByteBuffer *pbuffer, \
|
||||
DeserializableControl *pcontrol) { \
|
||||
int size = SerializeHelper::readSize(pbuffer, pcontrol); \
|
||||
if(size>=0) { \
|
||||
if(size>PVArray::getCapacity()) PVArray::setCapacity(size); \
|
||||
if(size>getCapacity()) setCapacity(size); \
|
||||
int i = 0; \
|
||||
while(true) { \
|
||||
int maxIndex = std::min(size-i, pbuffer->getRemaining())+i; \
|
||||
@@ -373,7 +373,7 @@ void DefaultPVArray<T>::deserialize(ByteBuffer *pbuffer, \
|
||||
template<> \
|
||||
void DefaultPVArray<T>::serialize(ByteBuffer *pbuffer, \
|
||||
SerializableControl *pflusher, int offset, int count) { \
|
||||
int length = PVArray::getLength(); \
|
||||
int length = getLength(); \
|
||||
\
|
||||
if(offset<0) \
|
||||
offset = 0; \
|
||||
|
||||
@@ -337,12 +337,13 @@ void testArray() {
|
||||
" ",
|
||||
"test",
|
||||
"smile",
|
||||
"this is a little longer string... maybe a little but longer... this makes test better" };
|
||||
"this is a little longer string... maybe a little but longer... this makes test better",
|
||||
String(10000, 'b') };
|
||||
PVStringArray* pvString = (PVStringArray*)factory->createPVScalarArray(
|
||||
NULL, "pvStringArray", epics::pvData::pvString);
|
||||
pvString->put(0, 0, stringEmpty, 0);
|
||||
serializationTest(pvString);
|
||||
pvString->put(0, 7, strv, 0);
|
||||
pvString->put(0, 8, strv, 0);
|
||||
serializationTest(pvString);
|
||||
delete pvString;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user