/* Reading/parsing the initialization file.
- Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
This file is part of Wget.
{ "background", &opt.background, cmd_boolean },
{ "backupconverted", &opt.backup_converted, cmd_boolean },
{ "backups", &opt.backups, cmd_number },
- { "bindaddress", &opt.bind_address, cmd_address },
{ "base", &opt.base_href, cmd_string },
+ { "bindaddress", &opt.bind_address, cmd_address },
{ "cache", &opt.proxy_cache, cmd_boolean },
{ "continue", &opt.always_rest, cmd_boolean },
{ "convertlinks", &opt.convert_links, cmd_boolean },
static int
comind (const char *com)
{
- int min = 0, max = ARRAY_SIZE (commands);
+ int min = 0, max = ARRAY_SIZE (commands) - 1;
do
{
{
char *com, *val;
int status;
- int length = strlen (line);
- if (length && line[length - 1] == '\r')
- line[length - 1] = '\0';
/* Parse the line. */
status = parse_line (line, &com, &val);
free (line);
const char *orig_comptr, *end;
char *new_comptr;
- /* Skip spaces. */
- while (*p == ' ' || *p == '\t')
+ /* Skip whitespace. */
+ while (*p && ISSPACE (*p))
++p;
/* Don't process empty lines. */
- if (!*p || *p == '\n' || *p == '#')
+ if (!*p || *p == '#')
return -1;
for (orig_comptr = p; ISALPHA (*p) || *p == '_' || *p == '-'; p++)
/* The next char should be space or '='. */
if (!ISSPACE (*p) && (*p != '='))
return 0;
+ /* Here we cannot use strdupdelim() as we normally would because we
+ want to skip the `-' and `_' characters in the input string. */
*com = (char *)xmalloc (p - orig_comptr + 1);
for (new_comptr = *com; orig_comptr < p; orig_comptr++)
{
}
/* Skip spaces after '='. */
for (++p; ISSPACE (*p); p++);
- /* Get the ending position. */
- for (end = p; *end && *end != '\n'; end++);
- /* Allocate *val, and copy from line. */
- *val = strdupdelim (p, end);
+ /* Get the ending position for VAL by starting with the end of the
+ line and skipping whitespace. */
+ end = line + strlen (line) - 1;
+ while (end > p && ISSPACE (*end))
+ --end;
+ *val = strdupdelim (p, end + 1);
return 1;
}