shared network names to be dynamically allocated
[debian/dhcpd-pools.git] / src / dhcpd-pools.c
index 386ccf4..abcb8ca 100644 (file)
@@ -151,7 +151,6 @@ int main(int argc, char **argv)
                case 'v':
                        /* Print version */
                        print_version();
-                       return (EXIT_SUCCESS);
                case 'h':
                        /* Print help */
                        usage(EXIT_SUCCESS);
@@ -190,9 +189,7 @@ int main(int argc, char **argv)
 
        /* Do the job */
        prepare_memory();
-       parse_config(true, config.dhcpdconf_file, shared_net_names,
-                    shared_net_names + strlen(shared_net_names) + 1,
-                    shared_networks);
+       parse_config(true, config.dhcpdconf_file, shared_networks);
 
        parse_leases();
        prepare_data();
@@ -206,13 +203,6 @@ int main(int argc, char **argv)
        }
        free(tmp_ranges);
        output_analysis();
-       /* After fopen in ouput ioctl does like /dev/null which
-        * cause ENOTTY, and clean_up will see that without this
-        * reset. At least linux does this, and possibly some
-        * other systems. There's a report from FreeBSD 8.0 which
-        * matches quite well with the symptom. */
-       if (errno == 25)
-               errno = 0;
 
        clean_up();
        return (EXIT_SUCCESS);
@@ -221,16 +211,16 @@ int main(int argc, char **argv)
 /* Global allocations, counter resets etc */
 int prepare_memory()
 {
+       RANGES = 64;
        num_ranges = num_shared_networks = 0;
        shared_networks =
            safe_malloc(sizeof(struct shared_network_t) * SHARED_NETWORKS);
-       shared_net_names =
-           safe_malloc(sizeof(char) * SHARED_NETWORKS_NAMES);
 
        ranges = safe_malloc(sizeof(struct range_t) * RANGES);
        macaddr = NULL;
 
        /* First shared network entry is all networks */
-       strcpy(shared_net_names, "All networks");
+       shared_networks->name = safe_strdup("All networks");
+
        return 0;
 }