From f1d078c341ccad97bc3cc849ac1006cda7bcfc0f Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Wed, 25 Nov 2009 18:49:27 +0000 Subject: net: move parse_macaddr() to net/util.[ch] Signed-off-by: Mark McLoughlin Signed-off-by: Anthony Liguori --- net.c | 35 ++--------------------------------- 1 file changed, 2 insertions(+), 33 deletions(-) (limited to 'net.c') diff --git a/net.c b/net.c index 7195827cc4..cca008a915 100644 --- a/net.c +++ b/net.c @@ -30,6 +30,7 @@ #include "net/dump.h" #include "net/slirp.h" #include "net/vde.h" +#include "net/util.h" #include "monitor.h" #include "sysemu.h" #include "qemu-common.h" @@ -69,38 +70,6 @@ static void hex_dump(FILE *f, const uint8_t *buf, int size) } #endif -static int parse_macaddr(uint8_t *macaddr, const char *p) -{ - int i; - char *last_char; - long int offset; - - errno = 0; - offset = strtol(p, &last_char, 0); - if (0 == errno && '\0' == *last_char && - offset >= 0 && offset <= 0xFFFFFF) { - macaddr[3] = (offset & 0xFF0000) >> 16; - macaddr[4] = (offset & 0xFF00) >> 8; - macaddr[5] = offset & 0xFF; - return 0; - } else { - for(i = 0; i < 6; i++) { - macaddr[i] = strtol(p, (char **)&p, 16); - if (i == 5) { - if (*p != '\0') - return -1; - } else { - if (*p != ':' && *p != '-') - return -1; - p++; - } - } - return 0; - } - - return -1; -} - static int get_str_sep(char *buf, int buf_size, const char **pp, int sep) { const char *p, *p1; @@ -858,7 +827,7 @@ static int net_init_nic(QemuOpts *opts, nd->macaddr[5] = 0x56 + idx; if (qemu_opt_get(opts, "macaddr") && - parse_macaddr(nd->macaddr, qemu_opt_get(opts, "macaddr")) < 0) { + net_parse_macaddr(nd->macaddr, qemu_opt_get(opts, "macaddr")) < 0) { qemu_error("invalid syntax for ethernet address\n"); return -1; } -- cgit v1.2.1