debian: git-build-package config
[debian/dhcpd-pools.git] / src / analyze.c
index 7a31699..e9bfad7 100644 (file)
@@ -1,19 +1,18 @@
-/*
-** Copyright (C) 2006- Sami Kerola <kerolasa@iki.fi>
-**  
-** This program is free software; you can redistribute it and/or modify
+/* http://dhcpd-pools.sourceforge.net/
+** Copyright 2006- Sami Kerola <kerolasa@iki.fi>
+**
+** This program 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 2 of the License, or
+** the Free Software Foundation, either version 3 of the License, or
 ** (at your option) any later version.
-** 
+**
 ** This program 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
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+** along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
 #ifdef HAVE_CONFIG_H
@@ -61,7 +60,7 @@ int prepare_data(void)
              &rangecomp);
 
        /* Sort backups */
-       if (num_backups > 0) {
+       if (0 < num_backups) {
                qsort(backups, (size_t) num_backups, sizeof(long int),
                      &intcomp);
        }
@@ -81,9 +80,9 @@ int do_counting(void)
        /* Walk through ranges */
        for (k = 0; k < num_ranges; k++) {
                /* Count IPs in use */
-               for (; range_p->last_ip > leases[i]
+               for (; leases[i] < range_p->last_ip
                     && (unsigned long) i < num_leases; i++) {
-                       if (range_p->first_ip > leases[i]) {
+                       if (leases[i] < range_p->first_ip) {
                                continue;
                        }
                        /* IP with in range */
@@ -94,9 +93,9 @@ int do_counting(void)
                }
 
                /* Count touched IPs */
-               for (; range_p->last_ip > touches[j]
+               for (; touches[j] < range_p->last_ip
                     && (unsigned long) j < num_touches; j++) {
-                       if (range_p->first_ip > touches[j]) {
+                       if (touches[j] < range_p->first_ip) {
                                continue;
                        }
                        /* IP with in range */
@@ -107,10 +106,10 @@ int do_counting(void)
                }
 
                /* Count backup IPs */
-               if (num_backups > 0) {
-                       for (; range_p->last_ip > backups[m]
+               if (0 < num_backups) {
+                       for (; backups[m] < range_p->last_ip
                             && (unsigned long) m < num_touches; m++) {
-                               if (range_p->first_ip > touches[m]) {
+                               if (touches[m] < range_p->first_ip) {
                                        continue;
                                }
                                /* IP with in range */
@@ -129,7 +128,8 @@ int do_counting(void)
                        range_p->shared_net->available += block_size;
                }
 
-               /* Reverse so that not even a one IP will be missed. */
+               /* Go backwards one step so that not even a one IP will be
+                * missed. This is possibly always unnecessary. */
                if (i) {
                        i--;
                }
@@ -140,10 +140,9 @@ int do_counting(void)
                range_p++;
        }
 
-       /* During count of other shared networks default network and
-        * all networks got mixed to gether semantically. This fixes
-        * the problem, but is not elegant. TODO: fix semantics of all
-        * and default share_network. */
+       /* FIXME: During count of other shared networks default network and
+        * all networks got mixed to gether semantically. This fixes the
+        * problem, but is not elegant. */
        shared_networks->available = 0;
        shared_networks->used = 0;
        shared_networks->touched = 0;