Coverage Report

Created: 2026-03-11 06:21

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/u-boot/scripts/dtc/libfdt/fdt_strerror.c
Line
Count
Source
1
// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
2
/*
3
 * libfdt - Flat Device Tree manipulation
4
 * Copyright (C) 2006 David Gibson, IBM Corporation.
5
 *     EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
6
 */
7
#include "libfdt_env.h"
8
9
#include <fdt.h>
10
#include <libfdt.h>
11
12
#include "libfdt_internal.h"
13
14
struct fdt_errtabent {
15
  const char *str;
16
};
17
18
#define FDT_ERRTABENT(val) \
19
  [(val)] = { .str = #val, }
20
21
static struct fdt_errtabent fdt_errtable[] = {
22
  FDT_ERRTABENT(FDT_ERR_NOTFOUND),
23
  FDT_ERRTABENT(FDT_ERR_EXISTS),
24
  FDT_ERRTABENT(FDT_ERR_NOSPACE),
25
26
  FDT_ERRTABENT(FDT_ERR_BADOFFSET),
27
  FDT_ERRTABENT(FDT_ERR_BADPATH),
28
  FDT_ERRTABENT(FDT_ERR_BADPHANDLE),
29
  FDT_ERRTABENT(FDT_ERR_BADSTATE),
30
31
  FDT_ERRTABENT(FDT_ERR_TRUNCATED),
32
  FDT_ERRTABENT(FDT_ERR_BADMAGIC),
33
  FDT_ERRTABENT(FDT_ERR_BADVERSION),
34
  FDT_ERRTABENT(FDT_ERR_BADSTRUCTURE),
35
  FDT_ERRTABENT(FDT_ERR_BADLAYOUT),
36
  FDT_ERRTABENT(FDT_ERR_INTERNAL),
37
  FDT_ERRTABENT(FDT_ERR_BADNCELLS),
38
  FDT_ERRTABENT(FDT_ERR_BADVALUE),
39
  FDT_ERRTABENT(FDT_ERR_BADOVERLAY),
40
  FDT_ERRTABENT(FDT_ERR_NOPHANDLES),
41
  FDT_ERRTABENT(FDT_ERR_BADFLAGS),
42
  FDT_ERRTABENT(FDT_ERR_ALIGNMENT),
43
};
44
0
#define FDT_ERRTABSIZE  ((int)(sizeof(fdt_errtable) / sizeof(fdt_errtable[0])))
45
46
const char *fdt_strerror(int errval)
47
0
{
48
0
  if (errval > 0)
49
0
    return "<valid offset/length>";
50
0
  else if (errval == 0)
51
0
    return "<no error>";
52
0
  else if (-errval < FDT_ERRTABSIZE) {
53
0
    const char *s = fdt_errtable[-errval].str;
54
55
0
    if (s)
56
0
      return s;
57
0
  }
58
59
0
  return "<unknown error>";
60
0
}