/***********************************************************************1* *2* This software is part of the ast package *3* Copyright (c) 2000-2011 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 "ptlib.h"2324/*25* return an inverted copy of table a26*/2728Pt_t*29ptinvert(Pt_t* a)30{31Pt_t* t;32Ptprefix_t* ap;33Ptaddr_t m;3435if (t = ptopen(a->disc))36{37m = 0;38for (ap = (Ptprefix_t*)dtfirst(a->dict); ap; ap = (Ptprefix_t*)dtnext(a->dict, ap))39{40if (m < ap->min && !ptinsert(t, m, ap->min - 1))41break;42m = ap->max + 1;43}44if (m || !dtsize(a->dict))45ptinsert(t, m, ~((Ptaddr_t)0));46}47return t;48}495051