From fbca104133cd1152242c9af48d0cb87f7a68c03f Mon Sep 17 00:00:00 2001 From: Yuriy Rymarchuk Date: Thu, 18 May 2023 12:03:37 +0200 Subject: [PATCH] Add support for roaring_bitmap_xor_inplace --- src/include/ndpi_api.h | 1 + src/lib/ndpi_bitmap.c | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/src/include/ndpi_api.h b/src/include/ndpi_api.h index 9c2188e683e..7c5523bd644 100644 --- a/src/include/ndpi_api.h +++ b/src/include/ndpi_api.h @@ -1914,6 +1914,7 @@ extern "C" { void ndpi_bitmap_and(ndpi_bitmap* a, ndpi_bitmap* b_and); void ndpi_bitmap_or(ndpi_bitmap* a, ndpi_bitmap* b_or); + void ndpi_bitmap_xor(ndpi_bitmap* a, ndpi_bitmap* b_xor); ndpi_bitmap_iterator* ndpi_bitmap_iterator_alloc(ndpi_bitmap* b); void ndpi_bitmap_iterator_free(ndpi_bitmap* b); diff --git a/src/lib/ndpi_bitmap.c b/src/lib/ndpi_bitmap.c index e87ca16205c..728973ae846 100644 --- a/src/lib/ndpi_bitmap.c +++ b/src/lib/ndpi_bitmap.c @@ -115,6 +115,13 @@ void ndpi_bitmap_or(ndpi_bitmap* a, ndpi_bitmap* b_or) { /* ******************************************* */ +/* b = b ^ b_xor */ +void ndpi_bitmap_xor(ndpi_bitmap* a, ndpi_bitmap* b_xor) { + roaring_bitmap_xor_inplace((ndpi_bitmap*)a, (ndpi_bitmap*)b_xor); +} + +/* ******************************************* */ + ndpi_bitmap_iterator* ndpi_bitmap_iterator_alloc(ndpi_bitmap* b) { return(roaring_create_iterator((ndpi_bitmap*)b)); }