chiark / gitweb /
Makefiles: Use Final.sd.mk to implementing RECHECK_RM
[secnet.git] / ipaddr.c
index b45afef1a36829d2c838c0bf14b2901948568ed8..d12af55329eca6bf66a7dc50004d34683271df69 100644 (file)
--- 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 <limits.h>
@@ -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 */