diff options
author | Mark McLoughlin <markmc@redhat.com> | 2009-11-25 18:49:27 +0000 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2009-12-03 09:41:34 -0600 |
commit | f1d078c341ccad97bc3cc849ac1006cda7bcfc0f (patch) | |
tree | 12259ede96a07c30833491ebf477e08b9a62c78e /net.c | |
parent | d7539ab4bf78809202a8fcce292bf2b51594a0e9 (diff) | |
download | qemu-f1d078c341ccad97bc3cc849ac1006cda7bcfc0f.tar.gz qemu-f1d078c341ccad97bc3cc849ac1006cda7bcfc0f.tar.bz2 qemu-f1d078c341ccad97bc3cc849ac1006cda7bcfc0f.zip |
net: move parse_macaddr() to net/util.[ch]
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'net.c')
-rw-r--r-- | net.c | 35 |
1 files changed, 2 insertions, 33 deletions
@@ -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; } |