LCOV - code coverage report
Current view: top level - sgx/src/untrusted - log.c (source / functions) Hit Total Coverage
Test: powHSM firmware Lines: 15 24 62.5 %
Date: 2025-07-10 13:49:13 Functions: 2 4 50.0 %

          Line data    Source code
       1             : /**
       2             :  * The MIT License (MIT)
       3             :  *
       4             :  * Copyright (c) 2021 RSK Labs Ltd
       5             :  *
       6             :  * Permission is hereby granted, free of charge, to any person obtaining a copy
       7             :  * of this software and associated documentation files (the "Software"), to
       8             :  * deal in the Software without restriction, including without limitation the
       9             :  * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
      10             :  * sell copies of the Software, and to permit persons to whom the Software is
      11             :  * furnished to do so, subject to the following conditions:
      12             :  *
      13             :  * The above copyright notice and this permission notice shall be included in
      14             :  * all copies or substantial portions of the Software.
      15             :  *
      16             :  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
      17             :  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
      18             :  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
      19             :  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
      20             :  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
      21             :  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
      22             :  * IN THE SOFTWARE.
      23             :  */
      24             : 
      25             : #include <stdio.h>
      26             : #include <stdarg.h>
      27             : 
      28             : #include "log.h"
      29             : 
      30             : static char *log_prefix = (char *)NULL;
      31             : 
      32         130 : void LOG(const char *format, ...) {
      33             :     va_list args;
      34         130 :     va_start(args, format);
      35             : 
      36         130 :     if (log_prefix) {
      37           0 :         printf("%s", log_prefix);
      38             :     }
      39         130 :     vprintf(format, args);
      40             : 
      41         130 :     va_end(args);
      42         130 : }
      43             : 
      44          22 : void LOG_HEX(const char *prefix, const void *buffer, const size_t size) {
      45          22 :     if (log_prefix) {
      46           0 :         printf("%s", log_prefix);
      47             :     }
      48          22 :     printf("%s ", prefix);
      49          22 :     if (size > 0) {
      50          22 :         printf("0x");
      51         221 :         for (unsigned int i = 0; i < size; i++) {
      52         199 :             printf("%02x", ((unsigned char *)buffer)[i]);
      53             :         }
      54             :     } else {
      55           0 :         printf("EMPTY");
      56             :     }
      57          22 :     printf("\n");
      58          22 : }
      59             : 
      60           0 : void log_set_prefix(const char *prefix) {
      61           0 :     log_prefix = (char *)prefix;
      62           0 : }
      63             : 
      64           0 : void log_clear_prefix() {
      65           0 :     log_prefix = (char *)NULL;
      66           0 : }

Generated by: LCOV version 1.16