You should have received a copy of the GNU General Public License
along with Wget; if not, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+In addition, as a special exception, the Free Software Foundation
+gives permission to link the code of its release of Wget with the
+OpenSSL project's "OpenSSL" library (or with modified versions of it
+that use the same license as the "OpenSSL" library), and distribute
+the linked executables. You must obey the GNU General Public License
+in all respects for all of the code used other than "OpenSSL". If you
+modify this file, you may extend this exception to your version of the
+file, but you are not obligated to do so. If you do not wish to do
+so, delete this exception statement from your version. */
/* This file contains some declarations that don't fit anywhere else.
It also contains some useful includes, like the obnoxious TIME_H
# define NDEBUG /* To kill off assertions */
#endif /* not DEBUG */
+/* Define this if you want primitive but extensive malloc debugging.
+ It will make Wget extremely slow, so only do it in development
+ builds. */
+#undef DEBUG_MALLOC
+
#ifndef PARAMS
# if PROTOTYPES
# define PARAMS(args) args
3) Finally, the debug messages are meant to be a clue for me to
debug problems with Wget. If I get them in a language I don't
- understand, debugging will become a new challenge of its own! :-) */
+ understand, debugging will become a new challenge of its own! */
/* Include these, so random files need not include them. */
void logputs PARAMS ((enum log_options, const char *));
void logflush PARAMS ((void));
void log_set_flush PARAMS ((int));
+int log_set_save_context PARAMS ((int));
/* Defined in `utils.c', but used literally everywhere. */
#ifndef DEBUG_MALLOC
XREALLOC_ARRAY (basevar, type, do_realloc_newsize); \
else \
{ \
- void *drfa_new_basevar = xmalloc (do_realloc_newsize); \
- memcpy (drfa_new_basevar, basevar, (sizevar)); \
+ void *drfa_new_basevar = \
+ xmalloc (do_realloc_newsize * sizeof (type)); \
+ memcpy (drfa_new_basevar, basevar, (sizevar) * sizeof (type)); \
(basevar) = drfa_new_basevar; \
allocap = 0; \
} \
/* Free FOO if it is non-NULL. */
#define FREE_MAYBE(foo) do { if (foo) xfree (foo); } while (0)
-/* #### Hack: OPTIONS_DEFINED_HERE is defined in main.c. */
-/* [Is this weird hack really necessary on any compilers? No ANSI C compiler
- should complain about "extern const char *exec_name;" followed by
- "const char *exec_name;". Are we doing this for K&R compilers, or...??
- -- Dan Harkless <wget@harkless.org>] */
-#ifndef OPTIONS_DEFINED_HERE
extern const char *exec_name;
-#endif
-
\f
/* Document type ("dt") flags */
enum
retrieve the requisites of a single document. */
#define INFINITE_RECURSION -1
+#define CONNECT_ERROR(x) ((x) == ECONNREFUSED && !opt.retry_connrefused \
+ ? CONREFUSED : CONERROR)
+
#endif /* WGET_H */