]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
flowbits: toggle returns state of the bit
authorVictor Julien <vjulien@oisf.net>
Fri, 10 Jun 2022 19:07:15 +0000 (21:07 +0200)
committerVictor Julien <victor@inliniac.net>
Thu, 3 Apr 2025 08:05:43 +0000 (10:05 +0200)
src/flow-bit.c
src/flow-bit.h

index f59e7eae943e0a5a58b8844eff48b89b1aaa9891..304e6bd41569b79780af6705c1c4f6a796d97a98 100644 (file)
@@ -91,13 +91,18 @@ void FlowBitUnset(Flow *f, uint32_t idx)
     FlowBitRemove(f, idx);
 }
 
-void FlowBitToggle(Flow *f, uint32_t idx)
+/**
+ * \retval bool true if bit is set, false is unset
+ */
+bool FlowBitToggle(Flow *f, uint32_t idx)
 {
     FlowBit *fb = FlowBitGet(f, idx);
     if (fb != NULL) {
         FlowBitRemove(f, idx);
+        return false;
     } else {
         FlowBitAdd(f, idx);
+        return true;
     }
 }
 
index e7fb3f9ecc9c915256a09e071535d49df6ed23f1..c98fa585cd52bce5ea5811a475a83b51a26ea743 100644 (file)
@@ -41,7 +41,7 @@ void FlowBitRegisterTests(void);
 
 void FlowBitSet(Flow *, uint32_t);
 void FlowBitUnset(Flow *, uint32_t);
-void FlowBitToggle(Flow *, uint32_t);
+bool FlowBitToggle(Flow *, uint32_t);
 int FlowBitIsset(Flow *, uint32_t);
 int FlowBitIsnotset(Flow *, uint32_t);
 #endif /* SURICATA_FLOW_BIT_H */