mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-12 14:59:44 +03:00
libcamera: base: utils: Implement hex() for 8-bit and 16-bit values
The utils::hex() function is implemented for 32-bit and 64-bit integers, but not for 8-bit and 16-bit. This causes a link error (possibly at runtime for IPA modules due to lazy linking) when trying to print 8-bit or 16-bit integers. Implement additional specializations to fix it. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Umang Jain <umang.jain@ideasonboard.com> Reviewed-by: Stefan Klug <stefan.klug@ideasonboard.com>
This commit is contained in:
parent
050e0d33d1
commit
45bd1f20f6
1 changed files with 24 additions and 0 deletions
|
@ -90,6 +90,30 @@ template<typename T,
|
|||
_hex hex(T value, unsigned int width = 0);
|
||||
|
||||
#ifndef __DOXYGEN__
|
||||
template<>
|
||||
inline _hex hex<int8_t>(int8_t value, unsigned int width)
|
||||
{
|
||||
return { static_cast<uint64_t>(value), width ? width : 2 };
|
||||
}
|
||||
|
||||
template<>
|
||||
inline _hex hex<uint8_t>(uint8_t value, unsigned int width)
|
||||
{
|
||||
return { static_cast<uint64_t>(value), width ? width : 2 };
|
||||
}
|
||||
|
||||
template<>
|
||||
inline _hex hex<int16_t>(int16_t value, unsigned int width)
|
||||
{
|
||||
return { static_cast<uint64_t>(value), width ? width : 4 };
|
||||
}
|
||||
|
||||
template<>
|
||||
inline _hex hex<uint16_t>(uint16_t value, unsigned int width)
|
||||
{
|
||||
return { static_cast<uint64_t>(value), width ? width : 4 };
|
||||
}
|
||||
|
||||
template<>
|
||||
inline _hex hex<int32_t>(int32_t value, unsigned int width)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue