X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=datasnapshot.cpp;h=6933ea12b9440623884e8b9dc18edada1aac7d35;hp=80d9ba4318f53f83e8d89604d658870d677e4b69;hb=8f94be14588c7a7ca0f483b649d7a7b5b5f45ae9;hpb=f556bc6a4d1798e59f6d0276cdb0d55b5ffab476 diff --git a/datasnapshot.cpp b/datasnapshot.cpp index 80d9ba43..6933ea12 100644 --- a/datasnapshot.cpp +++ b/datasnapshot.cpp @@ -1,5 +1,5 @@ /* - * This file is part of the sigrok project. + * This file is part of the PulseView project. * * Copyright (C) 2012 Joel Holdsworth * @@ -26,7 +26,7 @@ DataSnapshot::DataSnapshot(int unit_size) : _data(NULL), - _data_length(0), + _sample_count(0), _unit_size(unit_size) { assert(_unit_size > 0); @@ -39,12 +39,13 @@ DataSnapshot::~DataSnapshot() uint64_t DataSnapshot::get_sample_count() { - return _data_length / _unit_size; + return _sample_count; } -void DataSnapshot::append_data(void *data, uint64_t length) +void DataSnapshot::append_data(void *data, uint64_t samples) { - _data = realloc(_data, _data_length + length); - memcpy((uint8_t*)_data + _data_length, data, length); - _data_length += length; + _data = realloc(_data, (_sample_count + samples) * _unit_size); + memcpy((uint8_t*)_data + _sample_count * _unit_size, + data, samples * _unit_size); + _sample_count += samples; }