LCOV - code coverage report
Current view: top level - ballet/json - cJSON_alloc.c (source / functions) Hit Total Coverage
Test: cov.lcov Lines: 0 18 0.0 %
Date: 2025-12-06 04:45:29 Functions: 0 3 0.0 %

          Line data    Source code
       1             : #include "cJSON_alloc.h"
       2             : #include "cJSON.h"
       3             : 
       4             : #include "../../util/fd_util_base.h"
       5             : 
       6             : #include <stddef.h>
       7             : 
       8             : static ulong g_initialized;
       9             : static FD_TL fd_alloc_t * cjson_alloc_ctx;
      10             : 
      11             : static void *
      12           0 : cjson_alloc( ulong sz ) {
      13           0 :   return fd_alloc_malloc( cjson_alloc_ctx, alignof(max_align_t), sz );
      14           0 : }
      15             : 
      16             : static void
      17           0 : cjson_free( void * ptr ) {
      18           0 :   fd_alloc_free( cjson_alloc_ctx, ptr );
      19           0 : }
      20             : 
      21             : void
      22           0 : cJSON_alloc_install( fd_alloc_t * alloc ) {
      23           0 :   cjson_alloc_ctx = alloc;
      24             : 
      25           0 :   if( FD_ATOMIC_CAS( &g_initialized, 0UL, 1UL )==0UL ) {
      26           0 :     cJSON_Hooks hooks = {
      27           0 :       .malloc_fn = cjson_alloc,
      28           0 :       .free_fn   = cjson_free,
      29           0 :     };
      30           0 :     cJSON_InitHooks( &hooks );
      31           0 :   } else {
      32           0 :     while( g_initialized!=1UL ) FD_SPIN_PAUSE();
      33           0 :   }
      34           0 : }

Generated by: LCOV version 1.14