/***********************************************************************1* *2* This software is part of the ast package *3* Copyright (c) 2000-2012 AT&T Intellectual Property *4* and is licensed under the *5* Eclipse Public License, Version 1.0 *6* by AT&T Intellectual Property *7* *8* A copy of the License is available at *9* http://www.eclipse.org/org/documents/epl-v10.html *10* (with md5 checksum b35adb5213ca9657e911e9befb180842) *11* *12* Information and Software Systems Research *13* AT&T Research *14* Florham Park NJ *15* *16* Glenn Fowler <[email protected]> *17* Phong Vo <[email protected]> *18* *19***********************************************************************/20#pragma prototyped2122#include "ivlib.h"2324#include <ip6.h>2526/*27* convert address or prefix to string28* return value in a short-lived buffer29*/3031char*32ivfmt(Iv_t* iv, const unsigned char* addr, int bits)33{34char* b;35char* s;36char* e;37int i;38int n;3940if (iv->size == 16)41return fmtip6(addr, bits);42n = (iv->size + (bits >= 0)) * 4 + 1;43s = b = fmtbuf(n);44e = b + n;45s += sfsprintf(s, e - s, "%d", addr[0]);46for (i = 1; i < iv->size; i++)47s += sfsprintf(s, e - s, ".%d", addr[i]);48if (bits >= 0 && bits <= iv->size * 8)49sfsprintf(s, e - s, "/%d", bits);50return b;51}525354