mirror of
https://github.com/moparisthebest/wget
synced 2024-07-03 16:38:41 -04:00
src/utils.c cleanup
This commit is contained in:
parent
ccd369d5f2
commit
e976d4f3dc
@ -1,3 +1,13 @@
|
||||
2013-05-09 Tim Ruehsen <tim.ruehsen@gmx.de>
|
||||
|
||||
* utils.c (acceptable): use standard string functions instead of
|
||||
self-written code.
|
||||
(match_tail): Likewise.
|
||||
(suffix): Likewise.
|
||||
(has_wildcards_p): Likewise.
|
||||
(test_subdir_p): Fix some warnings.
|
||||
(test_dir_matches_p): Likewise.
|
||||
|
||||
2013-05-05 mancha <mancha1@hush.com> (tiny change)
|
||||
|
||||
* gnutls.c (ssl_connect_wget): Don't abort on non-fatal alerts
|
||||
|
64
src/utils.c
64
src/utils.c
@ -900,15 +900,14 @@ static bool in_acclist (const char *const *, const char *, bool);
|
||||
bool
|
||||
acceptable (const char *s)
|
||||
{
|
||||
int l = strlen (s);
|
||||
const char *p;
|
||||
|
||||
if (opt.output_document && strcmp (s, opt.output_document) == 0)
|
||||
return true;
|
||||
|
||||
while (l && s[l] != '/')
|
||||
--l;
|
||||
if (s[l] == '/')
|
||||
s += (l + 1);
|
||||
if ((p = strrchr (s, '/')))
|
||||
s = p + 1;
|
||||
|
||||
if (opt.accepts)
|
||||
{
|
||||
if (opt.rejects)
|
||||
@ -919,6 +918,7 @@ acceptable (const char *s)
|
||||
}
|
||||
else if (opt.rejects)
|
||||
return !in_acclist ((const char *const *)opt.rejects, s, true);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -1018,29 +1018,15 @@ accdir (const char *directory)
|
||||
bool
|
||||
match_tail (const char *string, const char *tail, bool fold_case)
|
||||
{
|
||||
int i, j;
|
||||
int pos = strlen (string) - strlen (tail);
|
||||
|
||||
/* We want this to be fast, so we code two loops, one with
|
||||
case-folding, one without. */
|
||||
if (pos < 0)
|
||||
return false; /* tail is longer than string. */
|
||||
|
||||
if (!fold_case)
|
||||
{
|
||||
for (i = strlen (string), j = strlen (tail); i >= 0 && j >= 0; i--, j--)
|
||||
if (string[i] != tail[j])
|
||||
break;
|
||||
}
|
||||
return strcmp (string + pos, tail);
|
||||
else
|
||||
{
|
||||
for (i = strlen (string), j = strlen (tail); i >= 0 && j >= 0; i--, j--)
|
||||
if (c_tolower (string[i]) != c_tolower (tail[j]))
|
||||
break;
|
||||
}
|
||||
|
||||
/* If the tail was exhausted, the match was succesful. */
|
||||
if (j == -1)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
return strcasecmp (string + pos, tail);
|
||||
}
|
||||
|
||||
/* Checks whether string S matches each element of ACCEPTS. A list
|
||||
@ -1089,14 +1075,11 @@ in_acclist (const char *const *accepts, const char *s, bool backward)
|
||||
char *
|
||||
suffix (const char *str)
|
||||
{
|
||||
int i;
|
||||
char *p;
|
||||
|
||||
for (i = strlen (str); i && str[i] != '/' && str[i] != '.'; i--)
|
||||
;
|
||||
if ((p = strrchr (str, '.')) && !strchr (p + 1, '/'))
|
||||
return p + 1;
|
||||
|
||||
if (str[i++] == '.')
|
||||
return (char *)str + i;
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -1106,10 +1089,7 @@ suffix (const char *str)
|
||||
bool
|
||||
has_wildcards_p (const char *s)
|
||||
{
|
||||
for (; *s; s++)
|
||||
if (*s == '*' || *s == '?' || *s == '[' || *s == ']')
|
||||
return true;
|
||||
return false;
|
||||
return !!strpbrk (s, "*?[]");
|
||||
}
|
||||
|
||||
/* Return true if FNAME ends with a typical HTML suffix. The
|
||||
@ -2553,16 +2533,16 @@ get_max_length (const char *path, int length, int name)
|
||||
const char *
|
||||
test_subdir_p()
|
||||
{
|
||||
int i;
|
||||
struct {
|
||||
char *d1;
|
||||
char *d2;
|
||||
static struct {
|
||||
const char *d1;
|
||||
const char *d2;
|
||||
bool result;
|
||||
} test_array[] = {
|
||||
{ "/somedir", "/somedir", true },
|
||||
{ "/somedir", "/somedir/d2", true },
|
||||
{ "/somedir/d1", "/somedir", false },
|
||||
};
|
||||
unsigned i;
|
||||
|
||||
for (i = 0; i < countof(test_array); ++i)
|
||||
{
|
||||
@ -2578,10 +2558,9 @@ test_subdir_p()
|
||||
const char *
|
||||
test_dir_matches_p()
|
||||
{
|
||||
int i;
|
||||
struct {
|
||||
char *dirlist[3];
|
||||
char *dir;
|
||||
static struct {
|
||||
const char *dirlist[3];
|
||||
const char *dir;
|
||||
bool result;
|
||||
} test_array[] = {
|
||||
{ { "/somedir", "/someotherdir", NULL }, "somedir", true },
|
||||
@ -2600,6 +2579,7 @@ test_dir_matches_p()
|
||||
{ { "/Tmp/has", NULL, NULL }, "/Tmp/has space", false },
|
||||
{ { "/Tmp/has", NULL, NULL }, "/Tmp/has,comma", false },
|
||||
};
|
||||
unsigned i;
|
||||
|
||||
for (i = 0; i < countof(test_array); ++i)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user