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

Do not handle memory within format_and_print_line.

This commit is contained in:
Steven Schubiger 2008-11-11 23:00:05 +01:00
parent c60c7b9941
commit fafd83c097
2 changed files with 21 additions and 14 deletions

View File

@ -1,3 +1,8 @@
2008-11-11 Steven Schubiger <stsc@members.fsf.org>
* main.c (format_and_print_line): Move both the memory
allocating and freeing bits upwards to print_version().
2008-11-10 Saint Xavier <wget@sxav.eu> 2008-11-10 Saint Xavier <wget@sxav.eu>
* http.c: Make --auth-no-challenge works with user:pass@ in URLs. * http.c: Make --auth-no-challenge works with user:pass@ in URLs.

View File

@ -706,8 +706,8 @@ prompt_for_password (void)
and an appropriate number of spaces are added on subsequent and an appropriate number of spaces are added on subsequent
lines.*/ lines.*/
static void static void
format_and_print_line (char* prefix, char* line, format_and_print_line (const char *prefix, char *line,
int line_length) int line_length)
{ {
int leading_spaces; int leading_spaces;
int remaining_chars; int remaining_chars;
@ -746,12 +746,6 @@ format_and_print_line (char* prefix, char* line,
} }
printf ("\n"); printf ("\n");
/* FIXME: Responsibility for deallocation should be handled by
whatever allocated it, wherever possible. These two lines result
in unnecessary strdup calls in the print_version function. */
xfree (prefix);
xfree (line);
} }
static void static void
@ -764,6 +758,7 @@ print_version (void)
const char *link_title = "Link : "; const char *link_title = "Link : ";
const char *prefix_spaces = " "; const char *prefix_spaces = " ";
const int prefix_space_length = strlen (prefix_spaces); const int prefix_space_length = strlen (prefix_spaces);
char *line;
char *env_wgetrc, *user_wgetrc; char *env_wgetrc, *user_wgetrc;
int i; int i;
@ -808,17 +803,24 @@ print_version (void)
putchar ('\n'); putchar ('\n');
#endif #endif
format_and_print_line (strdup (locale_title), line = xstrdup (LOCALEDIR);
strdup (LOCALEDIR), format_and_print_line (locale_title,
line,
max_chars_per_line); max_chars_per_line);
xfree (line);
format_and_print_line (strdup (compile_title), line = xstrdup (compilation_string);
strdup (compilation_string), format_and_print_line (compile_title,
line,
max_chars_per_line); max_chars_per_line);
xfree (line);
format_and_print_line (strdup (link_title), line = xstrdup (link_string);
strdup (link_string), format_and_print_line (link_title,
line,
max_chars_per_line); max_chars_per_line);
xfree (line);
printf ("\n"); printf ("\n");
/* TRANSLATORS: When available, an actual copyright character /* TRANSLATORS: When available, an actual copyright character
(cirle-c) should be used in preference to "(C)". */ (cirle-c) should be used in preference to "(C)". */