mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-16 19:19:59 +00:00
lib: add frrstr_hex to hexdump buffers
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
This commit is contained in:
parent
6a9ac96f2c
commit
0c0830c599
22
lib/frrstr.c
22
lib/frrstr.c
@ -18,9 +18,7 @@
|
|||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#include "zebra.h"
|
||||||
#include "config.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
@ -217,3 +215,21 @@ int all_digit(const char *str)
|
|||||||
return 0;
|
return 0;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
char *frrstr_hex(char *buff, size_t bufsiz, const uint8_t *str, size_t num)
|
||||||
|
{
|
||||||
|
if (bufsiz == 0)
|
||||||
|
return buff;
|
||||||
|
|
||||||
|
char tmp[3];
|
||||||
|
|
||||||
|
buff[0] = '\0';
|
||||||
|
|
||||||
|
for (size_t i = 0; i < num; i++) {
|
||||||
|
snprintf(tmp, sizeof(tmp), "%02x", (unsigned char)str[i]);
|
||||||
|
strlcat(buff, tmp, bufsiz);
|
||||||
|
}
|
||||||
|
|
||||||
|
return buff;
|
||||||
|
}
|
||||||
|
20
lib/frrstr.h
20
lib/frrstr.h
@ -154,6 +154,26 @@ bool frrstr_endswith(const char *str, const char *suffix);
|
|||||||
*/
|
*/
|
||||||
int all_digit(const char *str);
|
int all_digit(const char *str);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copy the hexadecimal representation of the string to a buffer.
|
||||||
|
*
|
||||||
|
* buff
|
||||||
|
* Buffer to copy result into with size of at least (2 * num) + 1.
|
||||||
|
*
|
||||||
|
* bufsiz
|
||||||
|
* Size of destination buffer.
|
||||||
|
*
|
||||||
|
* str
|
||||||
|
* String to represent as hexadecimal.
|
||||||
|
*
|
||||||
|
* num
|
||||||
|
* Number of characters to copy.
|
||||||
|
*
|
||||||
|
* Returns:
|
||||||
|
* Pointer to buffer containing resulting hexadecimal representation.
|
||||||
|
*/
|
||||||
|
char *frrstr_hex(char *buff, size_t bufsiz, const uint8_t *str, size_t num);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user