1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-26 23:11:19 +01:00

Merge pull request #3447 from OlegHahm/fix_unsigned_char_in_od

od: signedness and constantness of input parameter
This commit is contained in:
Oleg Hahm 2015-07-20 18:15:30 +02:00
commit f10cd90b31
2 changed files with 7 additions and 7 deletions

View File

@ -136,7 +136,7 @@ extern "C" {
* @param[in] flags Flags as defined in @ref od_flags_address and
* @ref od_flags_bytes
*/
void od(void *data, size_t data_len, uint8_t width, uint16_t flags);
void od(const void *data, size_t data_len, uint8_t width, uint16_t flags);
/**
* @brief Dumps memory stored at *data* up to *data_len* in octal, decimal, or
@ -148,7 +148,7 @@ void od(void *data, size_t data_len, uint8_t width, uint16_t flags);
* @param[in] width Number of bytes per line. If *width* is 0,
* @ref OD_WIDTH_DEFAULT is assumed as a default value.
*/
static inline void od_hex_dump(void *data, size_t data_len, uint8_t width)
static inline void od_hex_dump(const void *data, size_t data_len, uint8_t width)
{
od(data, data_len, width, OD_FLAGS_ADDRESS_HEX | OD_FLAGS_BYTES_HEX | OD_FLAGS_LENGTH_1);
}

View File

@ -178,13 +178,13 @@ static inline void _bytes_format(char *format, uint16_t flags)
}
}
static void _print_date(void *data, size_t offset, char *format, uint8_t length,
static void _print_date(const void *data, size_t offset, char *format, uint8_t length,
uint16_t flags)
{
switch (length) {
case 1:
if (flags & OD_FLAGS_BYTES_CHAR) {
switch (((char *)data)[offset]) {
switch (((signed char *)data)[offset]) {
case '\0':
printf(" \\0");
return;
@ -218,11 +218,11 @@ static void _print_date(void *data, size_t offset, char *format, uint8_t length,
return;
default:
if (((char *)data)[offset] < 0) {
if (((signed char *)data)[offset] < 0) {
printf(" %03o", ((unsigned char *)data)[offset]);
return;
}
else if (((char *)data)[offset] < 32) {
else if (((signed char *)data)[offset] < 32) {
printf(" %03o", ((char *)data)[offset]);
return;
}
@ -287,7 +287,7 @@ static int _log10(uint8_t a)
return ++res;
}
void od(void *data, size_t data_len, uint8_t width, uint16_t flags)
void od(const void *data, size_t data_len, uint8_t width, uint16_t flags)
{
char address_format[5];
uint8_t date_length = _length(flags);