]> sigrok.org Git - pulseview.git/blobdiff - pv/data/snapshot.cpp
Added support for save
[pulseview.git] / pv / data / snapshot.cpp
index f3855e06c34ce9bf7cf829b5b27085f70bcb82e7..85f54e784a1174cc0023ae687964ddc6c9ef6165 100644 (file)
@@ -24,7 +24,8 @@
 #include <stdlib.h>
 #include <string.h>
 
-using namespace boost;
+using boost::lock_guard;
+using boost::recursive_mutex;
 
 namespace pv {
 namespace data {
@@ -44,16 +45,22 @@ Snapshot::~Snapshot()
        free(_data);
 }
 
-uint64_t Snapshot::get_sample_count()
+uint64_t Snapshot::get_sample_count() const
 {
        lock_guard<recursive_mutex> lock(_mutex);
        return _sample_count;
 }
 
+int Snapshot::unit_size() const
+{
+       return _unit_size;
+}
+
 void Snapshot::append_data(void *data, uint64_t samples)
 {
        lock_guard<recursive_mutex> lock(_mutex);
-       _data = realloc(_data, (_sample_count + samples) * _unit_size);
+       _data = realloc(_data, (_sample_count + samples) * _unit_size +
+               sizeof(uint64_t));
        memcpy((uint8_t*)_data + _sample_count * _unit_size,
                data, samples * _unit_size);
        _sample_count += samples;