Commit Graph
10 Commits
Author SHA1 Message Date
Guido Casati a8f8244b09 Fix mutation of input iterators in seq_arr_erase_it
The seq_arr_erase_it function was modifying start_it during the free_func loop,
which led to incorrectly apply the free_func on the whole array.

This commit makes sure the elements "freed" are only those in the range and not the whole seq_arr.

* Fixes the logic by introducing a temporary iterator for the free loop,
  preserving start_it and end_it for correct offset calculations.

* Adds a regression test in test_seq_arr to verify that only the selected
  subrange is erased and that free_func is called exactly on that range.
2025-06-17 23:50:43 +02:00
Guido Casati eb2facfa76 Add macro to iterate over seq_arr_t 2025-06-05 11:37:56 +02:00
Guido Casati 8fb8713023 Replace ngap_pdu_t with byte_array_t
ngap_pdu_t has the same definition as byte_array_t, so it is
replaced by the latter. This simplify the stack and reduces
duplicated code.

Also, add function create_byte_array to copy from an
existing buffer to a new byte_array_t and replaced
allocCopy with create_byte_array, and adopted
OCTET_STRING_fromBuf whenever possible.
2025-05-28 12:59:50 +02:00
Robert Schmidt 8eca2e0591 Correctly link function
ran_func_kpm.c uses cp_ba_to_str(), but it is not defined in OAI. Define
it so we can link properly, instead of relying on FlexRIC (where it was
defined).
2025-01-27 07:45:39 +01:00
Robert Schmidt 6dfd7cdc71 rename find_if_arr -> find_if to avoid name clashes
In a later commit, we will use find_if in L2. In the case of building
with E2 agent, we link e2_agent which comes with its own implementation
of find_if_arr(), which results in a name clash. Rename the OAI
implementation, as nothing uses this, anyway.
2024-05-24 11:35:15 +02:00
mir 456009cb1f Add a sequence container in OAI
Add a sequence container in OAI. Includes for_each algorithm, doxygen
odcumentation, and test using ctest.
2024-03-12 17:48:10 +01:00
Robert Schmidt 2a3bd726ba byte_array: don't use OAI assertions.h, requires exit_function()
Using AssertFatal() has the drawback that it requires the definition of
an exit_function() (which is typically declared in OAI main
executables). We don't want to pull in such dependency for every
consumer. Hence, use c stdlib's assert() instead.
2024-01-24 14:18:30 +01:00
Teodora 2eaac0351d Fix compile error when --build-e2 option included
- modify byte_array.h in order to avoid conflict for same file names
2023-10-02 15:40:36 +02:00
Vaibhav Shrivastava ae751e13ca incorrectStringBooleanError CPPCheck warnings fix on W27 2023-07-12 17:43:05 +05:30
mir 986a1a80ff Remove nettle library from OAI, support OpenSSL 3.0 and 1.1
Add byte_array_t structure under common/
2023-02-10 16:49:54 +01:00