1
0
mirror of https://github.com/moparisthebest/wget synced 2024-07-03 16:38:41 -04:00

Do not free/duplicate current/remote encoding string if they aren't changed

This commit is contained in:
Saint Xavier 2008-07-21 19:34:22 +02:00
parent b30a0dd817
commit c31e00b52d

View File

@ -337,18 +337,27 @@ void set_current_charset (char *charset)
{ {
/*printf("[ current = `%s'\n", charset);*/ /*printf("[ current = `%s'\n", charset);*/
if (current) if (current)
xfree (current); {
/* Do nothing if already equal */
if (!strcasecmp (current, charset))
return;
xfree (current);
}
current = charset ? xstrdup (charset) : NULL; current = charset ? xstrdup (charset) : NULL;
} }
void set_current_as_locale (void) void set_current_as_locale (void)
{ {
/* sXXXav : assert opt.locale NULL ? */
/*printf("[ current = locale = `%s'\n", opt.locale);*/ /*printf("[ current = locale = `%s'\n", opt.locale);*/
if (current) if (current)
xfree (current); {
if (!strcasecmp (current, opt.locale))
return;
xfree (current);
}
/* sXXXav : assert opt.locale NULL ? */
current = xstrdup (opt.locale); current = xstrdup (opt.locale);
} }
@ -357,8 +366,12 @@ set_remote_charset (char *charset)
{ {
/*printf("[ remote = `%s'\n", charset);*/ /*printf("[ remote = `%s'\n", charset);*/
if (remote) if (remote)
xfree (remote); {
/* Do nothing if already equal */
if (!strcasecmp (remote, charset))
return;
xfree (remote);
}
remote = charset ? xstrdup (charset) : NULL; remote = charset ? xstrdup (charset) : NULL;
} }
@ -367,7 +380,12 @@ set_remote_as_current (void)
{ {
/*printf("[ remote = current = `%s'\n", current);*/ /*printf("[ remote = current = `%s'\n", current);*/
if (remote) if (remote)
xfree (remote); {
/* Do nothing if already equal */
if (current && !strcasecmp (remote, current))
return;
xfree (remote);
}
remote = current ? xstrdup (current) : NULL; remote = current ? xstrdup (current) : NULL;
} }