removing unnecessary data copies and redundant for loops. Thanks Moritz!
This commit is contained in:
parent
26966f5cdb
commit
010627b75a
@ -113,11 +113,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(readBlob(input, &initData)) {
|
if(readBlob(input, &initData)) {
|
||||||
char data[initData.charBuffer.size()];
|
if(!initData.PBFHeaderBlock.ParseFromArray(&(initData.charBuffer[0]), initData.charBuffer.size() ) ) {
|
||||||
for(unsigned i = 0; i < initData.charBuffer.size(); i++ ){
|
|
||||||
data[i] = initData.charBuffer[i];
|
|
||||||
}
|
|
||||||
if(!initData.PBFHeaderBlock.ParseFromArray(data, initData.charBuffer.size() ) ) {
|
|
||||||
std::cerr << "[error] Header not parseable!" << std::endl;
|
std::cerr << "[error] Header not parseable!" << std::endl;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -314,9 +310,7 @@ private:
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
char data[size];
|
char data[size];
|
||||||
for(int i = 0; i < size; i++) {
|
stream.read(data, size*sizeof(data[0]));
|
||||||
stream.read(&data[i], 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( !(threadData->PBFBlobHeader).ParseFromArray( data, size ) ){
|
if ( !(threadData->PBFBlobHeader).ParseFromArray( data, size ) ){
|
||||||
return false;
|
return false;
|
||||||
@ -376,9 +370,7 @@ private:
|
|||||||
}
|
}
|
||||||
|
|
||||||
char data[size];
|
char data[size];
|
||||||
for(int i = 0; i < size; i++) {
|
stream.read(data, sizeof(data[0])*size);
|
||||||
stream.read(&data[i], 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( !threadData->PBFBlob.ParseFromArray( data, size ) ) {
|
if ( !threadData->PBFBlob.ParseFromArray( data, size ) ) {
|
||||||
std::cerr << "[error] failed to parse blob" << std::endl;
|
std::cerr << "[error] failed to parse blob" << std::endl;
|
||||||
@ -424,11 +416,7 @@ private:
|
|||||||
if ( !readBlob(stream, threadData) )
|
if ( !readBlob(stream, threadData) )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
char data[threadData->charBuffer.size()];
|
if ( !threadData->PBFprimitiveBlock.ParseFromArray( &(threadData->charBuffer[0]), threadData-> charBuffer.size() ) ) {
|
||||||
for(unsigned i = 0; i < threadData->charBuffer.size(); i++ ){
|
|
||||||
data[i] = threadData->charBuffer[i];
|
|
||||||
}
|
|
||||||
if ( !threadData->PBFprimitiveBlock.ParseFromArray( data, threadData-> charBuffer.size() ) ) {
|
|
||||||
std::cerr << "[error] failed to parse PrimitiveBlock" << std::endl;
|
std::cerr << "[error] failed to parse PrimitiveBlock" << std::endl;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user