]>
git.proxmox.com Git - efi-boot-shim.git/blob - errlog.c
1 // SPDX-License-Identifier: BSD-2-Clause-Patent
4 * Copyright Peter Jones <pjones@redhat.com>
9 static CHAR16
**errs
= NULL
;
10 static UINTN nerrs
= 0;
13 vdprint_(const CHAR16
*fmt
, const char *file
, int line
, const char *func
,
17 EFI_STATUS efi_status
= EFI_SUCCESS
;
20 ms_va_copy(args2
, args
);
21 console_print(L
"%a:%d:%a() ", file
, line
, func
);
22 efi_status
= VPrint(fmt
, args2
);
29 VLogError(const char *file
, int line
, const char *func
, const CHAR16
*fmt
,
35 newerrs
= ReallocatePool(errs
, (nerrs
+ 1) * sizeof(*errs
),
36 (nerrs
+ 3) * sizeof(*errs
));
38 return EFI_OUT_OF_RESOURCES
;
40 newerrs
[nerrs
] = PoolPrint(L
"%a:%d %a() ", file
, line
, func
);
42 return EFI_OUT_OF_RESOURCES
;
43 ms_va_copy(args2
, args
);
44 newerrs
[nerrs
+1] = VPoolPrint(fmt
, args2
);
45 if (!newerrs
[nerrs
+1])
46 return EFI_OUT_OF_RESOURCES
;
50 newerrs
[nerrs
] = NULL
;
57 LogError_(const char *file
, int line
, const char *func
, const CHAR16
*fmt
, ...)
60 EFI_STATUS efi_status
;
62 ms_va_start(args
, fmt
);
63 efi_status
= VLogError(file
, line
, func
, fmt
, args
);
70 LogHexdump_(const char *file
, int line
, const char *func
, const void *data
, size_t sz
)
72 hexdumpat(file
, line
, func
, data
, sz
, 0);
83 for (i
= 0; i
< nerrs
; i
++)
84 console_print(L
"%s", errs
[i
]);
92 for (i
= 0; i
< nerrs
; i
++)
99 // vim:fenc=utf-8:tw=75