SolidSyslog coverage report
Current view: top level - Core/Source - SolidSyslogNullBuffer.c (source / functions) Coverage Total Hit
Test: SolidSyslog Lines: 100.0 % 9 9
Test Date: 2026-11-12 23:14:35 Functions: 100.0 % 4 4

            Line data    Source code
       1              : /* SPDX-FileCopyrightText: Copyright 2026 Cozens Software Solutions Limited
       2              :  * SPDX-License-Identifier: PolyForm-Noncommercial-1.0.0 OR LicenseRef-PolyForm-Internal-Use-1.0.0 OR LicenseRef-COSOSO-Commercial
       3              :  */
       4              : 
       5              : #include "SolidSyslogNullBuffer.h"
       6              : 
       7              : #include <stdbool.h>
       8              : #include <stddef.h>
       9              : 
      10              : #include "SolidSyslogBufferDefinition.h"
      11              : 
      12              : static bool NullBuffer_Read(struct SolidSyslogBuffer* base, void* data, size_t maxSize, size_t* bytesRead);
      13              : static void NullBuffer_Write(struct SolidSyslogBuffer* base, const void* data, size_t size);
      14              : static bool NullBuffer_IsFull(struct SolidSyslogBuffer* base);
      15              : 
      16         1816 : struct SolidSyslogBuffer* SolidSyslogNullBuffer_Get(void)
      17              : {
      18              :     static struct SolidSyslogBuffer instance =
      19              :         {.Write = NullBuffer_Write, .Read = NullBuffer_Read, .IsFull = NullBuffer_IsFull};
      20         1816 :     return &instance;
      21              : }
      22              : 
      23              : /* Read returns false ("nothing to deliver") so the Service algorithm
      24              :  * sees an empty Buffer and stops draining. */
      25           22 : static bool NullBuffer_Read(struct SolidSyslogBuffer* base, void* data, size_t maxSize, size_t* bytesRead)
      26              : {
      27              :     (void) base;
      28              :     (void) data;
      29              :     (void) maxSize;
      30           22 :     *bytesRead = 0;
      31           22 :     return false;
      32              : }
      33              : 
      34              : /* Write swallows the record - a misconfigured Buffer paired with a
      35              :  * caller that doesn't gate Log() must not block or crash. */
      36           60 : static void NullBuffer_Write(struct SolidSyslogBuffer* base, const void* data, size_t size)
      37              : {
      38              :     (void) base;
      39              :     (void) data;
      40              :     (void) size;
      41           60 : }
      42              : 
      43              : /* Nothing is ever queued, so nothing is ever outrun. */
      44            5 : static bool NullBuffer_IsFull(struct SolidSyslogBuffer* base)
      45              : {
      46              :     (void) base;
      47            5 :     return false;
      48              : }
        

Generated by: LCOV version 2.0-1