| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'src/io/parameters.c')
| -rw-r--r-- | src/io/parameters.c | 33 | 
1 files changed, 32 insertions, 1 deletions
| diff --git a/src/io/parameters.c b/src/io/parameters.c index 0f7d05c..77c33aa 100644 --- a/src/io/parameters.c +++ b/src/io/parameters.c @@ -14,7 +14,8 @@ static void load_default_parameters     struct ZoO_parameters param [const restrict static 1]  )  { -   param->data_filename       = ZoO_DEFAULT_DATA_FILENAME; +   param->data_filename        = ZoO_DEFAULT_DATA_FILENAME; +   param->new_data_filename    = (char *) NULL;     param->irc_server_addr     = ZoO_DEFAULT_IRC_SERVER_ADDR;     param->irc_server_port     = ZoO_DEFAULT_IRC_SERVER_PORT; @@ -39,6 +40,9 @@ static void print_help (const char exec [const restrict static 1])        "   [--data-filename | -df] FILENAME\n"        "      Learn content from FILENAME before connecting.\n"        "      Default: %s.\n" +      "   [--new-data-filename | -ndf] FILENAME\n" +      "      Store new data learned in FILENAME.\n" +      "      Default: value of the --data-filename param.\n"        "   [--irc-server-addr | -isa] IRC_SERVER_ADDR\n"        "      Connect to this server address.\n"        "      Default: %s.\n" @@ -190,6 +194,28 @@ int ZoO_parameters_initialize        }        else if        ( +         (strcmp(argv[i], "--new-data-filename") == 0) +         || (strcmp(argv[i], "-ndf") == 0) +      ) +      { +         i += 1; + +         if +         ( +            parse_string_arg +            ( +               &(param->new_data_filename), +               i, +               argv, +               argc +            ) < 0 +         ) +         { +            return -1; +         } +      } +      else if +      (           (strcmp(argv[i], "--irc-server-addr") == 0)           || (strcmp(argv[i], "-isa") == 0)        ) @@ -350,5 +376,10 @@ int ZoO_parameters_initialize     param->aliases_count = (argc - i);     param->aliases = (argv + i); +   if (param->new_data_filename == (char *) NULL) +   { +      param->new_data_filename = param->data_filename; +   } +     return 1;  } | 


