plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

commit 821fff983b323113fafc0efbb205b2876985a145
parent a4bbf47b33cbb5492ad9f6d17c999bbcea4fefcd
Author: rsc <devnull@localhost>
Date:   Mon, 26 Dec 2005 03:58:20 +0000

add alternate format

Diffstat:
Msrc/libip/eipfmt.c | 7++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/libip/eipfmt.c b/src/libip/eipfmt.c @@ -28,8 +28,10 @@ int eipfmt(Fmt *f) { char buf[5*8]; - static char *efmt = "%.2lux%.2lux%.2lux%.2lux%.2lux%.2lux"; + static char *efmt = "%.2ux%.2ux%.2ux%.2ux%.2ux%.2ux"; + static char *altefmt = "%.2ux:%.2ux:%.2ux:%.2ux:%.2ux:%.2ux"; static char *ifmt = "%d.%d.%d.%d"; + char *fmt; uchar *p, ip[16]; ulong *lp; ushort s; @@ -54,6 +56,9 @@ eipfmt(Fmt *f) switch(f->r) { case 'E': /* Ethernet address */ p = va_arg(f->args, uchar*); + fmt = efmt; + if(f->flags&FmtSharp) + fmt = altefmt; snprint(buf, sizeof buf, efmt, p[0], p[1], p[2], p[3], p[4], p[5]); return fmtstrcpy(f, buf);