Use rte_ether_unformat_addr rather than sscanf.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
const char *value, void *out)
{
struct rte_ether_addr *ea = out;
const char *value, void *out)
{
struct rte_ether_addr *ea = out;
if ((value == NULL) || (out == NULL))
return -EINVAL;
if ((value == NULL) || (out == NULL))
return -EINVAL;
- ret = sscanf(value, "%hhx:%hhx:%hhx:%hhx:%hhx:%hhx",
- &ea->addr_bytes[0], &ea->addr_bytes[1],
- &ea->addr_bytes[2], &ea->addr_bytes[3],
- &ea->addr_bytes[4], &ea->addr_bytes[5]);
- return ret != RTE_ETHER_ADDR_LEN;
+
+ return rte_ether_unformat_addr(value, ea);