diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/include/ndpi_api.h | 4 | ||||
-rw-r--r-- | src/lib/ndpi_serializer.c | 6 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/include/ndpi_api.h b/src/include/ndpi_api.h index 0f6c9080f..fb209fbdb 100644 --- a/src/include/ndpi_api.h +++ b/src/include/ndpi_api.h @@ -861,8 +861,8 @@ extern "C" { int ndpi_serializer_set_buffer_len(ndpi_serializer *_serializer, u_int32_t l); void ndpi_serializer_set_csv_separator(ndpi_serializer *serializer, char separator); - void ndpi_serialize_set_snapshot(ndpi_serializer *serializer); - void ndpi_serialize_reset_to_snapshot(ndpi_serializer *serializer); + void ndpi_serializer_create_snapshot(ndpi_serializer *serializer); + void ndpi_serializer_rollback_snapshot(ndpi_serializer *serializer); /* Deserializer */ int ndpi_init_deserializer(ndpi_deserializer *deserializer, diff --git a/src/lib/ndpi_serializer.c b/src/lib/ndpi_serializer.c index 162da96cc..31eb09518 100644 --- a/src/lib/ndpi_serializer.c +++ b/src/lib/ndpi_serializer.c @@ -1192,16 +1192,18 @@ int ndpi_serialize_string_string(ndpi_serializer *_serializer, /* ********************************** */ -void ndpi_serialize_set_snapshot(ndpi_serializer *_serializer) { +void ndpi_serializer_create_snapshot(ndpi_serializer *_serializer) { ndpi_private_serializer *serializer = (ndpi_private_serializer*)_serializer; + memcpy(&serializer->snapshot, &serializer->status, sizeof(ndpi_private_serializer_status)); serializer->has_snapshot = 1; } /* ********************************** */ -void ndpi_serialize_reset_to_snapshot(ndpi_serializer *_serializer) { +void ndpi_serializer_rollback_snapshot(ndpi_serializer *_serializer) { ndpi_private_serializer *serializer = (ndpi_private_serializer*)_serializer; + if (serializer->has_snapshot) { memcpy(&serializer->status, &serializer->snapshot, sizeof(ndpi_private_serializer_status)); serializer->has_snapshot = 0; |