git: 9front

ref: 2b40407e8c45d3a183bb04748f16f6589c68b0fc
dir: /sys/src/libip/parseether.c/

View raw version
#include <u.h>
#include <libc.h>

int
parseether(uchar *to, char *from)
{
	char nip[4];
	char *p;
	int i;

	p = from;
	for(i = 0; i < 6; i++){
		if(*p == 0)
			return -1;
		nip[0] = *p++;
		if(*p == 0)
			return -1;
		nip[1] = *p++;
		nip[2] = 0;
		to[i] = strtoul(nip, 0, 16);
		if(*p == ':')
			p++;
	}
	return 0;
}