mirror of
https://github.com/mirror/wget.git
synced 2024-12-29 14:30:48 +08:00
[svn] Don't cast return type of malloc/realloc. Assume ANSI C signal handlers.
This commit is contained in:
parent
277e840a0f
commit
908d7a4bce
@ -1,3 +1,8 @@
|
||||
2005-06-20 Hrvoje Niksic <hniksic@xemacs.org>
|
||||
|
||||
* configure.in: Don't check for the return type of signal
|
||||
handlers; C89 requires it to be void.
|
||||
|
||||
2005-06-19 Hrvoje Niksic <hniksic@xemacs.org>
|
||||
|
||||
* aclocal.m4: Remove support for K&R compilers.
|
||||
|
@ -191,7 +191,6 @@ dnl
|
||||
AC_TYPE_SIZE_T
|
||||
AC_TYPE_PID_T
|
||||
AC_CHECK_TYPES(uint32_t)
|
||||
AC_TYPE_SIGNAL
|
||||
AC_CHECK_TYPES(sig_atomic_t, [], [], [
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
|
@ -1,3 +1,12 @@
|
||||
2005-06-20 Hrvoje Niksic <hniksic@xemacs.org>
|
||||
|
||||
* all: Return type of signal handlers is `void'. Include signal.h
|
||||
unconditionally.
|
||||
|
||||
* all: Don't explicitly cast values returned by malloc. We no
|
||||
longer support ancient compilers that don't declare malloc, and we
|
||||
never supported C++ builds.
|
||||
|
||||
2005-06-19 Hrvoje Niksic <hniksic@xemacs.org>
|
||||
|
||||
* all: Don't declare errno. Include both time.h and sys/time.h,
|
||||
|
@ -382,7 +382,7 @@ construct_relative (const char *basefile, const char *linkfile)
|
||||
}
|
||||
|
||||
/* Construct LINK as explained above. */
|
||||
link = (char *)xmalloc (3 * basedirs + strlen (linkfile) + 1);
|
||||
link = xmalloc (3 * basedirs + strlen (linkfile) + 1);
|
||||
for (i = 0; i < basedirs; i++)
|
||||
memcpy (link + 3 * i, "../", 3);
|
||||
strcpy (link + 3 * i, linkfile);
|
||||
@ -985,7 +985,7 @@ html_quote_string (const char *s)
|
||||
else if (*s == ' ')
|
||||
i += 4; /* #32; */
|
||||
}
|
||||
res = (char *)xmalloc (i + 1);
|
||||
res = xmalloc (i + 1);
|
||||
s = b;
|
||||
for (p = res; *s; s++)
|
||||
{
|
||||
|
@ -330,7 +330,7 @@ ftp_parse_unix_ls (const char *file, int ignore_perms)
|
||||
default -F output. I believe these cases are very
|
||||
rare. */
|
||||
fnlen = strlen (tok); /* re-calculate `fnlen' */
|
||||
cur.name = (char *)xmalloc (fnlen + 1);
|
||||
cur.name = xmalloc (fnlen + 1);
|
||||
memcpy (cur.name, tok, fnlen + 1);
|
||||
if (fnlen)
|
||||
{
|
||||
@ -775,14 +775,14 @@ ftp_parse_vms_ls (const char *file)
|
||||
/* And put everything into the linked list */
|
||||
if (!dir)
|
||||
{
|
||||
l = dir = (struct fileinfo *)xmalloc (sizeof (struct fileinfo));
|
||||
l = dir = xnew (struct fileinfo);
|
||||
memcpy (l, &cur, sizeof (cur));
|
||||
l->prev = l->next = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
cur.prev = l;
|
||||
l->next = (struct fileinfo *)xmalloc (sizeof (struct fileinfo));
|
||||
l->next = xnew (struct fileinfo);
|
||||
l = l->next;
|
||||
memcpy (l, &cur, sizeof (cur));
|
||||
l->next = NULL;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Hash tables.
|
||||
Copyright (C) 2000, 2001 Free Software Foundation, Inc.
|
||||
Copyright (C) 2000-2003 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Wget.
|
||||
|
||||
@ -48,8 +48,7 @@ so, delete this exception statement from your version. */
|
||||
/* Make do without them. */
|
||||
# define xnew(x) xmalloc (sizeof (x))
|
||||
# define xnew_array(type, x) xmalloc (sizeof (type) * (x))
|
||||
# define xmalloc malloc /* or something that exits
|
||||
if not enough memory */
|
||||
# define xmalloc malloc
|
||||
# define xfree free
|
||||
# define countof(x) (sizeof (x) / sizeof ((x)[0]))
|
||||
# define TOLOWER(x) ('A' <= (x) && (x) <= 'Z' ? (x) - 32 : (x))
|
||||
|
@ -241,7 +241,7 @@ struct pool {
|
||||
if (ga_newsize != (sizevar)) \
|
||||
{ \
|
||||
if (resized) \
|
||||
basevar = (type *)xrealloc (basevar, ga_newsize * sizeof (type)); \
|
||||
basevar = xrealloc (basevar, ga_newsize * sizeof (type)); \
|
||||
else \
|
||||
{ \
|
||||
void *ga_new = xmalloc (ga_newsize * sizeof (type)); \
|
||||
@ -1051,7 +1051,7 @@ test_mapper (struct taginfo *taginfo, void *arg)
|
||||
int main ()
|
||||
{
|
||||
int size = 256;
|
||||
char *x = (char *)xmalloc (size);
|
||||
char *x = xmalloc (size);
|
||||
int length = 0;
|
||||
int read_count;
|
||||
int tag_counter = 0;
|
||||
@ -1060,7 +1060,7 @@ int main ()
|
||||
{
|
||||
length += read_count;
|
||||
size <<= 1;
|
||||
x = (char *)xrealloc (x, size);
|
||||
x = xrealloc (x, size);
|
||||
}
|
||||
|
||||
map_html_tags (x, length, test_mapper, &tag_counter, 0, NULL, NULL);
|
||||
|
16
src/http.c
16
src/http.c
@ -2870,14 +2870,14 @@ digest_authentication_encode (const char *au, const char *user,
|
||||
gen_md5_finish (ctx, hash);
|
||||
dump_hash (response_digest, hash);
|
||||
|
||||
res = (char*) xmalloc (strlen (user)
|
||||
+ strlen (user)
|
||||
+ strlen (realm)
|
||||
+ strlen (nonce)
|
||||
+ strlen (path)
|
||||
+ 2 * MD5_HASHLEN /*strlen (response_digest)*/
|
||||
+ (opaque ? strlen (opaque) : 0)
|
||||
+ 128);
|
||||
res = xmalloc (strlen (user)
|
||||
+ strlen (user)
|
||||
+ strlen (realm)
|
||||
+ strlen (nonce)
|
||||
+ strlen (path)
|
||||
+ 2 * MD5_HASHLEN /*strlen (response_digest)*/
|
||||
+ (opaque ? strlen (opaque) : 0)
|
||||
+ 128);
|
||||
sprintf (res, "Digest \
|
||||
username=\"%s\", realm=\"%s\", nonce=\"%s\", uri=\"%s\", response=\"%s\"",
|
||||
user, realm, nonce, path, response_digest);
|
||||
|
@ -208,7 +208,7 @@ saved_append_1 (const char *start, const char *end)
|
||||
{
|
||||
/* Allocate memory and concatenate the old and the new
|
||||
contents. */
|
||||
ln->malloced_line = (char *)xmalloc (old_len + len + 1);
|
||||
ln->malloced_line = xmalloc (old_len + len + 1);
|
||||
memcpy (ln->malloced_line, ln->static_line,
|
||||
old_len);
|
||||
memcpy (ln->malloced_line + old_len, start, len);
|
||||
|
14
src/main.c
14
src/main.c
@ -35,9 +35,7 @@ so, delete this exception statement from your version. */
|
||||
# include <unistd.h>
|
||||
#endif /* HAVE_UNISTD_H */
|
||||
#include <string.h>
|
||||
#ifdef HAVE_SIGNAL_H
|
||||
# include <signal.h>
|
||||
#endif
|
||||
#include <signal.h>
|
||||
#ifdef HAVE_NLS
|
||||
#ifdef HAVE_LOCALE_H
|
||||
# include <locale.h>
|
||||
@ -70,7 +68,7 @@ extern char *version_string;
|
||||
|
||||
extern struct cookie_jar *wget_cookie_jar;
|
||||
|
||||
static RETSIGTYPE redirect_output_signal (int);
|
||||
static void redirect_output_signal (int);
|
||||
|
||||
const char *exec_name;
|
||||
|
||||
@ -993,13 +991,9 @@ Can't timestamp and not clobber old files at the same time.\n"));
|
||||
#ifdef HAVE_SIGNAL
|
||||
/* Hangup signal handler. When wget receives SIGHUP or SIGUSR1, it
|
||||
will proceed operation as usual, trying to write into a log file.
|
||||
If that is impossible, the output will be turned off.
|
||||
If that is impossible, the output will be turned off. */
|
||||
|
||||
#### It is unsafe to do call libc functions from a signal handler.
|
||||
What we should do is, set a global variable, and have the code in
|
||||
log.c pick it up. */
|
||||
|
||||
static RETSIGTYPE
|
||||
static void
|
||||
redirect_output_signal (int sig)
|
||||
{
|
||||
const char *signal_name = (sig == SIGHUP ? "SIGHUP" :
|
||||
|
@ -499,7 +499,7 @@ ws_changetitle (const char *url)
|
||||
{
|
||||
xfree_null (title_buf);
|
||||
xfree_null (curr_url);
|
||||
title_buf = (char *)xmalloc (strlen (url) + 20);
|
||||
title_buf = xmalloc (strlen (url) + 20);
|
||||
curr_url = xstrdup (url);
|
||||
old_percentage = -1;
|
||||
sprintf (title_buf, "Wget %s", curr_url);
|
||||
|
@ -164,7 +164,7 @@ read_whole_line (FILE *fp)
|
||||
{
|
||||
int length = 0;
|
||||
int bufsize = 81;
|
||||
char *line = (char *)xmalloc (bufsize);
|
||||
char *line = xmalloc (bufsize);
|
||||
|
||||
while (fgets (line + length, bufsize - length, fp))
|
||||
{
|
||||
@ -220,7 +220,7 @@ maybe_add_to_list (acc_t **newentry, acc_t **list)
|
||||
}
|
||||
|
||||
/* Allocate a new acc_t structure. */
|
||||
a = (acc_t *)xmalloc (sizeof (acc_t));
|
||||
a = xmalloc (sizeof (acc_t));
|
||||
}
|
||||
|
||||
/* Zero the structure, so that it is ready to use. */
|
||||
|
@ -36,9 +36,7 @@ so, delete this exception statement from your version. */
|
||||
#ifdef HAVE_UNISTD_H
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
#ifdef HAVE_SIGNAL_H
|
||||
# include <signal.h>
|
||||
#endif
|
||||
#include <signal.h>
|
||||
|
||||
#include "wget.h"
|
||||
#include "progress.h"
|
||||
@ -956,7 +954,7 @@ bar_set_params (const char *params)
|
||||
}
|
||||
|
||||
#ifdef SIGWINCH
|
||||
RETSIGTYPE
|
||||
void
|
||||
progress_handle_sigwinch (int sig)
|
||||
{
|
||||
received_sigwinch = 1;
|
||||
|
@ -39,6 +39,6 @@ int progress_interactive_p (void *);
|
||||
void progress_update (void *, wgint, double);
|
||||
void progress_finish (void *, double);
|
||||
|
||||
RETSIGTYPE progress_handle_sigwinch (int);
|
||||
void progress_handle_sigwinch (int);
|
||||
|
||||
#endif /* PROGRESS_H */
|
||||
|
10
src/url.c
10
src/url.c
@ -205,7 +205,7 @@ url_escape_1 (const char *s, unsigned char mask, int allow_passthrough)
|
||||
return allow_passthrough ? (char *)s : xstrdup (s);
|
||||
|
||||
newlen = (p1 - s) + addition;
|
||||
newstr = (char *)xmalloc (newlen + 1);
|
||||
newstr = xmalloc (newlen + 1);
|
||||
|
||||
p1 = s;
|
||||
p2 = newstr;
|
||||
@ -984,7 +984,7 @@ char *
|
||||
url_full_path (const struct url *url)
|
||||
{
|
||||
int length = full_path_length (url);
|
||||
char *full_path = (char *) xmalloc (length + 1);
|
||||
char *full_path = xmalloc (length + 1);
|
||||
|
||||
full_path_write (url, full_path);
|
||||
full_path[length] = '\0';
|
||||
@ -1692,7 +1692,7 @@ uri_merge (const char *base, const char *link)
|
||||
start_insert = base;
|
||||
|
||||
span = start_insert - base;
|
||||
merge = (char *)xmalloc (span + linklength + 1);
|
||||
merge = xmalloc (span + linklength + 1);
|
||||
if (span)
|
||||
memcpy (merge, base, span);
|
||||
memcpy (merge + span, link, linklength);
|
||||
@ -1747,7 +1747,7 @@ uri_merge (const char *base, const char *link)
|
||||
start_insert = slash;
|
||||
|
||||
span = start_insert - base;
|
||||
merge = (char *)xmalloc (span + linklength + 1);
|
||||
merge = xmalloc (span + linklength + 1);
|
||||
if (span)
|
||||
memcpy (merge, base, span);
|
||||
memcpy (merge + span, link, linklength);
|
||||
@ -1785,7 +1785,7 @@ uri_merge (const char *base, const char *link)
|
||||
}
|
||||
|
||||
span = start_insert - base;
|
||||
merge = (char *)xmalloc (span + linklength + 1);
|
||||
merge = xmalloc (span + linklength + 1);
|
||||
if (span)
|
||||
memcpy (merge, base, span);
|
||||
if (need_explicit_slash)
|
||||
|
30
src/utils.c
30
src/utils.c
@ -45,9 +45,6 @@ so, delete this exception statement from your version. */
|
||||
#ifdef HAVE_PWD_H
|
||||
# include <pwd.h>
|
||||
#endif
|
||||
#ifdef HAVE_LIMITS_H
|
||||
# include <limits.h>
|
||||
#endif
|
||||
#ifdef HAVE_UTIME_H
|
||||
# include <utime.h>
|
||||
#endif
|
||||
@ -71,10 +68,7 @@ so, delete this exception statement from your version. */
|
||||
#endif
|
||||
|
||||
/* Needed for run_with_timeout. */
|
||||
#undef USE_SIGNAL_TIMEOUT
|
||||
#ifdef HAVE_SIGNAL_H
|
||||
# include <signal.h>
|
||||
#endif
|
||||
#include <signal.h>
|
||||
#ifdef HAVE_SETJMP_H
|
||||
# include <setjmp.h>
|
||||
#endif
|
||||
@ -86,11 +80,9 @@ so, delete this exception statement from your version. */
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#undef USE_SIGNAL_TIMEOUT
|
||||
#ifdef HAVE_SIGNAL
|
||||
# ifdef HAVE_SIGSETJMP
|
||||
# define USE_SIGNAL_TIMEOUT
|
||||
# endif
|
||||
# ifdef HAVE_SIGBLOCK
|
||||
# if defined(HAVE_SIGSETJMP) || defined(HAVE_SIGBLOCK)
|
||||
# define USE_SIGNAL_TIMEOUT
|
||||
# endif
|
||||
#endif
|
||||
@ -117,7 +109,7 @@ xstrdup_lower (const char *s)
|
||||
char *
|
||||
strdupdelim (const char *beg, const char *end)
|
||||
{
|
||||
char *res = (char *)xmalloc (end - beg + 1);
|
||||
char *res = xmalloc (end - beg + 1);
|
||||
memcpy (res, beg, end - beg);
|
||||
res[end - beg] = '\0';
|
||||
return res;
|
||||
@ -141,7 +133,7 @@ sepstring (const char *s)
|
||||
{
|
||||
if (*s == ',')
|
||||
{
|
||||
res = (char **)xrealloc (res, (i + 2) * sizeof (char *));
|
||||
res = xrealloc (res, (i + 2) * sizeof (char *));
|
||||
res[i] = strdupdelim (p, s);
|
||||
res[++i] = NULL;
|
||||
++s;
|
||||
@ -153,7 +145,7 @@ sepstring (const char *s)
|
||||
else
|
||||
++s;
|
||||
}
|
||||
res = (char **)xrealloc (res, (i + 2) * sizeof (char *));
|
||||
res = xrealloc (res, (i + 2) * sizeof (char *));
|
||||
res[i] = strdupdelim (p, s);
|
||||
res[i + 1] = NULL;
|
||||
return res;
|
||||
@ -616,7 +608,7 @@ file_merge (const char *base, const char *file)
|
||||
if (!cut)
|
||||
return xstrdup (file);
|
||||
|
||||
result = (char *)xmalloc (cut - base + 1 + strlen (file) + 1);
|
||||
result = xmalloc (cut - base + 1 + strlen (file) + 1);
|
||||
memcpy (result, base, cut - base);
|
||||
result[cut - base] = '/';
|
||||
strcpy (result + (cut - base) + 1, file);
|
||||
@ -853,7 +845,7 @@ read_whole_line (FILE *fp)
|
||||
{
|
||||
int length = 0;
|
||||
int bufsize = 82;
|
||||
char *line = (char *)xmalloc (bufsize);
|
||||
char *line = xmalloc (bufsize);
|
||||
|
||||
while (fgets (line + length, bufsize - length, fp))
|
||||
{
|
||||
@ -1065,7 +1057,7 @@ merge_vecs (char **v1, char **v2)
|
||||
/* Count v2. */
|
||||
for (j = 0; v2[j]; j++);
|
||||
/* Reallocate v1. */
|
||||
v1 = (char **)xrealloc (v1, (i + j + 1) * sizeof (char **));
|
||||
v1 = xrealloc (v1, (i + j + 1) * sizeof (char **));
|
||||
memcpy (v1 + i, v2, (j + 1) * sizeof (char *));
|
||||
xfree (v2);
|
||||
return v1;
|
||||
@ -1633,7 +1625,7 @@ random_float (void)
|
||||
|
||||
static sigjmp_buf run_with_timeout_env;
|
||||
|
||||
static RETSIGTYPE
|
||||
static void
|
||||
abort_run_with_timeout (int sig)
|
||||
{
|
||||
assert (sig == SIGALRM);
|
||||
@ -1644,7 +1636,7 @@ abort_run_with_timeout (int sig)
|
||||
|
||||
static jmp_buf run_with_timeout_env;
|
||||
|
||||
static RETSIGTYPE
|
||||
static void
|
||||
abort_run_with_timeout (int sig)
|
||||
{
|
||||
assert (sig == SIGALRM);
|
||||
|
@ -213,7 +213,7 @@ typedef off_t wgint;
|
||||
(sizevar) = DR_newsize; \
|
||||
} \
|
||||
if (DR_newsize) \
|
||||
basevar = (type *)xrealloc (basevar, DR_newsize * sizeof (type)); \
|
||||
basevar = xrealloc (basevar, DR_newsize * sizeof (type)); \
|
||||
} while (0)
|
||||
|
||||
/* Used to print pointers (usually for debugging). Print pointers
|
||||
|
@ -83,10 +83,10 @@ void debugging_free (void *, const char *, int);
|
||||
necessary in standard C, but Wget performs them anyway for the sake
|
||||
of pre-standard environments and possibly C++. */
|
||||
|
||||
#define xnew(type) ((type *) xmalloc (sizeof (type)))
|
||||
#define xnew0(type) ((type *) xmalloc0 (sizeof (type)))
|
||||
#define xnew_array(type, len) ((type *) xmalloc ((len) * sizeof (type)))
|
||||
#define xnew0_array(type, len) ((type *) xmalloc0 ((len) * sizeof (type)))
|
||||
#define xnew(type) (xmalloc (sizeof (type)))
|
||||
#define xnew0(type) (xmalloc0 (sizeof (type)))
|
||||
#define xnew_array(type, len) (xmalloc ((len) * sizeof (type)))
|
||||
#define xnew0_array(type, len) (xmalloc0 ((len) * sizeof (type)))
|
||||
|
||||
#define alloca_array(type, size) ((type *) alloca ((size) * sizeof (type)))
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user