Published in <sxs4rijqmhv.fsf@florida.arsdigita.de>.
+2002-04-10 Hrvoje Niksic <hniksic@arsdigita.com>
+
+ * wget.h: Ditto for extern char *exec_name.
+
+ * options.h: Don't guard against OPTIONS_DEFINED_HERE -- it is
+ perfectly legal to follow an `extern' with a non-`extern' ones,
+ provided the types match.
+
+ * main.c: Don't define OPTIONS_DEFINED_HERE.
+
2002-04-10 Hrvoje Niksic <hniksic@arsdigita.com>
* progress.c (create_image): Revert to calculating ETA based on
2002-04-10 Hrvoje Niksic <hniksic@arsdigita.com>
* progress.c (create_image): Revert to calculating ETA based on
#endif /* HAVE_NLS */
#include <errno.h>
#endif /* HAVE_NLS */
#include <errno.h>
-#define OPTIONS_DEFINED_HERE /* for options.h */
-
#include "wget.h"
#include "utils.h"
#include "init.h"
#include "wget.h"
#include "utils.h"
#include "init.h"
-#ifndef OPTIONS_DEFINED_HERE
extern struct options opt;
extern struct options opt;
/* Free FOO if it is non-NULL. */
#define FREE_MAYBE(foo) do { if (foo) xfree (foo); } while (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;
extern const char *exec_name;
\f
/* Document type ("dt") flags */
enum
\f
/* Document type ("dt") flags */
enum