X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=secnet.git;a=blobdiff_plain;f=ipaddr.c;h=d12af55329eca6bf66a7dc50004d34683271df69;hp=b45afef1a36829d2c838c0bf14b2901948568ed8;hb=HEAD;hpb=423936d35d7671fd017d2d611d418d1b8eeb6195 diff --git a/ipaddr.c b/ipaddr.c index b45afef..d12af55 100644 --- a/ipaddr.c +++ b/ipaddr.c @@ -1,5 +1,23 @@ /* The 'ipset' data structure and related algorithms in this file were inspired by the 'ipaddr.py' library from Cendio Systems AB. */ +/* + * This file is part of secnet. + * See README for full list of copyright holders. + * + * secnet is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * secnet is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * version 3 along with secnet; if not, see + * https://www.gnu.org/licenses/gpl.html. + */ #include "secnet.h" #include @@ -313,18 +331,12 @@ struct subnet_list *ipset_to_subnet_list(struct ipset *is) return r; } -#define IPADDR_NBUFS_SHIFT 4 -#define IPADDR_NBUFS (1 << IPADDR_NBUFS_SHIFT) #define IPADDR_BUFLEN 20 static char *ipaddr_getbuf(void) { - static int b; - static char bufs[IPADDR_NBUFS][IPADDR_BUFLEN]; - - b++; - b &= IPADDR_NBUFS-1; - return bufs[b]; + SBUF_DEFINE(16, IPADDR_BUFLEN); + return SBUF; } /* The string buffer must be at least 16 bytes long */