]> sjero.net Git - wget/blob - src/ChangeLog
[svn] Use 0x22 instead of '"' or '\"'.
[wget] / src / ChangeLog
1 2001-11-16  Hrvoje Niksic  <hniksic@arsdigita.com>
2
3         * html-parse.c (advance_declaration): Use 0x22 instead of '"' or
4         '\"'.  Different compilers' assert macros are broken in different
5         ways.
6
7 2001-09-29  Christian Fraenkel  <c.fraenkel@gmx.net>
8
9         * http.c (gethttp): print debug output for errors occuring during
10         the ssl handshake.
11
12 2001-11-16  Chris Seawood  <cls@seawood.org>
13
14         * init.c: Ditto.
15
16         * host.c: Ditto.
17
18         * connect.c: Ditto.
19
20         * sysdep.h: Support compilation under BEOS.
21
22 2001-06-08  Edward J. Sabol  <sabol@alderaan.gsfc.nasa.gov>
23
24         * url.c (url_equal): Fix a memory leak when parseurl returns an
25         error on the second URL. Also, since url_equal is not used at the
26         moment, do not compile it.
27
28         * url.h: Ditto for the prototype of url_equal.
29
30 2001-11-16  Hrvoje Niksic  <hniksic@arsdigita.com>
31
32         * html-parse.c (map_html_tags): Support XML-style empty tags.
33
34 2001-06-26  Hrvoje Niksic  <hniksic@arsdigita.com>
35
36         * wget.h (DO_REALLOC_FROM_ALLOCA): Check for do_realloc_newsize in
37         loop condition because we're no longer setting SIZEVAR here.
38
39 2001-06-26  Hrvoje Niksic  <hniksic@arsdigita.com>
40
41         * wget.h (DO_REALLOC_FROM_ALLOCA): Set SIZEVAR after the memcpy()
42         call because it needs the old value.
43
44 2001-06-18  Hrvoje Niksic  <hniksic@arsdigita.com>
45
46         * cookies.c (ATTR_NAME_CHAR): Allow almost any character to be in
47         an attribute name.
48
49 2001-06-18  Hrvoje Niksic  <hniksic@arsdigita.com>
50
51         * url.c (url_filename): Make sure that slashes that sneak in to
52         u->file via query string get protected.
53         (file_name_protect_query_string): New function.
54
55 2001-06-14  Hrvoje Niksic  <hniksic@arsdigita.com>
56
57         * recur.c (recursive_retrieve): Also check undesirable_urls with
58         canonicalized URL.
59
60 2001-06-14  Hrvoje Niksic  <hniksic@arsdigita.com>
61
62         * http.c (gethttp): Search `.netrc' with real host, not the proxy
63         one.
64
65 2001-06-14  Hrvoje Niksic  <hniksic@arsdigita.com>
66
67         * sysdep.h (MAP_FAILED): Provide MAP_FAILED for systems that don't
68         define it.
69
70 2001-06-09  Jan Prikryl  <prikryl@cg.tuwien.ac.at>
71
72         * ftp.h: Provide correct prototype for ftp_parse_ls().
73
74 2001-06-04  Hrvoje Niksic  <hniksic@arsdigita.com>
75
76         * version.c: Wget 1.7 is released.
77
78 2001-06-03  Karl Eichwalder  <ke@suse.de>
79
80         * ftp-ls.c (ftp_parse_ls): Fix typo.
81
82 2001-05-27  Hrvoje Niksic  <hniksic@arsdigita.com>
83
84         * all: Update copyright information.
85
86 2001-05-26  Hrvoje Niksic  <hniksic@arsdigita.com>
87
88         * http.c (gethttp): Indicate that the continued download failed
89         for *this* file.
90
91 2001-05-26  Hrvoje Niksic  <hniksic@arsdigita.com>
92
93         * version.c: Wget 1.7-pre1 is released.
94
95 2001-05-26  Hrvoje Niksic  <hniksic@arsdigita.com>
96
97         * version.c: Updated version to 1.7-pre1.
98
99 2001-05-14  Hrvoje Niksic  <hniksic@arsdigita.com>
100
101         * gen_sslfunc.c: Don't include <sys/time.h> directly.
102
103 2001-05-14  Hrvoje Niksic  <hniksic@arsdigita.com>
104
105         * http.c (gethttp): Use real URL data for cookies, not the proxy
106         stuff.
107
108 2001-05-12  Hrvoje Niksic  <hniksic@arsdigita.com>
109
110         * main.c (print_help): Document `--no-http-keep-alive'.
111
112         * utils.c (numdigit): Handle negative numbers *correctly*.
113
114         * hash.c (make_nocase_string_hash_table): Use term "nocase" rather
115         than the confusing "unsigned".
116
117         * utils.c (string_set_contains): Renamed from string_set_exists.
118
119         * hash.c (hash_table_contains): Renamed from hash_table_exists.
120
121         * cookies.c: Move case-insensitive hash tables to hash.c.
122
123 2001-05-09  Hrvoje Niksic  <hniksic@arsdigita.com>
124
125         * http.c (gethttp): Before concluding that the file is already
126         fully retrieved, make sure that the file existed and `Range' was
127         actually requested.
128
129 2001-05-09  Hrvoje Niksic  <hniksic@arsdigita.com>
130
131         * cookies.c (eliminate_dups): New function.
132         (build_cookies_request): Use it.
133         (build_cookies_request): Set chain_store_size after reallocating
134         all_chains.
135         (check_domain_match): Annotated for easier future debugging.
136         (store_cookie): In the debug message, print whether the cookie is
137         permanent.
138
139 2001-05-08  Hrvoje Niksic  <hniksic@arsdigita.com>
140
141         * http.c (http_loop): Reset no_truncate before deciding whether to
142         set it.
143         (gethttp): Further clarify "-c conflicts with existing file" error
144         message, based on input from Herold Heiko.
145
146 2001-05-07  Hrvoje Niksic  <hniksic@arsdigita.com>
147
148         * http.c (http_loop): If restval is set, set no_truncate to 1
149         unconditionally.
150
151 2001-05-02  Jan Prikryl  <prikryl@cg.tuwien.ac.at>
152
153         * ftp-ls.c (ftp_parse_winnt_ls): Assure months are being correctly
154         converted. Pointed out by <Stefan.Weil@de.heidelberg.com>.
155         (ftp_parse_vms_ls): Ditto.
156
157 2001-04-30  Hrvoje Niksic  <hniksic@arsdigita.com>
158
159         * init.c (cmd_address): Zero SIN before using it; apparently
160         needed on *BSD.
161
162 2001-04-29  Hrvoje Niksic  <hniksic@arsdigita.com>
163
164         * ftp.c (ftp_loop_internal): Don't set NO_TRUNCATE if the file is
165         empty.
166
167 2001-04-29  Hrvoje Niksic  <hniksic@arsdigita.com>
168
169         * main.c (main): Make `--cookies' respect its argument.
170
171 2001-04-28  Hrvoje Niksic  <hniksic@arsdigita.com>
172
173         * main.c (main): Removed undocumented option `--email-address'.
174
175         * netrc.c: Use the latest read_whole_line.
176
177         * init.c (defaults): Set opt.ftp_pass to "-wget@".
178
179         * mswindows.c (pwd_cuserid): Ditto.
180
181         * utils.c (pwd_cuserid): Removed.
182
183         * host.c (ftp_getaddress): Removed.
184
185 2001-04-28  Hrvoje Niksic  <hniksic@arsdigita.com>
186
187         (http_loop): Allocate space for filename_plus_orig_suffix with
188         alloca; this is more efficient and removes the need to free it
189         before each and every return.
190
191 2001-04-28  Hrvoje Niksic  <hniksic@arsdigita.com>
192
193         * http.c (gethttp): Return RETRUNNEEDED when the retrieval is
194         unneeded because the file is already there and fully downloaded,
195         and -c is specified.
196         (http_loop): Handle RETRUNNEEDED.
197
198         * wget.h (uerr_t): New value RETRUNNEEDED.
199
200         * http.c (http_loop): Set no_truncate for files that both exist
201         and are non-empty.
202         (gethttp): Consider the download finished when restval >= contlen,
203         not only when restval==contlen.
204         (gethttp): Handle redirection before giving up due to -c.
205         (gethttp): Clarify error message which explains that -c will not
206         truncate the file.
207         (gethttp): When returning CONTNOTSUPPORTED, don't forget to free
208         the stuff that needs freeing and release the socket.
209
210 2001-04-27  Hrvoje Niksic  <hniksic@arsdigita.com>
211
212         * main.c (print_help): Wget booleans accept "off", not "no".
213
214 2001-04-27  Hrvoje Niksic  <hniksic@arsdigita.com>
215
216         * http.c (http_loop): If allow_cache is zero, always disable
217         caching, not only when retrieving through proxy.
218
219         * init.c: Ditto.
220
221         * options.h (struct options): Rename proxy_cache to allow_cache.
222
223 2001-04-27  Hrvoje Niksic  <hniksic@arsdigita.com>
224
225         * http.c (mktime_from_utc): Improve documentation.
226         (http_atotm): Put format strings into a separate array.
227
228 2001-04-27  Hrvoje Niksic  <hniksic@arsdigita.com>
229
230         * safe-ctype.h: Instead of throwing #error when isalpha is
231         defined, redefine it to something that will throw a compile-time
232         error if actually *used*.  Do the same for the rest of the
233         standard C macros.
234
235 2001-04-26  Hrvoje Niksic  <hniksic@arsdigita.com>
236
237         * url.c (getproxy): Ignore empty proxy vars.
238
239 2001-04-25  Hrvoje Niksic  <hniksic@arsdigita.com>
240
241         * http.c (http_loop): Would load cookies every time.
242
243         * cookies.c (load_cookies): Handle cookies whose values contain
244         embedded spaces.
245
246 2001-04-25  Hrvoje Niksic  <hniksic@arsdigita.com>
247
248         * utils.c: Define each DIGITS_* in one line.
249
250 2001-04-25  Roger L. Beeman  <beeman@cisco.com>
251
252         * http.c (http_atotm): Initialize t.tm_isdst to 0.
253         (mktime_from_utc): Prevent mktime() from having discontinuities at
254         DST transition points.
255
256 2001-04-25  Hrvoje Niksic  <hniksic@arsdigita.com>
257
258         * html-url.c (get_urls_html): Fix documentation.
259
260 2001-04-25  Hrvoje Niksic  <hniksic@arsdigita.com>
261
262         * url.c (UNSAFE_CHAR): Reimplement using a static table.
263         (url_init): Removed.
264         (init_unsafe_char_table): Removed.
265
266 2001-04-25  Hrvoje Niksic  <hniksic@arsdigita.com>
267
268         * snprintf.c (dopr): Replace ISDIGIT with '0' <= ch && ch <= '9'.
269
270 2001-04-25  Hrvoje Niksic  <hniksic@arsdigita.com>
271
272         * utils.c: Document timer functions.
273
274         * retr.c (rate): Use it.
275         (rate): Print in GB/s if transfer rate exceeds 1 GB/s.
276
277         * utils.c (wtimer_granularity): New function.
278
279 2001-04-24  Hrvoje Niksic  <hniksic@arsdigita.com>
280
281         * retr.c (show_progress): Ditto.
282
283         * ftp.c (getftp): Ditto.
284
285         * http.c (gethttp): Use new timer functions.
286
287         * utils.c (wtimer_allocate): New function.
288         (wtimer_new): Ditto.
289         (wtimer_delete): Ditto.
290         (wtimer_reset): Ditto.
291         (wtimer_elapsed): Ditto.
292
293 2001-04-24  Hrvoje Niksic  <hniksic@arsdigita.com>
294
295         * utils.c (long_to_string): New, faster version.  Favors smaller
296         numbers; much of the calculation is now done at compile-time.
297
298 2001-04-24  Hrvoje Niksic  <hniksic@arsdigita.com>
299
300         * utils.c (numdigit): Handle negative numbers.
301
302 2001-04-23  Hrvoje Niksic  <hniksic@arsdigita.com>
303
304         * retr.c (show_progress): Print the download rate even when the
305         percentages are not available.
306
307 2001-04-21  Hrvoje Niksic  <hniksic@arsdigita.com>
308
309         * ftp.c (getftp): Adjust expected_bytes if the length is
310         authoritative.
311
312 2001-04-14  Hrvoje Niksic  <hniksic@arsdigita.com>
313
314         * url.c: Don't declare `construct'.
315
316         * hash.c (grow_hash_table): Speed up rehashing; inline storing of
317         mappings to new locations.
318         (hash_table_new): Make resize_threshold a field in the hash table,
319         so we don't have to recalculate it in each hash_table_put.
320         (grow_hash_table): Update resize_threshold.
321         (MAX): Remove unused macro.
322         (prime_size): Made static.
323
324 2001-04-14  Hrvoje Niksic  <hniksic@arsdigita.com>
325
326         * retr.c (retrieve_url): Call uri_merge, not url_concat.
327
328         * html-url.c (collect_tags_mapper): Call uri_merge, not
329         url_concat.
330
331         * url.c (mkstruct): Use encode_string instead of xstrdup followed
332         by URL_CLEANSE.
333         (path_simplify_with_kludge): Deleted.
334         (contains_unsafe): Deleted.
335         (construct): Renamed to uri_merge_1.
336         (url_concat): Renamed to uri_merge.
337
338 2001-04-13  Hrvoje Niksic  <hniksic@arsdigita.com>
339
340         * url.c (str_url): Use encode_string instead of the unnecessary
341         CLEANDUP.
342         (encode_string_maybe): New function, returns input string if no
343         encoding is needed.
344         (encode_string): Call encode_string_maybe to do the dirty work,
345         xstrdup if no work needed.
346
347 2001-04-13  Hrvoje Niksic  <hniksic@arsdigita.com>
348
349         * wget.h (XDIGIT_TO_xchar): Define here.
350
351         * url.c (decode_string): Use new name.
352         (encode_string): Ditto.
353
354         * http.c (XDIGIT_TO_xchar): Rename HEXD2asc to XDIGIT_TO_xchar.
355         (dump_hash): Use new name.
356
357         * wget.h: Rename ASC2HEXD and HEXD2ASC to XCHAR_TO_XDIGIT and
358         XDIGIT_TO_XCHAR respectively.
359
360 2001-04-13  Hrvoje Niksic  <hniksic@arsdigita.com>
361
362         * init.c: Include cookies.h.
363
364         * cookies.h: Declare cookies_cleanup.
365
366         * cookies.c (check_domain_match): Remove unused variable.
367         (save_cookies): Remove extraneous argument from debug statement.
368
369         * host.c (same_host): Don't call skip_url.
370
371         * url.c (skip_url): Removed.  Removed its calls from various
372         functions in url.c.
373
374 2001-04-13  Hrvoje Niksic  <hniksic@arsdigita.com>
375
376         * cookies.c (unsigned_string_hash): Use the new code in
377         string_hash as reference.
378
379         * hash.c (hash_table_map): Allow deletion and change of the
380         element processed by MAPFUN.
381         (string_hash): Use the function from glib.
382
383 2001-04-12  Hrvoje Niksic  <hniksic@arsdigita.com>
384
385         * config.h.in: Include #undef stub.
386
387         * hash.c (hash_table_remove): Rewrite to actually clear deleted
388         entries instead of just marking them as deleted.
389
390 2001-04-12  Hrvoje Niksic  <hniksic@arsdigita.com>
391
392         * hash.h: Declare hash_table_get_pair and hash_table_count.
393
394 2001-04-12  Hrvoje Niksic  <hniksic@arsdigita.com>
395
396         * cookies.c: Declare http_atotm.
397
398 2001-04-12  Hrvoje Niksic  <hniksic@arsdigita.com>
399
400         * ftp-ls.c (ftp_parse_unix_ls): Use octal constants for
401         permissions.  A compiler that doesn't accept octal constants is
402         seriously broken and shouldn't be used -- octal constants were
403         present in K&R C!
404
405 2001-01-20  Karl Eichwalder  <ke@suse.de>
406
407         * Makefile.in: Provide and use DESTDIR according to the Coding
408         Standards.
409
410 2001-04-12  Hrvoje Niksic  <hniksic@arsdigita.com>
411
412         * ftp-ls.c (ftp_parse_vms_ls): Make seconds optional in time
413         specification.
414
415 2001-04-11  Hrvoje Niksic  <hniksic@arsdigita.com>
416
417         * url.c (parseurl): Don't strip trailing slash when u->dir is "/"
418         because that strips the *leading* slash, thus forcing relative
419         FTP retrieval.
420
421 2001-04-10  Jan Prikryl  <prikryl@cg.tuwien.ac.at>
422
423         * ftp.c (getftp): Convert initial FTP directory from VMS to UNIX
424         notation for VMS servers. 
425         (ftp_retrieve_dirs): Do not prepend '/' to f->name when
426         odir is an empty string.
427
428 2001-04-10  Jan Prikryl  <prikryl@cg.tuwien.ac.at>
429
430         * ftp-ls.c (ftp_parse_winnt_ls): Made the fix for AM/PM more
431         effective. Suggested by Edward J. Sabol.
432
433 2001-04-10  Hrvoje Niksic  <hniksic@arsdigita.com>
434
435         * cookies.c (build_cookies_request): Use and sort cookies from all
436         matching domains.
437         (build_cookies_request): Check for duplicates before generating
438         the `Cookies' header.
439
440         * main.c (main): Don't load cookies here.
441         (main): Make loadcookies and savecookies call the correct command.
442
443         * http.c (http_loop): Load cookies on-demand.
444
445 2001-04-09  Hrvoje Niksic  <hniksic@arsdigita.com>
446
447         * http.c (gethttp): Fix indentation of SSL ifdef.
448
449 2001-04-09  Hrvoje Niksic  <hniksic@arsdigita.com>
450
451         * ftp.c (ftp_retrieve_dirs): Don't forcibly prepend "/" to u->dir;
452         that hack is no longer necessary.
453         (getftp): Prepend initial directory to *non*-absolute u->dir's.
454
455 2001-04-09  Hrvoje Niksic  <hniksic@arsdigita.com>
456
457         * init.c (cmd_file): New function.
458         (enable_tilde_expansion): New variable.
459         (run_wgetrc): Use it.
460         (cmd_file): Use it.
461
462 2001-04-08  Hrvoje Niksic  <hniksic@arsdigita.com>
463
464         * init.c: Include cookie-related options.
465
466         * main.c (main): Include cookie-specific options.
467         (main): Load cookies before download is finished.
468         (main): Save cookies when done.
469
470         * http.c (gethttp): Process the `Set-Cookie' header.
471         (gethttp): Include cookies in the response.
472
473         * cookies.c: New file.
474
475 2001-04-08  Hrvoje Niksic  <hniksic@arsdigita.com>
476
477         * utils.c (datetime_str): New function.
478
479 2001-04-08  Jan Prikryl  <prikryl@cg.tuwien.ac.at>
480
481         * ftp-ls.c (ftp_parse_winnt_ls): The AM/PM change did assume
482         12:01PM == 00:01, which was obviously wrong. Taken care of this
483         anomaly.
484
485         * ChangeLog: Removed an excess conflict marker. Reformatted the
486         entry by Philipp Thomas from 2001-03-09.
487
488         * ftp-ls.c (ftp_parse_winnt_ls): Ensure that adjusted PM hours lay
489         between 0 and 23. Elminate unused variable `sec'.
490
491 2001-04-08  Hrvoje Niksic  <hniksic@arsdigita.com>
492
493         * hash.c (hash_table_count): New function.
494
495 2001-04-06  Hrvoje Niksic  <hniksic@arsdigita.com>
496
497         * utils.c (read_file): Cast MAP_FAILED to char *.  Enforced by
498         Digital Unix cc.
499
500 2001-04-06  Hrvoje Niksic  <hniksic@arsdigita.com>
501
502         * config.h.in: Oops, do the namespace tweaks only on systems we
503         know about.
504
505 2001-04-06  Hrvoje Niksic  <hniksic@arsdigita.com>
506
507         * hash.c: Include <string.h>.
508
509 2001-04-06  Hrvoje Niksic  <hniksic@arsdigita.com>
510
511         * config.h.in: Define "compilation environment" options that work
512         under Linux and Solaris.  To be reviewed on other OS'es.
513
514 2001-04-06  Hrvoje Niksic  <hniksic@arsdigita.com>
515
516         * http.c (gethttp): Prepend literal newline with `\n\'.
517
518 2001-04-06  Hrvoje Niksic  <hniksic@arsdigita.com>
519
520         * sysdep.h: Don't define VERY_LONG_FORMAT.
521
522         * utils.c (very_long_to_string): New function.
523         (legible_very_long): Use it; don't use VERY_LONG_FORMAT.
524
525 2001-04-04  Christian Fraenkel  <christian.fraenkel@gmx.net>
526
527         * url.c (parse_uname): Would run past the end of the string if the
528         username was present, but the URL did not contain a slash, e.g.
529         http://foo:bar@myhost.
530
531 2001-04-03  KOJIMA Hajime  <kjm@rins.ryukoku.ac.jp>
532
533         * http.c (http_atotm): Use %A instead of %a to match full
534         weekday.  (On most systems there is no difference.)
535
536 2001-04-03  Paul Bludov  <paul@ozero.net>
537
538         * mswindows.c (sleep): Use SleepEx() instead of Sleep().
539         (ws_changetitle): Use alloca() instead of malloc() to avoid memory
540         leak.
541         (ws_mypath): Use GetModuleFileName instead of argv[0].
542         (ws_startup): Use data.wVersion for comparison.
543
544 2001-04-02  Hrvoje Niksic  <hniksic@arsdigita.com>
545
546         * http.c (http_loop): Ditto.
547
548         * ftp.c (ftp_loop_internal): Made the check whether to continue
549         retrieval `-O'-friendly.
550
551 2001-04-02  Hrvoje Niksic  <hniksic@arsdigita.com>
552
553         * netrc.c (parse_netrc): Don't trim the line endings explicitly;
554         they will be handled as whitespace.
555         (parse_netrc): Correctly handle lines that end with whitespace.
556
557 2001-04-02  Hrvoje Niksic  <hniksic@arsdigita.com>
558
559         * retr.c (retrieve_url): New variable global_download_count used
560         to identify first retrieval.
561
562         * ftp.c (getftp): Ditto.
563
564         * http.c (gethttp): Rewind opt.dfp only on first retrieval.
565
566 2001-04-02  Hrvoje Niksic  <hniksic@arsdigita.com>
567
568         * init.c (cmd_address): Heap-allocate the address that gets stored
569         to CLOSURE.  Old code would simply assign an address on the stack.
570
571 2001-04-01  Nicolas Lichtmaier <nick@debian.org>
572
573         * ftp.c (ftp_get_listing): Propagate error status.
574         (ftp_retrieve_glob): Use it.
575         (ftp_loop): Ditto.
576
577 2001-04-01  Nicolas Lichtmaier <nick@debian.org>
578
579         * main.c (main): Add -C to the string that is the third arg to
580         getopt_long().
581
582 2001-04-01  Hrvoje Niksic  <hniksic@arsdigita.com>
583
584         * ftp.c (getftp): Don't start the download from scratch if `-c'
585         was specified, but the file is already fully downloaded.
586
587         * http.c (gethttp): Don't truncate a pre-existing file if `-c' was
588         specified and the server doesn't support continued download.
589         (gethttp): Don't start the download from scratch if `-c' was
590         specified, but the file is already fully downloaded.
591
592 2001-03-31  Hrvoje Niksic  <hniksic@arsdigita.com>
593
594         (recursive_retrieve): Don't clear the hash tables at this point at
595         all; it interferes with the normal operation of register_download.
596
597 2001-03-31  Hrvoje Niksic  <hniksic@arsdigita.com>
598
599         * recur.c (recursive_retrieve): Clear the hash tables only when
600         they are defined.
601
602 2001-03-31  Hrvoje Niksic  <hniksic@arsdigita.com>
603
604         * http.c (gethttp): Make sure the socket is closed with
605         CLOSE_INVALIDATE before we have drained the body.
606
607 2001-03-31  Hrvoje Niksic  <hniksic@arsdigita.com>
608
609         * retr.c (retrieve_url): Call register_download() for downloaded
610         files and register_html() for downloaded HTML files.
611
612         * recur.c (register_download): New function; register here that a
613         file has been downloaded, rather than in recursive_retrieve().
614         (register_html): New function; enqueue the location of HTML files
615         here rather than in recursive_retrieve().
616
617 2001-03-31  Hrvoje Niksic  <hniksic@arsdigita.com>
618
619         * main.c (print_help): Use multiple fputs instead of a single ugly
620         printf().
621         (main): Consistently assign numbers >128 to options without a
622         corresponding character.
623
624 2001-03-09  Philipp Thomas  <pthomas@suse.de>
625
626         * safe-ctype.h: New file. Locale independent ctype.h replacement
627         taken from libiberty.
628
629         * safe-ctype.c: New file. Tables for above.
630
631         * Makefile.in: Add safe-ctype$o to OBJS.  Add dependencies for
632         safe-ctype$o.
633
634         * cmpt.c: Remove include of ctype.h. Use ISSPACE instead of
635         isspace.
636
637         * ftp-basic.c: Don't include ctype.h.
638
639         * ftp-ls.c: Likewise.
640
641         * ftp.c: Likewise.
642
643         * headers.c: Likewise.
644
645         * host.c: Likewise.
646
647         * html-parse.c: Likewise.
648
649         * html-url.c: Likewise.
650
651         * http.c: Likewise.
652
653         * init.c: Likewise.
654
655         * main.c: Likewise. Set LC_CTYPE along with LC_MESSAGES.
656
657         * netrc.c: Likewise.
658
659         * recur.c: Likewise.
660
661         * retr.c: Likewise.
662
663         * snprintf.c: Replace ctype.h with safe-ctype.h. Use ISDIGIT
664         instead of isdigit.
665
666         * sysdep.h: Remove defines of ctype macros as they aren't needed
667         for safe-ctype-h.
668
669         * url.c: Don't include ctype.h.
670
671         * utils.c: Likewise.
672
673         * wget.h: Include safe-ctype.h.
674
675 2001-03-27  Dan Harkless  <wget@harkless.org>
676
677         * Makefile.in: Moved top_builddir out of "User configuration
678         section" of top Makefile and analogous spot in this one.
679
680 2001-03-17  Dan Harkless  <wget@harkless.org>
681
682         * Makefile.in: Include @SSL_INCLUDES@ substition in INCLUDES.
683         Define top_builddir.  Link wget with libtool so the user doesn't
684         have to supply a bunch of custom environment variables to 
685         correctly link with the OpenSSL shared libraries.
686
687 2001-03-06  Hack Kampbjorn  <hack@hackdata.com>
688
689         * http.c (gethttp): skip :port in host header if it is the
690         DEFAULT_HTTPS_PORT when using SSL.
691
692         * url.c: move the #define of DEFAULT_HTTP_PORT, DEFAULT_FTP_PORT
693         and DEFAULT_HTTPS_PORT to the header file so it can be use in the
694         rest of the code. 
695         * url.h: Ditto
696
697 2001-03-01  Jonas Jensen  <bones@huleboer.dk>
698
699         * retr.c (show_progress): Correctly calculate the number of bytes
700         in the first line of the download that have been actually
701         downloaded in this run.
702
703 2001-02-23  Dan Harkless  <wget@harkless.org>
704
705         * main.c (print_help): --help documentation for -N said it would
706         re-download files if they had the _same_ timestamp on server.
707         (print_help): -nr belongs in "FTP options" section of --help
708         output, not "Recursive retrieval" section.  Alphabetized FTP
709         options by long option name.
710
711 2001-02-16  Dan Harkless  <wget@harkless.org>
712
713         * init.c (commands): Hack Kampbjørn <hack@hackdata.com> discovered
714         that "httpsproxy" had been inserted into commands[] out of
715         alphabetical order, causing "BUG: unknown command `httpuser'".
716
717 2001-02-13  Jan Prikryl  <prikryl@cg.tuwien.ac.at>
718
719         * ftp-ls.c (ftp_parse_ls): Added support of ST_MACOS (Unix-like
720         listing without correct permissons).
721
722         * ftp.h (stype): Added ST_MACOS to identify the NetPresenz MacOS
723         FTP server. 
724
725         * ftp.c (ftp_retrieve_list): New mirroring logic: A remote file
726         shall be donwloaded only when it's newer than the local copy or
727         when it has the same timeestamp but its size is different. ST_VMS
728         and ST_MACOS as special cases that lie about file size. 
729
730         * ftp-ls.c (ftp_parse_ls): Support for ST_MACOS.
731
732         * Makefile.in: Removed dependency on ftpparse library due to unclear
733         copyright issues and absence of any feedback to our queries. 
734
735         * ftp-ls.c: Removed dependency on ftpparse library due to unclear
736         copyright issues and absence of any feedback to our queries.   
737         (ftp_parse_ls): Added a warning message when remote server system
738         does not seem to be suported by wget. 
739         (ftp_parse_vms_ls): New function for parsing VMS ftp
740         server listing output.
741         (clean_line): New function responsible for removing
742         end-of-line characters from FTP listing texts.
743
744         * ftp.c (getftp): Global variables pwd and host_type are now
745         member of the ccon structure under names ccon.id and ccon.rs. 
746
747         * ftp.h (struct ccon): Added formed global variables from ftp.c,
748         enum stype rs (remote system identification) and char *id (initial
749         working directory), as suggested by Hrvoje.
750
751         * url.c (parse_uname): Added support for passwords containing '@'
752         characters.
753         (skip_uname): Ditto.
754
755 2001-02-11  Hrvoje Niksic  <hniksic@arsdigita.com>
756
757         * ftp.c (ftp_loop): Reset con.
758
759 2001-01-06  Jan Prikryl  <prikryl@cg.tuwien.ac.at>
760
761         * url.c (parse_uname): Added support for passwords containing '@'
762         characters.
763         (skip_uname): Ditto.
764
765 2001-02-11  Hack Kampbjørn  <hack@hackdata.com>
766
767         * url.c (parseurl): Debug-print u->ftp_type.
768
769 2001-02-11  Hrvoje Niksic  <hniksic@arsdigita.com>
770
771         * ftp.c (ftp_loop_internal): Disable padding.
772         (getftp): Ditto.
773
774         * http.c (http_loop): Disable padding.
775
776         * retr.c (show_progress): Use it to enable padding.
777
778         * retr.c (rate): Optional parameter PAD for padding the rate.
779
780 2001-02-10  Hrvoje Niksic  <hniksic@arsdigita.com>
781
782         * retr.c (show_progress): Make sure that the last output line
783         includes progress.
784
785 2001-02-10  Jonas Jensen  <bones@huleboer.dk>
786
787         * retr.c (show_progress): Print the download rate along with the
788         percentages.
789         Along with Anders Thorsby <anders@thorsby.dk>.
790
791 2001-02-10  Tim Mooney  <mooney@dogbert.cc.ndsu.NoDak.edu>
792
793         * ftp.h: Rename enums `command' to `wget_ftp_command' and
794         `fstatus' to `wget_ftp_status' because old names clash with Tru64
795         net/if.h.
796
797 2001-02-08  Christian Fraenkel <christian.fraenkel@gmx.net>
798
799         * gen_sslfunc.c: verify_callback is now static
800
801         * gen_sslfunc.c (init_ssl): load certificate if specified
802
803         * gen_sslfunc.c (ssl_printerr): new function
804
805         * init.c: added new --sslcertfile and --sslcertkey switches
806
807         * main.c: ditto
808
809         * options.h: ditto
810
811         * http.c (gethttp): abort when init_ssl fails
812
813 2001-01-23  Herold Heiko  <Heiko.Herold@previnet.it>
814
815         * mswindows.h: Include <malloc.h>; it's needed for alloca().
816
817 2001-01-10  Dan Harkless  <wget@harkless.org>
818
819         * url.c (str_url): Clarified this function's comment header after
820         Hrvoje answered my question on the list as to when hide != 1.
821         Also Hrvoje pointed out I need to use xstrdup() on the string literal.
822
823 2001-01-06  Hrvoje Niksic  <hniksic@arsdigita.com>
824
825         * connect.c (bindport): Declare addrlen as int.  Diagnosed by
826         Drazen Kacar <dave@arsdigita.com>.
827         (conaddr): Ditto.
828
829 2001-01-09  Dan Harkless  <wget@harkless.org>
830
831         * html-url.c: A bunch of fixup of `--page-requisites'-related
832         comments to reflect Hrvoje's changes to my code when transplanting
833         it into this new file, to fix spelling mistakes, to clarify, etc.
834
835         * url.c (write_backup_file): Clarified a comment.
836         (str_url): Henrik van Ginhoven pointed out on the list that we
837         shouldn't give away the number of characters in the password by
838         replacing each character with a 'x'.  Use "<password>" instead.
839
840         * ftp.c (ftp_retrieve_dirs): The bug where recursion into FTP
841         directories didn't work if logging in put you in a directory other
842         than "/" is fixed now.  Removed the comment here warning of the bug.
843
844         * main.c (print_help): --continue's description was misleading.
845         We don't "restart", we "resume".  Also, better to say
846         "partially-downloaded file" rather than just "existing file".
847
848 2001-01-06  Dan Harkless  <wget@harkless.org>
849
850         * ChangeLog: The '[Not in 1.6 branch.]'s were decided not to be
851         the best way to go about my aim.  Removed them in favor of:
852
853         * ChangeLog-branches/1.6_branch.ChangeLog: New file.
854
855 2001-01-04  Hrvoje Niksic  <hniksic@arsdigita.com>
856
857         * url.c (replace_attr): New function, to be used by both
858         TO_COMPLETE and TO_RELATIVE case in convert_links.
859         (find_fragment): New function for finding URL fragments.
860         (replace_attr): Better handle the case where the original string
861         is not quoted.  Use find_fragment.
862         (convert_links): Use replace_attr().
863
864 2000-12-31  Dan Harkless  <wget@harkless.org>
865
866         * ChangeLog: Since this flat file doesn't have multiple branches,
867         looking at the dates would make you think that things went into
868         1.6 that actually just went into the 1.7-dev branch.  Added "[Not
869         in 1.6 branch.]" where appropriate to clarify.
870         
871 2000-12-30  Dan Harkless  <wget@harkless.org>
872
873         * ftp.c, http.c:  Applied Hack Kampbjørn <hack@hackdata.com>'s
874         patch to deal with h_errno not being defined in netdb.h under Cygwin.
875
876 2000-12-18  Csaba Raduly  <csaba.raduly@sophos.com>
877
878         * sysdep.h: Include <malloc.h> and <io.h> under Watcom.
879
880 2000-12-17  Igor Khristophorov  <igor@atdot.org>
881
882         * http.c (check_end): Fix test for '+' or '-'.
883
884 2000-12-17  Hrvoje Niksic  <hniksic@arsdigita.com>
885
886         * url.c (parseurl): Rename inner loop var from i to ind to avoid
887         clash with the function top-level-declared variable i.
888         (str_url): Likewise, rename inner-loop i to j.
889
890         * recur.c (parse_robots): Don't declare LEN at top of function.
891         (robots_match): Renamed parameter FORBIDDEN to avoid hiding of
892         global variable.
893
894         * main.c (main): Change erroneous use of bitwise and to logical.
895
896         * init.c (cmd_address): Don't heap-allocate `sin'; it can be on
897         the stack because it will be copied to closure.
898
899         Thanks to Csaba Raduly's run of PC-LINT over the sources.
900
901 2000-12-17  Hrvoje Niksic  <hniksic@arsdigita.com>
902
903         * http.c (basic_authentication_encode): Use xmalloc(), not
904         malloc().  Thanks to Csaba Raduly's run of PC-LINT over the
905         sources.
906
907 2000-12-17  Csaba Raduly  <csaba.raduly@sophos.com>
908
909         * sysdep.h: Test for __EMX__ rather than for EMXOS2 for OS/2
910         compilation.
911
912 2000-12-17  Hrvoje Niksic  <hniksic@arsdigita.com>
913
914         * mswindows.c: Include <errno.h>.
915
916         * gen_sslfunc.c: Include <errno.h>.
917
918         * ftp-basic.c: Don't attempt to declare errno or h_errno because
919         they're not used.
920
921         * main.c: Include <errno.h> because errno is used.
922
923         * ftp.c: Ditto.
924
925         * http.c: Include <netdb.h> for h_errno.
926
927 2000-12-13  Hrvoje Niksic  <hniksic@arsdigita.com>
928
929         * html-parse.c (advance_declaration): MSVC assert() chokes on
930         '\"'.  Use '"' instead.
931
932 2000-12-11  Hrvoje Niksic  <hniksic@arsdigita.com>
933
934         * utils.c (xfree_real): Removed.
935         (xfree_debug): Just call free().
936
937         * wget.h (xfree): Make it an alias for free.
938
939 2000-12-11  Hrvoje Niksic  <hniksic@arsdigita.com>
940
941         * http.c (http_loop): Furthermore, touch output_document only if
942         it is known to be an existing regular file.
943
944 2000-12-11  Hrvoje Niksic  <hniksic@arsdigita.com>
945
946         * ftp.c (ftp_retrieve_list): Ditto.
947
948         * http.c (http_loop): Touch output_document if that is used for
949         output.
950
951 2000-12-06  Hrvoje Niksic  <hniksic@arsdigita.com>
952
953         * http.c: Include gen_sslfunc.h after including Wget's headers.
954         (persistent_available_p): Needed coma before `int ssl'.
955
956 2000-12-06  Hrvoje Niksic  <hniksic@arsdigita.com>
957
958         * ftp.c (ftp_loop_internal): Ditto.
959
960         * http.c (http_loop): Use it.
961
962         * retr.c (sleep_between_retrievals): New function that handles the
963         logic of opt.wait and opt.waitretry.
964
965 2000-12-06  Hrvoje Niksic  <hniksic@arsdigita.com>
966
967         * rbuf.h: Implement only a single version of RBUF_READCHAR, using
968         rbuf_read_bufferful when the buffer is depleted.
969
970         * rbuf.c (rbuf_read_bufferful): New function.
971
972 2000-12-06  Hrvoje Niksic  <hniksic@arsdigita.com>
973
974         * gen_sslfunc.h: Use ansi2knr style function declarations.
975
976         * gen_sslfunc.c: Reformat according to the GNU coding standards.
977         More should be done.
978
979         * http.c (persistent_available_p): Place the cheap SSL test nearer
980         the top of the function.
981         (CLOSE_FINISH, CLOSE_INVALIDATE): Define only one version of each.
982
983 2000-12-05  Hrvoje Niksic  <hniksic@arsdigita.com>
984
985         * url.c (init_unsafe_char_table): Reinstate space as an unsafe
986         char.
987
988 2000-12-03  Christian Fraenkel <christian.fraenkel@gmx.net>
989
990         * Makefile.in: added gen_sslfunc object
991         * config.h.in: added HAVE_SSL define
992         * connect.c: changed select_fd from static int to int
993         * connect.h: ditto
994         * gen_sslfunc.h: New file
995         * gen_sslfunc.c: ditto
996         * http.c: added HTTPS fuctionality
997         * retrc.c: ditto
998         * url.c: ditto
999         * init.c: added opt.httpsproxy
1000         * options.h: ditto
1001         * rbuf.h: added alternate rbuf struct
1002         * wget.h: added CONSSLERR
1003         * rbuf.c: ditto
1004
1005         * http.c: Added HTTPS fuctionality.
1006
1007         * retrc.c: Ditto.
1008
1009         * url.c: Ditto.
1010
1011         * init.c: Added opt.httpsproxy.
1012
1013         * options.h: Ditto.
1014
1015         * rbuf.h: Added alternate rbuf struct.
1016
1017         * wget.h: Added CONSSLERR.
1018
1019         * rbuf.c: Ditto.
1020
1021 2000-11-30  Jan Prikryl  <prikryl@cg.tuwien.ac.at>
1022
1023         * ftp-ls.c (ftp_parse_unix_ls): Added second parameter
1024         "ignore_perms" to ignore file and directory permissions for
1025         Windows NT FTP server listings.
1026         (ftp_parse_winnt_ls): New function.
1027         (ftp_parse_ls): Parses UNIX and Windows NT listings
1028         separately. Simple heuristics for distinguishing between UNIX and
1029         MS-DOS-like FTP listing provided by Windows NT FTP service.
1030
1031 2000-11-18  Jan Prikryl  <prikryl@cg.tuwien.ac.at>
1032
1033         * ftpparse.c, ftpparse.h: New files.
1034
1035         * ftp-ls.c (ftp_parse_ls): Use ftp_parse_unix_ls for UNIX servers
1036         only. Use ftp_parse_nonunix_ls otherwise.
1037         (ftp_parse_nonunix_ls): Stub to the ftpparse library handling all
1038         exotic FTP servers.
1039
1040         * ftp.h (stype): New enum, distinguishes UNIX, VMS, and "other"
1041         FTP servers.
1042
1043         * ftp.c: New static wariables host_type, pwd, and pwd_len. 
1044         (getftp): Support for VMS. Support for FTP servers that do not
1045         place you in the root directory after login.
1046         (ftp_retrieve_list): VMS is silent about the real file size, issue
1047         a more appropriate message.
1048         (ftp_get_listing): Pass host_type to ftp_parse_ls.
1049
1050         * ftp-basic.c (ftp_pwd, ftp_syst): New functions.
1051
1052 2000-11-30  Jan Prikryl  <prikryl@cg.tuwien.ac.at>
1053
1054         * ftp-ls.c (ftp_parse_unix_ls): Added second parameter
1055         "ignore_perms" to ignore file and directory permissions for
1056         Windows NT FTP server listings.
1057         (ftp_parse_winnt_ls): New function.
1058         (ftp_parse_ls): Parses UNIX and Windows NT listings
1059         separately. Simple heuristics for distinguishing between UNIX
1060         and MS-DOS-like FTP listing provided by Windows NT FTP service.
1061
1062 2000-11-29  John Summerfield  <summer@OS2.ami.com.au>
1063
1064         * netrc.c (parse_netrc): Get rid of line ending.
1065
1066 2000-11-25  Hrvoje Niksic  <hniksic@arsdigita.com>
1067
1068         * ftp.c (ftp_retrieve_list): Undo typo "fix" until resolution by
1069         Dan.
1070
1071 2000-11-24  Karl Eichwalder  <ke@suse.de>
1072
1073         * main.c (print_help): Untabify.
1074
1075 2000-11-23  Hrvoje Niksic  <hniksic@arsdigita.com>
1076
1077         * utils.c (xrealloc_debug): Do the unregister/register thing only
1078         if the pointer has actually changed.
1079         (xmalloc_real): Declare `static' in DEBUG_MALLOC builds.
1080         (xfree_real): Ditto.
1081         (xrealloc_real): Ditto.
1082         (xstrdup_real): Ditto.
1083
1084 2000-11-22  Hrvoje Niksic  <hniksic@arsdigita.com>
1085
1086         * ftp.c (getftp): ftp_getaddress() returns a malloc'ed copy of the
1087         string; no need to strdup() it.
1088         (getftp): Make pwd_len a local variable.
1089         (ftp_loop): Free PWD before returning.
1090
1091         * init.c (cleanup): Free opt.ftp_pass only if it's non-NULL.
1092
1093 2000-11-22  Hrvoje Niksic  <hniksic@arsdigita.com>
1094
1095         * all: Use xfree() instead of free.
1096
1097         * utils.c (xfree): New function.
1098
1099 2000-11-21  Hrvoje Niksic  <hniksic@arsdigita.com>
1100
1101         * url.c (convert_links): HTML-quote the converted string.
1102
1103         * utils.c (html_quote_string): Move here from ftp-ls.c
1104         (html_quote_string): Make non-static; declare in utils.h.
1105         (html_quote_string): Convert SP to &#32;.
1106
1107 2000-11-21  Hrvoje Niksic  <hniksic@arsdigita.com>
1108
1109         * ftp.c (getftp): Reformat Jan's code according to GNU coding
1110         standards; remove (debugging?) printf's; use '\0' for the ASCII
1111         zero character.  Use alloca() instead of malloc() for
1112         inter-function temporary allocations.
1113
1114 2000-11-18  Jan Prikryl  <prikryl@cg.tuwien.ac.at>
1115
1116         * ftpparse.c, ftpparse.h: New files.
1117
1118         * ftp-ls.c (ftp_parse_ls): Use ftp_parse_unix_ls for UNIX servers
1119         only. Use ftp_parse_nonunix_ls otherwise.
1120         (ftp_parse_nonunix_ls): Stub to the ftpparse library handling all
1121         exotic FTP servers.
1122
1123         * ftp.h (stype): New enum, distinguishes UNIX, VMS, and "other"
1124         FTP servers.
1125
1126         * ftp.c: New static wariables host_type, pwd, and pwd_len. 
1127         (getftp): Support for VMS. Support for FTP servers that do not
1128         place you in the root directory after login.
1129         (ftp_retrieve_list): VMS is silent about the real file size, issue
1130         a more appropriate message.
1131         (ftp_get_listing): Pass host_type to ftp_parse_ls.
1132
1133         * ftp-basic.c (ftp_pwd, ftp_syst): New functions.
1134
1135 2000-11-21  Hrvoje Niksic  <hniksic@arsdigita.com>
1136
1137         * hash.c (hash_table_put): Don't overwrite deleted mappings.
1138
1139 2000-11-21  Hrvoje Niksic  <hniksic@arsdigita.com>
1140
1141         * hash.c (find_mapping): New function.
1142         (hash_table_get): Use it.
1143         (hash_table_get_pair): Ditto.
1144         (hash_table_exists): Ditto.
1145         (hash_table_remove): Ditto.
1146         (hash_table_remove): Really delete the entry if the mapping
1147         following LOCATION is empty.
1148
1149         * utils.c (string_set_add): Check whether the element has existed
1150         before.
1151
1152         * hash.c (hash_table_get_pair): New function.
1153
1154 2000-11-20  Hrvoje Niksic  <hniksic@arsdigita.com>
1155
1156         * http.c (http_process_type): Ignore trailing whitespace; use
1157         strdupdelim().
1158
1159         * recur.c (recursive_retrieve): Use the new `convert' field.
1160         (convert_all_links): Ditto.
1161         (convert_all_links): Don't respect meta_disallow_follow.
1162
1163         * html-url.c (handle_link): Fill out link_relative_p and
1164         link_complete_p.
1165
1166         * url.h (struct _urlpos): Make elements more readable.
1167
1168         * recur.c (recursive_retrieve): Call slist_prepend instead of
1169         slist_append.
1170         (convert_all_links): Call slist_nreverse before iterating through
1171         urls_html.
1172
1173         * utils.c (slist_prepend): New function.
1174         (slist_nreverse): Ditto.
1175
1176 2000-11-20  Hrvoje Niksic  <hniksic@arsdigita.com>
1177
1178         * http.c (check_end): Constify.
1179
1180 2000-11-20  Hrvoje Niksic  <hniksic@arsdigita.com>
1181
1182         * http.c (http_loop): If username and password are known, try the
1183         `Basic' authentication scheme by default.
1184
1185         * connect.h: Declare test_socket_open.
1186
1187 2000-11-20  Hrvoje Niksic  <hniksic@arsdigita.com>
1188
1189         * version.c: Bump version from 1.5.3+dev to 1.7-dev.
1190
1191 2000-11-20  Hrvoje Niksic  <hniksic@arsdigita.com>
1192
1193         * http.c (gethttp): Don't use the return value of sprintf().
1194         (gethttp): Inhibit keep-alive if opt.http_keep_alive is 0.
1195
1196 2000-11-20  Hrvoje Niksic  <hniksic@arsdigita.com>
1197
1198         * recur.c (recursive_retrieve): Print the "so we don't load"
1199         debugging message only if we really don't load.
1200
1201         * http.c (gethttp): Inhibit keep-alive if proxy is being used.
1202         (gethttp): Don't request keep-alive if keep-alive is inhibited.
1203
1204 2000-11-19  Hrvoje Niksic  <hniksic@arsdigita.com>
1205
1206         * http.c (gethttp): Make the HTTP persistent connections more
1207         robust.
1208
1209 2000-11-19  Hrvoje Niksic  <hniksic@arsdigita.com>
1210
1211         * retr.c (get_contents): If use_expected, make sure that the
1212         appropriate amount of data is being read.
1213
1214         * http.c (gethttp): Check for both `Keep-Alive: ...' and
1215         `Connection: Keep-Alive'.
1216
1217         * wget.h (DEBUGP): Call debug_logprintf only if opt.debug is
1218         turned on.
1219
1220 2000-11-19  Hrvoje Niksic  <hniksic@arsdigita.com>
1221
1222         * http.c (connection_available_p): Use it.
1223
1224         * connect.c (test_socket_open): New function.
1225
1226         * http.c (gethttp): Support persistent connections.  Based on the
1227         ideas, and partly on code, by Sam Horrocks <sam@daemoninc.com>.
1228         (register_persistent): New function.
1229         (connection_available_p): Ditto.
1230         (invalidate_connection): Ditto.
1231
1232 2000-11-19  Hrvoje Niksic  <hniksic@arsdigita.com>
1233
1234         * url.c (convert_links): Handle UREL2ABS case.
1235
1236         * recur.c (recursive_retrieve): Instead of the list
1237         urls_downloaded, use hash tables dl_file_url_map and
1238         dl_url_file_map.
1239         (convert_all_links): Use them to retrieve data.
1240
1241         * host.c (clean_hosts): Free the hash tables.
1242
1243         * main.c (private_initialize): Call host_init().
1244
1245         * host.c (store_hostaddress): Use a saner, hash table-based data
1246         model.
1247         (realhost): Ditto.
1248         (host_init): Initialize the hash tables.
1249
1250 2000-11-18  Hrvoje Niksic  <hniksic@arsdigita.com>
1251
1252         * utils.c (slist_append): Eviscerate NOSORT.  Hash tables are now
1253         used for what the sorted slists used to be used for.
1254         (slist_contains): Don't rely on the list being sorted.
1255         (slist_append): Simplify the code.
1256
1257         * recur.c (recursive_cleanup): Use free_string_set.
1258
1259         * utils.c (string_set_add, string_set_exists, string_set_free):
1260         New functions for easier freeing of hash tables whose keys are
1261         strdup'ed strings.
1262
1263         * recur.c (recursive_retrieve): Use the hash table functions for
1264         storing undesirable URLs.
1265
1266         * hash.c: New file.
1267
1268 2000-11-17  Hrvoje Niksic  <hniksic@arsdigita.com>
1269
1270         * main.c (private_initialize): Call url_init.
1271         (main): Call private_initialize.
1272
1273         * url.c (unsafe_char_table): New table.
1274         (UNSAFE_CHAR): Use it.
1275         (init_unsafe_char_table): New function.
1276         (url_init): New function; call init_unsafe_char_table.
1277
1278 2000-11-16  Hrvoje Niksic  <hniksic@arsdigita.com>
1279
1280         * mswindows.h: Define snprintf and vsnprintf to _snprintf and
1281         _vsnprintf respectively.
1282
1283 2000-11-15  Hrvoje Niksic  <hniksic@arsdigita.com>
1284
1285         * config.h.in: Do the _XOPEN_SOURCE and _SVID_SOURCE things only
1286         on Linux.
1287
1288 2000-11-15  Hrvoje Niksic  <hniksic@arsdigita.com>
1289
1290         * html-url.c (handle_link): Handle HTML fragment identifiers.
1291
1292         * recur.c (recursive_retrieve): If norobot info is respected and
1293         the file is specified not to be followed by robots, respect that.
1294
1295         * html-url.c (collect_tags_mapper): Handle <meta name=robots
1296         content=X>.  For us the important cases are where X is NONE or
1297         where X contains NOFOLLOW.
1298         (get_urls_html): Propagate that information to the caller.
1299
1300 2000-11-13  Hrvoje Niksic  <hniksic@arsdigita.com>
1301
1302         * url.c (convert_links): Unlink the file we might be reading from
1303         before writing to it.
1304         (convert_links): Use alloca instead of malloc for
1305         filename_plus_orig_suffix.
1306
1307 2000-11-12  Hrvoje Niksic  <hniksic@arsdigita.com>
1308
1309         * host.c (realhost): Add HOST to the list with quality==0 only if
1310         it wasn't already there.
1311         Based on analysis by Lu Guohan <feng@public.bjnet.edu.cn>.
1312
1313 2000-11-10  Hrvoje Niksic  <hniksic@arsdigita.com>
1314
1315         * url.c (get_urls_file): Ditto.
1316         (convert_links): Ditto.
1317
1318         * html-url.c (get_urls_html): Use read_file() instead of
1319         load_file().
1320
1321         * utils.c (read_file): New function, instead of the old
1322         load_file().
1323         (read_file_free): Ditto.
1324
1325         * url.c (findurl): Search only for the supported protocols.
1326         (convert_links): Use fwrite() when writing out a region of
1327         characters.
1328
1329 2000-11-10  Hrvoje Niksic  <hniksic@arsdigita.com>
1330
1331         * ftp-ls.c: Move html_quote_string and ftp_index here.
1332
1333         * url.c: Remove get_urls_html, since that's now in html-url.c.
1334
1335         * html-url.c: New file.
1336
1337         * html-parse.c: New file.
1338
1339 2000-11-10  Hrvoje Niksic  <hniksic@arsdigita.com>
1340
1341         * init.c (run_wgetrc): Don't bother killing off '\r' since
1342         pars_line() skips whitespace at end of line anyway.
1343         (parse_line): Oops, it didn't.  Now it does.
1344
1345         * recur.c (parse_robots): Ditto here.
1346
1347         * ftp-ls.c (ftp_parse_unix_ls): Kill off the newline character
1348         manually because read_whole_line no longer does.
1349
1350         * utils.c (read_whole_line): Rewrite to: a) use less memory
1351         (reallocates to needed size after work), b) work faster -->
1352         fgets() instead of getc, c) be more correct --> doesn't kill the
1353         newline character at the end of line.
1354
1355 2000-11-10  Hrvoje Niksic  <hniksic@arsdigita.com>
1356
1357         * init.c (comind): Initialize MAX to array size - 1.
1358
1359 2000-11-08  Hrvoje Niksic  <hniksic@arsdigita.com>
1360
1361         * url.c (construct): Changed last_slash[-1] to *(last_slash - 1).
1362         Suggested by Edward J. Sabol.
1363
1364 2000-11-08  Hrvoje Niksic  <hniksic@arsdigita.com>
1365
1366         * url.c (construct): Handle the case where host name is not
1367         followed by a slash.
1368
1369 2000-11-06  Hrvoje Niksic  <hniksic@arsdigita.com>
1370
1371         * init.c: commands[] need to be sorted!  ("base" wasn't.)
1372
1373 2000-11-05  Hrvoje Niksic  <hniksic@arsdigita.com>
1374
1375         * wget.h (DO_REALLOC_FROM_ALLOCA): Use braces to disambiguate
1376         `if'.
1377
1378 2000-11-05  Hrvoje Niksic  <hniksic@arsdigita.com>
1379
1380         * url.c (construct): Insert unneeded initialization for the
1381         compiler to shut up.
1382
1383         * config.h.in: Define _XOPEN_SOURCE to 500 to get the prototype
1384         for strptime() (*duh*).  Define _SVID_SOURCE to get S_IFLNK which
1385         otherwise gets lost when you define _XOPEN_SOURCE.
1386
1387         * utils.c (touch): Include the file name in the error message.
1388         From Debian.
1389
1390 2000-11-05  Hrvoje Niksic  <hniksic@arsdigita.com>
1391
1392         * log.c (logvprintf): Use vsnprintf() in all cases.  If necessary,
1393         resize the buffer to fit the formated message.  That way, messages
1394         of arbitrary size may be printed.
1395         (logvprintf): Use saved_append() to optionally log the last
1396         several lines of output.
1397         (logputs): Ditto.
1398         (log_close): Adapt to new data structures.
1399         (log_dump): Ditto.
1400         (redirect_output): Print messages to stderr, not to stdout.
1401
1402         * log.c (saved_append_1): New function.  Replaces the old logging
1403         system ("log all output until 10M characters") with a new, much
1404         more reasonable one ("log last screenful of text").
1405         (saved_append): New function; call saved_append_1.
1406         (free_log_line): New function.
1407
1408 2000-11-05  Hrvoje Niksic  <hniksic@arsdigita.com>
1409
1410         * url.c (construct): Fix comment.
1411         (find_last_char): Document.
1412
1413 2000-11-04  Hrvoje Niksic  <hniksic@arsdigita.com>
1414
1415         * snprintf.c: New file.
1416
1417 2000-11-03  Hrvoje Niksic  <hniksic@arsdigita.com>
1418
1419         * wget.h: If HAVE_STDARG_H is not defined, don't declare argument
1420         types to logprintf() and debug_logprintf().
1421
1422 2000-11-02  Hrvoje Niksic  <hniksic@arsdigita.com>
1423
1424         * ftp.c (ftp_loop_internal): Hide the password from the URL when
1425         printing non-verbose.  Problem spotted by Dariusz Mlynarczyk
1426         <darekm@bydg.lomac.com.pl>.
1427
1428 2000-11-02  Junio Hamano  <junio@twinsun.com>
1429
1430         * ftp-basic.c (ftp_login): Make comparison case-insensitive.
1431
1432 2000-11-02  Tyler Riddle  <triddle@liquidmarket.com>
1433
1434         * http.c (known_authentication_scheme_p): Recognize NTML
1435         authentication.
1436         (create_authorization_line): Treat NTML the same as `Basic'.
1437
1438 2000-11-02  Hrvoje Niksic  <hniksic@arsdigita.com>
1439
1440         * retr.c (retrieve_url): Free url before returning.
1441         (retrieve_url): Free mynewloc before returning.
1442         Spotted by Mark A. Mankins <Mankins_Mark@prc.com>.
1443
1444 2000-11-02  Hrvoje Niksic  <hniksic@arsdigita.com>
1445
1446         * url.c (parseurl): Remove possible reading past the end of
1447         sup_protos[].  Spotted by Mark A. Mankins <Mankins_Mark@prc.com>.
1448
1449 2000-11-01  Hrvoje Niksic  <hniksic@arsdigita.com>
1450
1451         * main.c (main): In case of opt.downloaded overflowing, print
1452         <overflow> instead of a totally bogus random value.
1453
1454         * retr.c (retrieve_from_file): Ditto.
1455
1456         * recur.c (recursive_retrieve): Ditto.
1457
1458         * main.c (main): Ditto.
1459
1460         * http.c (http_loop): Ditto.
1461
1462         * ftp.c (ftp_loop_internal): Use downloaded_increase() instead of
1463         `+=', and downloaded_exceeds_quota() instead of the simple-minded
1464         check.
1465         (ftp_retrieve_list): Ditto.
1466         (ftp_retrieve_dirs): Ditto.
1467         (ftp_retrieve_glob): Ditto.
1468
1469         * retr.c (downloaded_increase): New function.  Notice overflows of
1470         opt.downloaded.
1471         (downloaded_exceeds_quota): Make sure that opt.downloaded is not
1472         used if it overflowed.
1473
1474         * options.h (struct options): New member downloaded_overflow.
1475
1476 2000-11-01  Hrvoje Niksic  <hniksic@arsdigita.com>
1477
1478         * wget.h (enum): Remove extra space after last enumeration.
1479
1480 2000-11-01  Hrvoje Niksic  <hniksic@arsdigita.com>
1481
1482         * main.c (main): Use legible_very_long() for printing
1483         opt.downloaded.
1484
1485         * utils.c (legible_1): New function that operates on strings and
1486         does the brunt of legible()'s work.
1487         (legible): Use legible_1().
1488         (legible_very_long): New function; dump the argument with
1489         sprintf(), and call legible_1().
1490
1491         * options.h (struct options): Use VERY_LONG_TYPE for
1492         opt.downloaded.
1493
1494         * sysdep.h (VERY_LONG_TYPE): Define it to have a 64-bit or greater
1495         type.
1496
1497         * config.h.in: Make sure that SIZEOF_LONG and SIZEOF_LONG_LONG get
1498         defined.  Define HAVE_LONG_LONG if long long is available.
1499
1500 2000-11-01  Hrvoje Niksic  <hniksic@arsdigita.com>
1501
1502         * utils.c (long_to_string): Update with a later, better version.
1503
1504 2000-11-01  Hrvoje Niksic  <hniksic@arsdigita.com>
1505
1506         * url.c (path_simplify_with_kludge): New function.
1507         (path_simplify_with_kludge): Disable it.  Instead...
1508         (parse_dir): ...make sure that at this point the right thing is
1509         done, i.e. that "query" part of the URL (?...) is always assigned
1510         to the file, never to the directory portion of the path.
1511
1512 2000-11-01  Hrvoje Niksic  <hniksic@arsdigita.com>
1513
1514         * retr.c (retrieve_url): Detect redirection cycles.
1515
1516 2000-11-01  Hrvoje Niksic  <hniksic@arsdigita.com>
1517
1518         * url.c (get_urls_html): Decode HTML entities using
1519         html_decode_entities.
1520
1521         * html.c (htmlfindurl): Don't count the `#' in numeric entities
1522         (&#NNN;) as an HTML fragemnt.
1523         (html_decode_entities): New function.
1524
1525 2000-11-01  Hrvoje Niksic  <hniksic@arsdigita.com>
1526
1527         * html.c (htmlfindurl): Fix recognition of # HTML fragments.
1528
1529 2000-11-01  Hrvoje Niksic  <hniksic@arsdigita.com>
1530
1531         * url.c (construct): Rewritten for clarity.  Avoids the
1532         unnecessary copying and stack-allocation the old version
1533         performed.
1534
1535 2000-10-31  Hrvoje Niksic  <hniksic@arsdigita.com>
1536
1537         * ftp.c (getftp): Ditto.
1538
1539         * http.c (gethttp): Rewind the stream when retrying from scratch.
1540
1541 2000-10-31  Hrvoje Niksic  <hniksic@arsdigita.com>
1542
1543         * retr.c (retrieve_url): Use url_concat() to handle relative
1544         redirections instead of /ad hoc/ code.
1545
1546         * url.c (url_concat): New function encapsulating weird
1547         construct().
1548         (urllen_http_hack): New function.
1549         (construct): When constructing new URLs, recognize that `?' does
1550         not form part of the file name in HTTP.
1551
1552 2000-10-13  Adrian Aichner  <adrian@xemacs.org>
1553
1554         * retr.c: Add msec timing support for WINDOWS.
1555         * retr.c (reset_timer): GetSystemTime() on WINDOWS.
1556         * retr.c (elapsed_time): Calculate delta time to msec on WINDOWS.
1557
1558 2000-10-27  Dan Harkless  <wget@harkless.org>
1559
1560         * retr.c (retrieve_url): Manually applied T. Bharath
1561         <TBharath@responsenetworks.com>'s patch to get wget to grok
1562         illegal relative URL redirects.  Reformatted and re-commented it.
1563
1564 2000-10-23  Dan Harkless  <wget@harkless.org>
1565
1566         * connect.c (make_connection and bindport): Manually applied Rob
1567         Mayoff <mayoff@dqd.com>'s 1.5.3 patch to add --bind-address,
1568         changing coding style to GNU's.
1569
1570         * ftp.c (ftp_loop_internal): --delete-after wasn't implemented for
1571         files downloaded via FTP.  Per a comment, .listing files were not
1572         counted towards number of bytes and files downloaded because they're 
1573         deleted anyway.  Well, they aren't under -nr, so count them then.
1574
1575         * init.c: Manually applied Rob Mayoff's 1.5.3 patch to add
1576         --bind-address, alphabetizing, changing coding style to GNU's,
1577         commenting, and renaming cmd_ip_address() to cmd_address() to
1578         imply hostnames also okay.
1579                 
1580         * main.c (main): --delete-after didn't delete the root of the
1581         tree.  Ignore --convert-links if --delete-after was specified.
1582         Manually applied Rob Mayoff's 1.5.3 patch to add --bind-address,
1583         fixing duplicate use of added-since-1.5.3 case value.
1584         (print_help): Clarified that --delete-after deletes local files.
1585         Rob forgot to add a line for his new --bind-address option.
1586                 
1587         * options.h (struct options): Manually applied Rob Mayoff's patch
1588         to add --bind-address (bind_address structure member).
1589                 
1590         * recur.c (recursive_retrieve): Improved comment; added DEBUGP().
1591         Ignore --convert-links if --delete-after was specified.
1592                 
1593         * retr.c (retrieve_from_file): Just added a DEBUGP().
1594                 
1595 2000-10-19  Dan Harkless  <wget@harkless.org>
1596
1597         * ftp.c (ftp_loop_internal): downloaded_file() enumerators changed.
1598         (getftp): Applied Piotr Sulecki <Piotr.Sulecki@ios.krakow.pl>'s
1599         patch to work around FTP servers that incorrectly respond to the
1600         "REST" command with the remaining size rather than the total file size.
1601                 
1602         * http.c (gethttp): Improved a comment and added code to tack on
1603         ".html" to text/html files without that extension when -E specified.
1604         (http_loop): Use new downloaded_file() enumerators and deal with
1605         the case of gethttp() called xrealloc() on u->local.
1606
1607         * init.c (commands): Added new "htmlextension" command.
1608         Also renamed John Daily's cmd_quad() to the more descriptive
1609         cmd_lockable_boolean(), alpha-sorted the CMD_DECLARE()s and
1610         removed duplicate cmd_boolean() declaration.
1611
1612         * main.c (print_help): Added my new -E / --html-extension option.
1613         (main): Undocumented --email-address option previously used -E synonym.
1614         Stole it away for the much more deserving --html-extension's use.
1615
1616         * options.h (struct options): Added html_extension field.
1617
1618         * url.c (convert_links): URL X that we saved as X.html locally due
1619         to -E needs to be backed up as X.orig, not X.html.orig.  Added comments.
1620         (downloaded_file): Now remembers if we added .html extension to a file.
1621
1622         * url.h (downloaded_file_t): Added extra enumerators to support above.
1623         (downloaded_file): Now takes and returns a downloaded_file_t.
1624
1625         * wget.h (unnamed "dt" enum): Added ADDED_HTML_EXTENSION enumerator.
1626         
1627 2000-10-09  Dan Harkless  <wget@harkless.org>
1628
1629         * html.c (htmlfindurl): Added unneeded initialization to quiet warning.
1630                 
1631         * main.c (print_help): Clarified what --retr-symlinks does.
1632         
1633 2000-09-15  John Daily  <jdaily@cyberdude.com>
1634
1635         * init.c: Add support for "always" and "never" values to allow
1636         .wgetrc to override commandline (useful e.g. with .pm files
1637         calling `wget --passive-ftp' when your firewall doesn't allow that).
1638
1639         * ftp.c (getftp): passive_ftp is first option to support always/never.
1640
1641 2000-08-30  Dan Harkless  <wget@harkless.org>
1642
1643         * ftp.c (ftp_retrieve_list): Use new INFINITE_RECURSION #define.
1644         
1645         * html.c: htmlfindurl() now takes final `dash_p_leaf_HTML' parameter.
1646         Wrapped some > 80-column lines.  When -p is specified and we're at a 
1647         leaf node, do not traverse <A>, <AREA>, or <LINK> tags other than 
1648         <LINK REL="stylesheet">.
1649         
1650         * html.h (htmlfindurl): Now takes final `dash_p_leaf_HTML' parameter.
1651         
1652         * init.c: Added new -p / --page-requisites / page_requisites option.
1653
1654         * main.c (print_help): Clarified that -l inf and -l 0 both allow
1655         infinite recursion.  Changed the unhelpful --mirrior description
1656         to simply give the options it's equivalent to.  Added new -p option.
1657         (main): Added some comments; handle new -p / --page-requisites.
1658         
1659         * options.h (struct options): Added new page_requisites field.
1660
1661         * recur.c: Changed "URL-s" to "URLs" and "HTML-s" to "HTMLs".
1662         Calculate and pass down new `dash_p_leaf_HTML' parameter to
1663         get_urls_html().  Use new INFINITE_RECURSION #define.
1664
1665         * retr.c: Changed "URL-s" to "URLs".  get_urls_html() now takes
1666         final `dash_p_leaf_HTML' parameter.
1667
1668         * url.c: get_urls_html() and htmlfindurl() now take final
1669         `dash_p_leaf_HTML' parameter.
1670
1671         * url.h (get_urls_html): Now takes final `dash_p_leaf_HTML' parameter.
1672
1673         * wget.h: Added some comments and new INFINITE_RECURSION #define.
1674         
1675 2000-08-23  Dan Harkless  <wget@harkless.org>
1676
1677         * main.c (print_help): -B / --base was not mentioned.
1678
1679 2000-08-22  Dan Harkless  <wget@harkless.org>
1680
1681         * main.c (print_help): Modified -nc description to mention that it
1682         also prevents the creation of multiple versions of the same file
1683         with ".<number>" suffixes.
1684
1685 2000-07-14  Jan Prikryl  <prikryl@cg.tuwien.ac.at>
1686
1687         * retr.c (retrieve_url): Consistently strdup opt.referer when
1688         setting u->referer.
1689
1690 2000-06-09  Dan Harkless  <wget@harkless.org>
1691
1692         * main.c (print_help): --help output for --waitretry was over 80 cols.
1693
1694 2000-06-09  Hrvoje Niksic  <hniksic@iskon.hr>
1695
1696         * url.c (encode_string): Fix comment.
1697         Suggested by Herold Heiko <Heiko.Herold@previnet.it>.
1698
1699 2000-06-01  Const Kaplinsky  <const@ce.cctpu.edu.ru>
1700
1701         * ftp.c (ftp_retrieve_list): Change permissions only on plain
1702         files.
1703
1704 2000-06-01  Hrvoje Niksic  <hniksic@iskon.hr>
1705
1706         * url.c (str_url): Print the port number only if it's different
1707         from the default port number for that protocol.
1708
1709 2000-05-22  Dan Harkless  <wget@harkless.org>
1710
1711         * main.c (print_help): Added --help line for Damir Dzeko
1712         <ddzeko@zesoi.fer.hr>'s until-now-undocumented --referer option.
1713         Removed comments that --referer and --waitretry were undocumented.
1714         Changed "`.wgetrc' command" to "`.wgetrc'-style command" on --help
1715         line for --execute.
1716
1717 2000-05-18  Hrvoje Niksic  <hniksic@iskon.hr>
1718
1719         * ftp.c (getftp): Ditto.
1720
1721         * http.c (gethttp): Check for return value of fclose/fflush.
1722
1723 2000-04-12  Hrvoje Niksic  <hniksic@iskon.hr>
1724
1725         * host.c (store_hostaddress): Instead of shifting ADDR, start
1726         copying from the correct address.
1727
1728 2000-04-12  Hrvoje Niksic  <hniksic@iskon.hr>
1729
1730         * http.c (gethttp): Don't free REQUEST -- it was allocated with
1731         alloca().
1732         Pointed out by Gisle Vanem <gvanem@eunet.no>.
1733
1734 2000-04-04  Dan Harkless  <wget@harkless.org>
1735
1736         * host.c (store_hostaddress): R. K. Owen's patch introduces a
1737         "left shift count >= width of type" warning on 32-bit
1738         architectures.  Got rid of it by tricking the compiler w/ a variable.
1739         
1740         * url.c (UNSAFE_CHAR): The macro didn't include all the illegal
1741         characters per RFC1738, namely everything above '~'.  It also
1742         generated a warning on OSes where char =~ unsigned char.  Fixed.
1743         
1744 1998-10-17  Hrvoje Niksic  <hniksic@srce.hr>
1745
1746         * http.c (http_process_type): Removed needless strdup(), a memory
1747         leak.
1748
1749 1998-09-25  Hrvoje Niksic  <hniksic@srce.hr>
1750
1751         * html.c (htmlfindurl): Set PH to the first occurrence of `#'.
1752
1753 1998-09-25  Simon Munton  <simonm@m4data.co.uk>
1754
1755         * init.c (wgetrc_file_name): Don't free HOME under Windows.
1756
1757 1998-12-01  "R. K. Owen"  <rkowen@Nersc.GOV>
1758
1759         * host.c (store_hostaddress): Fix for big endian 64-bit machines.
1760
1761 1998-12-01  Hrvoje Niksic  <hniksic@srce.hr>
1762
1763         * url.c (UNSAFE_CHAR): New macro.
1764         (contains_unsafe): Use it.
1765         (encode_string): Ditto.
1766
1767 1998-12-01  Hrvoje Niksic  <hniksic@srce.hr>
1768
1769         * main.c (i18n_initialize): Use LC_MESSAGES only if available.
1770
1771 2000-03-31  Hrvoje Niksic  <hniksic@srce.hr>
1772
1773         * Use TOUPPER/TOLOWER.
1774
1775 1998-12-22  Alexander V. Lukyanov  <lav@yars.free.net>
1776
1777         * ftp-opie.c (btoe): Zero-terminate OSTORE.
1778
1779 2000-03-21  Hrvoje Niksic  <hniksic@iskon.hr>
1780
1781         * wget.h (DO_REALLOC_FROM_ALLOCA): Ditto.
1782
1783         * sysdep.h (ISALNUM): New macro.
1784         (TOLOWER): Ditto.
1785         (TOUPPER): Ditto.
1786
1787 2000-03-10  Dan Harkless  <wget@harkless.org>
1788
1789         * html.c (idmatch): Implemented checking of my new --follow-tags
1790         and --ignore-tags options.
1791         
1792         * init.c (commands): Added comment reminding people adding new
1793         entries doing allocation to add corresponding freeing in cleanup().
1794         (commands): Added new followtags and ignoretags commands.
1795         (cleanup): Free storage for new followtags and ignoretags.
1796         
1797         * main.c: Use of "comma-separated list" was random -- normalized
1798         it.  Did some alphabetization.  Added comments pointing out
1799         "Options without arguments" and "Options accepting an argument"
1800         sections of long_options[].  Added new options --follow-tags and
1801         -G / --ignore-tags.  Added comment that Damir's --referer is
1802         currently undocumented.  Added comment that Heiko's --waitretry is
1803         partially undocumented (mentioned in --help but not in
1804         wget.texi).  Moved improperly sorted 24, 129, and 'G' cases.
1805         
1806         * options.h (struct options): Added new fields follow_tags and
1807         ignore_tags. 
1808         
1809         * wget.h: Added "#define EQ 0" so we can say "strcmp(a, b) == EQ".
1810         
1811 2000-03-02  Dan Harkless  <wget@harkless.org>
1812
1813         * ftp.c (ftp_loop_internal): Heiko introduced "suggest explicit
1814         braces to avoid ambiguous `else'" warnings.  Eliminated them.
1815         
1816         * http.c (gethttp): Dan Berger's query string patch is totally
1817         bogus.  If you have two different URLs, gen_page.cgi?page1 and
1818         get_page.cgi?page2, they'll both be saved as get_page.cgi and the
1819         second will overwrite the first.  Also, parameters to implicit
1820         CGIs, like "http://www.host.com/db/?2000-03-02" cause the URLs to
1821         be printed with trailing garbage characters, and could seg fault.
1822         Backing out the patch, which Dan B. informed me by email was just
1823         a kludge to download StarOffice from Sun made necessary due to
1824         wget's unconditional escaping of certain characters (room for an
1825         option there?).
1826         (http_loop): Heiko introduced "suggest explicit braces to avoid
1827         ambiguous `else'" warnings.  Eliminated them.
1828         
1829         * main.c: Heiko's --wait / --waitretry backwards compatibility
1830         code looks to have been totally untested -- automatic variable
1831         'wr' was used without being initialized, and a long int was passed
1832         into setval()'s char* val parameter.
1833         
1834         * recur.c (parse_robots): Applied Edward J. Sabol
1835         <sabol@alderaan.gsfc.nasa.gov>'s patch for Guan Yang's reported
1836         problem with "User-agent:<space>*<space>" lines in robots.txt.
1837         
1838         * url.c (parseurl, str_url): Removing Dan Berger's code (see
1839         http.c above for explanation).
1840         
1841 1999-08-25  Heiko Herold  <Heiko.Herold@previnet.it>
1842
1843         * ftp.c: Respect new option waitretry.
1844
1845 2000-01-30  Damir Dzeko  <ddzeko@zesoi.fer.hr>
1846
1847         * http.c (gethttp): Send custom Referer, if required.
1848
1849 1999-09-24  Charles G Waldman  <cgw@fnal.gov>
1850
1851         * netrc.c (parse_netrc): Allow passwords to contain spaces.
1852
1853         * netrc.c (parse_netrc): New function.
1854
1855 1999-09-17  Dan Berger  <dberger@ix.netcom.com>
1856
1857         * http.c (gethttp): Send it.
1858
1859         * url.c (parseurl): Detect query string in HTTP URL-s.
1860         (str_url): Print it.
1861
1862 2000-03-02  HIROSE Masaaki  <hirose31@t3.rim.or.jp>
1863
1864         * html.c (html_allow): Add <link href=...> and <script src=...>.
1865
1866 1999-05-02  andrew deryabin  <djsf@softhome.net>
1867
1868         * http.c (gethttp): Specify port in `Host' header only if it's
1869         different from 80.
1870
1871 1998-11-03  Edward J. Sabol  <sabol@alderaan.gsfc.nasa.gov>
1872
1873         * recur.c (recursive_retrieve): If a finite maximum depth is
1874         specified, and we're are already at that depth, don't download the
1875         HTML file for parsing.
1876
1877 2000-03-01  Dan Harkless  <wget@harkless.org>
1878
1879         * ftp.c (ftp_loop_internal): Call new downloaded_file() function,
1880         even though we don't do conversion on HTML files retrieved via
1881         FTP, so _current_ usage of downloaded_file() makes this call unneeded. 
1882         (ftp_retrieve_list): Added a comment saying where we need to
1883         stat() a .orig file if FTP'd HTML file conversion is ever implemented.
1884         (ftp_retrieve_list): "Local file '%s' is more recent," is sometimes
1885         a lie -- reworded as "Server file no newer than local file '%s' --".
1886         
1887         * http.c (http_loop): Fixed a typo and clarified a comment.
1888         (http_loop): When -K and -N are specified together, compare size
1889         and timestamp of server file X against local file X.orig (if
1890         extant) rather than converted local file X.
1891         (http_loop): "Local file '%s' is more recent," is sometimes a lie
1892         -- reworded as "Server file no newer than local file '%s' --".
1893         (http_loop): Call new downloaded_file() function to prevent
1894         wrongful overwriting of .orig file when -N is specified.
1895         
1896         * url.c (convert_links): When -K specified, only rename X to
1897         X.orig if downloaded_file() returns TRUE.  Otherwise when we skip
1898         file X due to -N, we clobber an X.orig from a previous invocation.
1899         (convert_links): Call the failsafe xstrdup(), not the real strdup().
1900         (convert_links): Added a note asking anyone who understands how
1901         multiple URLs can correspond to a single file to comment it.
1902         (downloaded_file): Added this new function.
1903         
1904         * url.h (downloaded_file): Added prototype for this new function
1905         as well as its downloaded_file_t enum type.
1906
1907         * wget.h (boolean): Added this new typedef and TRUE and FALSE #defines.
1908
1909 2000-02-29  Dan Harkless  <wget@harkless.org>
1910
1911         * version.c: Upped version to developer-only "1.5.3+dev".
1912
1913 2000-02-18  Dan Harkless  <wget@harkless.org>
1914
1915         * init.c (backup_converted): Added this new option.
1916
1917         * main.c (-K / --backup-converted): Added this new option.
1918
1919         * options.h (backup_converted): Added this new option.
1920
1921         * url.c (convert_links): When backup_converted is specified, save
1922         file X as X.orig before converting.
1923
1924         * url.h (urlpos): Fixed typo -- said "Rekative" instead of "Relative".
1925
1926 1998-09-21  Hrvoje Niksic  <hniksic@srce.hr>
1927
1928         * version.c: Wget 1.5.3 is released.
1929
1930 1998-09-21  Hrvoje Niksic  <hniksic@srce.hr>
1931
1932         * host.c (ftp_getaddress): Don't warn when reverse-lookup of local 
1933         address doesn't yield FQDN.
1934
1935 1998-09-21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1936
1937         * cmpt.c (strerror): Fix declaration of sys_errlist.
1938
1939 1998-09-11  Hrvoje Niksic  <hniksic@srce.hr>
1940
1941         * main.c (main): Don't use an array subscript as the first
1942         argument to STRDUP_ALLOCA.
1943         From Kaveh R. Ghazi.
1944
1945 1998-09-11  Szakacsits Szabolcs  <szaka@sienet.hu>
1946
1947         * html.c (htmlfindurl): Download table background.
1948
1949 1998-09-11  Hans Grobler  <grobh@conde.ee.sun.ac.za>
1950
1951         * init.c (parse_line): Would free *com before allocating it.
1952         (parse_line): Would free com instead of *com.
1953
1954 1998-09-10  Howard Gayle  <howard@fjst.com>
1955
1956         * url.c (get_urls_html): Would drop the last character of the
1957         link.
1958
1959 1998-09-10  Hrvoje Niksic  <hniksic@srce.hr>
1960
1961         * http.c (http_loop): Don't print status code if quiet.
1962
1963 1998-09-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1964
1965         * log.c: Use <stdarg.h> only when __STDC__.
1966
1967 1998-09-10  Adam D. Moss  <adam@foxbox.org>
1968
1969         * html.c (htmlfindurl): Download <layer src=...>.
1970
1971 1998-09-10  Howard Gayle  <howard@fjst.com>
1972
1973         * ftp.c (ftp_retrieve_list): Don't update the time stamp of a file 
1974         not retrieved.
1975
1976 1998-06-27  Hrvoje Niksic  <hniksic@srce.hr>
1977
1978         * utils.c: Include <libc.h> on NeXT.
1979
1980 1998-06-26  Heinz Salzmann  <heinz.salzmann@intermetall.de>
1981
1982         * url.c (get_urls_html): Fix calculation of URL position.
1983
1984 1998-06-23  Hrvoje Niksic  <hniksic@srce.hr>
1985
1986         * version.c: Wget 1.5.2 is released.
1987
1988 1998-06-23  Dave Love  <d.love@dl.ac.uk>
1989
1990         * ftp.c, init.c, netrc.c: Include errno.h.
1991
1992         * http.c: Include errno.h and time header.
1993
1994         * Makefile.in (exext): Define.
1995         (install.bin, uninstall.bin): Use it.
1996
1997 1998-06-21  Hrvoje Niksic  <hniksic@srce.hr>
1998
1999         * http.c (http_loop): Don't attempt to compare local and remote
2000         sizes if the remote size is unknown.
2001
2002 1998-06-16  Hrvoje Niksic  <hniksic@srce.hr>
2003
2004         * url.c (get_urls_html): Use malloc() instead of alloca in the
2005         loop.
2006
2007 1998-06-13  Hrvoje Niksic  <hniksic@srce.hr>
2008
2009         * version.c: Wget 1.5.2-b4 is released.
2010
2011 1998-06-13  Hrvoje Niksic  <hniksic@srce.hr>
2012
2013         * url.c (get_urls_html): Ignore spaces before and after the URI.
2014
2015 1998-06-08  Wanderlei Antonio Cavassin  <cavassin@conectiva.com.br>
2016
2017         * ftp.c (getftp): Translate `done'.
2018
2019 1998-06-06  Hrvoje Niksic  <hniksic@srce.hr>
2020
2021         * version.c: Wget 1.5.2-b3 is released.
2022
2023 1998-06-06  Alexander Kourakos  <awk@bnt.com>
2024
2025         * init.c (cleanup): Close dfp, don't free it.
2026
2027 1998-06-06  Hrvoje Niksic  <hniksic@srce.hr>
2028
2029         * utils.c (make_directory): Twiddle.
2030
2031         * config.h.in: Added template for access().
2032
2033 1998-06-05  Mathieu Guillaume  <mat@cythere.com>
2034
2035         * html.c (htmlfindurl): Download <input src=...>
2036
2037 1998-06-03  Hrvoje Niksic  <hniksic@srce.hr>
2038
2039         * utils.c (file_exists_p): Use access() with two arguments.
2040
2041 1998-05-27  Martin Kraemer  <Martin.Kraemer@mch.sni.de>
2042
2043         * netrc.c (parse_netrc): Correct logic.
2044
2045 1998-05-27  Hrvoje Niksic  <hniksic@srce.hr>
2046
2047         * ftp.c (getftp): Added `break'; suggested by Lin Zhe Min
2048         <ljm@ljm.wownet.net>.
2049
2050 1998-05-24  Hrvoje Niksic  <hniksic@srce.hr>
2051
2052         * version.c: Wget 1.5.2-b2 is released.
2053
2054 1998-05-18  Juan Jose Rodriguez  <jcnsoft@jal1.telmex.net.mx>
2055
2056         * mswindows.h: Don't translate mkdir to _mkdir under Borland.
2057
2058 1998-05-17  Hrvoje Niksic  <hniksic@srce.hr>
2059
2060         * retr.c (elapsed_time): Return correct value when
2061         HAVE_GETTIMEOFDAY is undefined.
2062
2063 1998-05-13  Hrvoje Niksic  <hniksic@srce.hr>
2064
2065         * version.c: Wget 1.5.2-b1 is released.
2066
2067 1998-05-08  Hrvoje Niksic  <hniksic@srce.hr>
2068
2069         * getopt.c (_getopt_internal): Use exec_name instead of argv[0].
2070         (_getopt_internal): Don't translate `#if 0'-ed strings.
2071
2072 1998-05-06  Douglas E. Wegscheid  <wegscd@whirlpool.com>
2073
2074         * mswindows.c (ws_handler): Use fork_to_background().
2075
2076 1998-05-05  Hrvoje Niksic  <hniksic@srce.hr>
2077
2078         * version.c: Wget 1.5.1 is released.
2079
2080 1998-05-05  Hrvoje Niksic  <hniksic@srce.hr>
2081
2082         * http.c (parse_http_status_line): Avoid `minor' and `major'
2083         names.
2084
2085 1998-05-02  Hrvoje Niksic  <hniksic@srce.hr>
2086
2087         * utils.c (mkdirhier): Renamed to make_directory.
2088
2089 1998-05-01  Hrvoje Niksic  <hniksic@srce.hr>
2090
2091         * mswindows.c (fork_to_background): Define under Windows.
2092
2093         * utils.c (fork_to_background): New function.
2094
2095         * html.c (htmlfindurl): Removed rerdundant casts.
2096
2097 1998-05-01  Douglas E. Wegscheid  <wegscd@whirlpool.com>
2098
2099         * mswindows.c (ws_mypath): Cache the path.
2100
2101 1998-04-30  Douglas E. Wegscheid  <wegscd@whirlpool.com>
2102
2103         * ftp.h: Prefix enum ftype members with FT_.
2104
2105         * ftp-ls.c, ftp.c, html.h: Adjust accordingly.
2106
2107         * mswindows.h: Use stat under Borland, _stat under MSVC.
2108
2109 1998-04-28  Hrvoje Niksic  <hniksic@srce.hr>
2110
2111         * http.c (known_authentication_scheme_p): New function.
2112         (gethttp): Handle authorization more correctly.
2113
2114         * ftp-basic.h: Removed.
2115
2116         * cmpt.h: Removed.
2117
2118         * utils.c: Include <unistd.h> before <pwd.h>; needed under SunOS
2119         with gcc 2.8.
2120         (numdigit): Use `while' loop.
2121
2122         * http.c (create_authorization_line): Detect authentication
2123         schemes case-insensitively.
2124
2125         * http.c (extract_header_attr): Use strdupdelim().
2126         (digest_authentication_encode): Move declaration of local
2127         variables to smaller scope.
2128         (digest_authentication_encode): Reset REALM, OPAQUE and NONCE.
2129         (create_authorization_line): Detect authentication schemes
2130         case-insensitively.
2131
2132         * utils.c (touch): Constify.
2133
2134         * http.c (gethttp): Report a nicer error when no data is received.
2135
2136         * rbuf.h (RBUF_READCHAR): Ditto.
2137
2138         * ftp-basic.c (ftp_response): Use sizeof.
2139
2140 1998-04-27  Hrvoje Niksic  <hniksic@srce.hr>
2141
2142         * retr.c (print_percentage): EXPECTED is long, not int.
2143         (print_percentage): Use floating-point arithmetic to avoid
2144         overflow with large files' sizes multiplied with 100.
2145
2146 1998-04-27  Gregor Hoffleit  <flight@mathi.uni-heidelberg.de>
2147
2148         * config.h.in: Added pid_t stub.
2149
2150         * sysdep.h (S_ISREG): Moved here from mswindows.h (NeXT doesn't
2151         define it).
2152
2153 1998-04-20  Hrvoje Niksic  <hniksic@srce.hr>
2154
2155         * version.c: Wget 1.5.0 is released.
2156
2157 1998-04-18  Hrvoje Niksic  <hniksic@srce.hr>
2158
2159         * url.c (str_url): Ditto.
2160
2161         * ftp-basic.c (ftp_rest): Use new name.
2162
2163         * utils.c (long_to_string): Renamed from prnum().
2164
2165 1998-04-16  Hrvoje Niksic  <hniksic@srce.hr>
2166
2167         * version.c: Wget 1.5-b17 is released.
2168
2169 1998-04-08  Hrvoje Niksic  <hniksic@srce.hr>
2170
2171         * headers.c (header_get): New argument FLAGS.
2172
2173         * http.c (gethttp): If request is malformed, bail out of the
2174         header loop.
2175         (gethttp): Check for empty header *after* the status line checks.
2176         (gethttp): Disallow continuations for status line.
2177
2178 1998-04-08  Hrvoje Niksic  <hniksic@srce.hr>
2179
2180         * version.c: Wget 1.5-b16 is released.
2181
2182 1998-04-08  Hrvoje Niksic  <hniksic@srce.hr>
2183
2184         * init.c (commands): Renamed `always_rest' to `continue'.
2185
2186 1998-04-05  Hrvoje Niksic  <hniksic@srce.hr>
2187
2188         * all: Use it.
2189
2190         * log.c (logputs): New argument.
2191         (logvprintf): Ditto.
2192         (logprintf): Ditto.
2193
2194 1998-04-04  Hrvoje Niksic  <hniksic@srce.hr>
2195
2196         * http.c (http_atotm): Update comment.
2197
2198         * main.c (i18n_initialize): Set LC_MESSAGES, not LC_ALL.
2199
2200         * wget.h: Renamed ENABLED_NLS to HAVE_NLS.
2201
2202         * main.c (i18n_initialize): New function.
2203         (main): Use it.
2204
2205         * log.c: Include <unistd.h>.
2206
2207         * retr.c (show_progress): Cast alloca to char *.
2208
2209 1998-04-04  Hrvoje Niksic  <hniksic@srce.hr>
2210
2211         * version.c: Wget 1.5-b15 is released.
2212
2213 1998-04-04  Hrvoje Niksic  <hniksic@srce.hr>
2214
2215         * utils.h: Declare file_non_directory_p().
2216
2217 1998-04-03  Hrvoje Niksic  <hniksic@srce.hr>
2218
2219         * main.c (main): It's `tries', not `numtries' now.
2220
2221 1998-04-01  Hrvoje Niksic  <hniksic@srce.hr>
2222
2223         * init.c (getperms): Removed.
2224
2225 1998-04-01  Tim Charron  <tcharron@interlog.com>
2226
2227         * log.c (logvprintf): Don't use ARGS twice.
2228
2229 1998-04-01  John  <john@futuresguide.com>
2230
2231         * mswindows.c: Cleaned up.
2232
2233 1998-04-01  Hrvoje Niksic  <hniksic@srce.hr>
2234
2235         * version.c: Wget 1.5-b14 is released.
2236
2237 1998-04-01  Hrvoje Niksic  <hniksic@srce.hr>
2238
2239         * ftp-opie.c (STRLEN4): New macro.
2240         (btoe): Use it.
2241
2242 1998-04-01  Junio Hamano  <junio@twinsun.com>
2243
2244         * http.c: Document all the Digest functions.
2245
2246 1998-04-01  Hrvoje Niksic  <hniksic@srce.hr>
2247
2248         * utils.c (file_non_directory_p): Renamed from isfile().
2249
2250         * mswindows.h (S_ISREG): New macro, suggested by Tim Adam.
2251
2252 1998-03-31  Hrvoje Niksic  <hniksic@srce.hr>
2253
2254         * utils.c (mkdirhier): Use 0777 instead of opt.dirmode.
2255
2256         * init.c (cmd_spec_dotstyle): Use 48 dots per line for binary
2257         style.
2258         (cmd_permissions): Removed.
2259
2260         * config.h.in: Add template for WORDS_BIGENDIAN.
2261
2262 1998-03-31  Junio Hamano  <junio@twinsun.com>
2263
2264         * http.c (HEXD2asc): New macro.
2265         (dump_hash): Use it.
2266
2267 1998-03-31  Hrvoje Niksic  <hniksic@srce.hr>
2268
2269         * version.c: Wget 1.5-b13 is released.
2270
2271 1998-03-31  Hrvoje Niksic  <hniksic@srce.hr>
2272
2273         * main.c (main): Don't try to use `com'.
2274
2275 1998-03-30  Hrvoje Niksic  <hniksic@srce.hr>
2276
2277         * init.c (cmd_permissions): New function.
2278
2279 1998-03-30  Hrvoje Niksic  <hniksic@srce.hr>
2280
2281         * version.c: Wget 1.5-b12 is released.
2282
2283 1998-03-30  Hrvoje Niksic  <hniksic@srce.hr>
2284
2285         * init.c (commands): Renamed `numtries' to `tries'.
2286         (cmd_spec_debug): Removed.
2287         (home_dir): Under Windows, return `C:\' if HOME is undefined.
2288
2289 1998-03-29  Hrvoje Niksic  <hniksic@srce.hr>
2290
2291         * config.h.in: Define _XOPEN_SOURCE.
2292
2293         * init.c (check_user_specified_header): New function.
2294         (cmd_spec_header): Use it.
2295         (cmd_spec_useragent): New function.
2296
2297 1998-03-29  Hrvoje Niksic  <hniksic@srce.hr>
2298
2299         * version.c: Wget 1.5-b11 is released.
2300
2301 1998-03-28  Hrvoje Niksic  <hniksic@srce.hr>
2302
2303         * wget.h: Include <libintl.h> only if NLS is enabled.
2304
2305 1998-03-26  Hrvoje Niksic  <hniksic@srce.hr>
2306
2307         * options.h (struct options): Made `wait' a long.
2308         (struct options): Ditto for `timeout'.
2309
2310 1998-03-19  Hrvoje Niksic  <hniksic@srce.hr>
2311
2312         * utils.c (exists): Renamed to file_exists_p.
2313         (file_exists_p): Use access() if available.
2314
2315 1998-03-17  Hrvoje Niksic  <hniksic@srce.hr>
2316
2317         * utils.c (memfatal): Set save_log_p to 0 to avoid potential
2318         infloop.
2319
2320         * log.c: do_logging -> save_log_p.
2321
2322         * config.h.in: Added template for HAVE_VSNPRINTF.
2323
2324 1998-03-16  Hrvoje Niksic  <hniksic@srce.hr>
2325
2326         * init.c: Ditto.
2327
2328         * http.c: Protect declaration against non-ANSI compiler.
2329
2330         * log.c (logvprintf): Use vsnprintf() if available.
2331
2332         * getopt.c (main): Don't translate test stuff.
2333
2334 1998-03-16  Hrvoje Niksic  <hniksic@srce.hr>
2335
2336         * version.c: Wget 1.5-b10 is released.
2337
2338 1998-03-11  Hrvoje Niksic  <hniksic@srce.hr>
2339
2340         * ftp.c (getftp): Don't translate "CWD %s".
2341
2342         * wget.h (GCC_FORMAT_ATTR): Renamed from FORMAT_ATTR.
2343
2344 1998-03-07  Hrvoje Niksic  <hniksic@srce.hr>
2345
2346         * ftp-opie.c (btoe): Use memcpy() instead of strncat().
2347
2348         * log.c (logputs): New function.
2349         (logvprintf): Renamed from vlogmsg; use logputs().
2350
2351         * retr.c (show_progress): Print `[100%]' when the retrieval is
2352         finished.
2353
2354         * init.c (run_wgetrc): Use FILE, not PATH.
2355         (wgetrc_file_name): Ditto.
2356
2357 1998-03-07  Tim Adam  <tma@osa.com.au>
2358
2359         * recur.c (parse_robots): Correctly reset `entries' on empty
2360         disallow.
2361
2362 1998-03-07  Hrvoje Niksic  <hniksic@srce.hr>
2363
2364         * init.c (cmd_spec_debug): Use cmd_boolean().
2365
2366 1998-02-23  Hrvoje Niksic  <hniksic@srce.hr>
2367
2368         * http.c (gethttp): Create proxy-authorization correctly.
2369
2370 1998-02-22  Hrvoje Niksic  <hniksic@srce.hr>
2371
2372         * md5.c: Ditto.
2373
2374         * getopt.c: Use ANSI function definitions.
2375
2376         * ftp-opie.c: New file.
2377
2378         * options.h: Don't redefine EXTERN.
2379
2380         * init.c: Sort it correctly.
2381
2382 1998-02-22  Hrvoje Niksic  <hniksic@srce.hr>
2383
2384         * version.c: Wget 1.5-b9 is released.
2385
2386 1998-02-22  Hrvoje Niksic  <hniksic@srce.hr>
2387
2388         * recur.c (recursive_retrieve): Reset `first_time'.
2389
2390         * ftp.c (getftp): Added `default' clause to switches of uerr_t.
2391
2392         * rbuf.c (rbuf_peek): Simplified.
2393         (rbuf_flush): Use MINVAL.
2394
2395         * wget.h (MINVAL): Moved from url.h.
2396
2397         * rbuf.h (RBUF_FD): New macro.
2398
2399         * url.c (add_url): Add to the head of the list.
2400
2401         * ftp.c (ftp_retrieve_list): Set the permissions to downloaded
2402         file.
2403         (getftp): Set the default permissions to 0600.
2404
2405 1998-02-21  Hrvoje Niksic  <hniksic@srce.hr>
2406
2407         * url.c (get_urls_html): Ditto.
2408         (convert_links): Ditto.
2409
2410         * recur.c (parse_robots): Ditto.
2411
2412         * html.c (ftp_index): Ditto.
2413
2414         * ftp-ls.c (ftp_parse_unix_ls): Open file as binary.
2415
2416         * init.c (defaults): Initialize `opt' to zero via memset.
2417
2418         * http.c (digest_authentication_encode): goto considered harmful.
2419
2420 1998-02-19  Hrvoje Niksic  <hniksic@srce.hr>
2421
2422         * ftp.c (delelement): Simplify and fix leak.
2423
2424 1998-02-18  Hrvoje Niksic  <hniksic@srce.hr>
2425
2426         * http.c (dump_hash): Use HEXD2ASC instead of home-grown stuff.
2427
2428         * url.h (HEXD2ASC): Removed warning.
2429
2430         * init.c (comind): Use binary search.
2431         (commands): Reorganized.
2432         (setval): Ditto.
2433         (cmd_boolean): New function.
2434         (cmd_number): Ditto.
2435         (cmd_number_inf): Ditto.
2436         (cmd_string): Ditto.
2437         (cmd_vector): Ditto.
2438         (cmd_directory_vector): Ditto.
2439         (cmd_bytes): Ditto.
2440         (cmd_time): Ditto.
2441         (cmd_spec_debug): Ditto.
2442         (cmd_spec_dirmode): Ditto.
2443         (cmd_spec_dirstruct): Ditto.
2444         (cmd_spec_dotstyle): Ditto.
2445         (cmd_spec_header): Ditto.
2446         (cmd_spec_htmlify): Ditto.
2447         (cmd_spec_mirror): Ditto.
2448         (cmd_spec_outputdocument): Ditto.
2449         (cmd_spec_recursive): Ditto.
2450         (settime): Merged with cmd_time().
2451         (setbytes): Merged with cmd_bytes().
2452         (setonoff): Merged with cmd_boolean().
2453         (onoff): Ditto.
2454
2455 1998-02-17  Hrvoje Niksic  <hniksic@srce.hr>
2456
2457         * Makefile.in (distclean): Remove `config.h'.
2458
2459 1998-02-17  Hrvoje Niksic  <hniksic@srce.hr>
2460
2461         * version.c: Wget 1.5-b8 is released.
2462
2463 1998-02-17  Hrvoje Niksic  <hniksic@srce.hr>
2464
2465         * http.c (digest_authentication_encode): New function.
2466         (create_authorization_line): Use it.
2467         (dump_hash): New function.
2468         (digest_authentication_encode): Use it.
2469
2470         * fnmatch.c: Renamed from `mtch.c'.
2471
2472 1998-02-15  Karl Eichwalder  <ke@suse.de>
2473
2474         * main.c (main): Tag "Written by..." string as translatable.
2475
2476 1998-02-15  Hrvoje Niksic  <hniksic@srce.hr>
2477
2478         * wget.h (FREE_MAYBE): New macro.
2479
2480         * http.c (create_authorization_line): Don't use ANSI C string
2481         concatenation feature.
2482         (basic_authentication_encode): Use alloca() for temporary
2483         variables.
2484
2485         * recur.h: Ditto.
2486
2487         * http.c: Ditto.
2488
2489         * headers.h: Ditto.
2490
2491         * ftp-basic.c: Protect declaration against non-ANSI compiler.
2492
2493         * http.c (create_authorization_line): Cast `unsigned char *' to
2494         `char *' for sprintf, to shut up the noisy Digital Unix cc.
2495
2496 1998-02-15  Hrvoje Niksic  <hniksic@srce.hr>
2497
2498         * version.c: Wget 1.5-b7 is released.
2499
2500 1998-02-15  Hrvoje Niksic  <hniksic@srce.hr>
2501
2502         * cmpt.c (strstr): Synched with glibc-2.0.6.
2503
2504         * ftp-basic.c (calculate_skey_response): Ditto.
2505         (calculate_skey_response): Use alloca().
2506
2507         * http.c (create_authorization_line): Work with FSF's version of
2508         md5.c.
2509
2510         * md5.c: New file, from GNU libc.
2511
2512 1998-02-14  Hrvoje Niksic  <hniksic@srce.hr>
2513
2514         * url.h (URL_CLEANSE): Name the temporary variable more carefully.
2515
2516 1998-02-13  Hrvoje Niksic  <hniksic@srce.hr>
2517
2518         * http.c (basic_authentication_encode): New function, instead of
2519         the macro.
2520
2521 1998-02-13  Junio Hamano  <junio@twinsun.com>
2522
2523         * http.c: Add HTTP-DA support.
2524         * ftp-basic.c: Add Opie/S-key support.
2525         * config.h.in, Makefile.in: Add HTTP-DA and Opie/S-key support.
2526         * md5.c, md5.h: New files.
2527
2528 1998-02-13  Hrvoje Niksic  <hniksic@srce.hr>
2529
2530         * http.c (http_process_range): Renamed from hprocrange().
2531         (http_process_range): Parse the whole header.
2532
2533         * headers.c: New file.
2534         (header_process): New function.
2535         (header_get): Renamed from fetch_next_header.
2536
2537         * all: Include utils.h only where necessary.
2538
2539         * wget.h: Declare xmalloc(), xrealloc() and xstrdup() here.
2540
2541         * wget.h: Add provisions for dmalloc.
2542
2543 1998-02-12  Hrvoje Niksic  <hniksic@srce.hr>
2544
2545         * version.c: Wget 1.5-b6 is released.
2546
2547 1998-02-12  Hrvoje Niksic  <hniksic@srce.hr>
2548
2549         * ftp.c (ftp_loop): Determine `filename' more precisely.
2550
2551         * init.c (setval): Don't set `opt.quiet' if output-document is
2552         `-'.
2553
2554         * log.c (log_init): Print to STDERR instead of STDOUT.
2555         (vlogmsg): Use STDERR by default.
2556         (logflush): Ditto.
2557
2558 1998-02-11  Simon Josefsson  <jas@pdc.kth.se>
2559
2560         * host.c: Use addr_in again.
2561
2562 1998-02-08  Karl Eichwalder  <karl@suse.de>
2563
2564         * http.c (gethttp): Fixed typo.
2565
2566 1998-02-08  Hrvoje Niksic  <hniksic@srce.hr>
2567
2568         * version.c: Wget 1.5-b5 is released.
2569
2570 1998-02-08  Hrvoje Niksic  <hniksic@srce.hr>
2571
2572         * retr.c (show_progress): Use it.
2573
2574         * log.c (logflush): New function.
2575
2576         * wget.h: Utilize __attribute__ if on gcc.
2577
2578 1998-02-07  Hrvoje Niksic  <hniksic@srce.hr>
2579
2580         * http.c (base64_encode_line): New argument LENGTH.
2581         (BASIC_AUTHENTICATION_ENCODE): Use it.
2582         (BASIC_AUTHENTICATION_ENCODE): Take length of HEADER into account.
2583
2584         * main.c (main): Fixed fprintf() format mismatch.
2585
2586 1998-02-06  Hrvoje Niksic  <hniksic@srce.hr>
2587
2588         * version.c: Wget 1.5-b4 is released.
2589
2590 1998-02-03  Simon Josefsson  <jas@pdc.kth.se>
2591
2592         * host.c: use sockaddr_in instead of addr_in.
2593
2594 1998-02-04  Hrvoje Niksic  <hniksic@srce.hr>
2595
2596         * init.c (cleanup): Use it.
2597
2598         * recur.c (recursive_cleanup): New function.
2599
2600         * retr.c (retrieve_from_file): Ditto.
2601
2602         * main.c (main): Use it.
2603
2604         * recur.c (recursive_reset): New function.
2605
2606         * retr.c (retrieve_from_file): Ditto.
2607
2608         * main.c (main): Simplify call to recursive_retrieve().
2609
2610         * recur.c (recursive_retrieve): Removed FLAGS argument.
2611
2612         * http.c (gethttp): Changed call to iwrite().
2613
2614 1998-02-03  Hrvoje Niksic  <hniksic@srce.hr>
2615
2616         * url.c (get_urls_html): Ditto.
2617         (free_urlpos): Ditto.
2618         (mkstruct): Ditto.
2619         (construct): Ditto.
2620
2621         * retr.c (retrieve_url): Move declaration of local variables to
2622         smaller scope.
2623
2624         * url.c (urlproto): Use it.
2625         (parseurl): Ditto.
2626         (str_url): Ditto.
2627         (get_urls_html): Ditto.
2628
2629         * utils.h (ARRAY_SIZE): New macro.
2630
2631         * url.c (proto): Moved from url.h.
2632
2633         * url.h (URL_CLEANSE): Reformatted.
2634         (USE_PROXY_P): Renamed from USE_PROXY.
2635
2636         * ftp-basic.c: Adjust to the new interface of iwrite().
2637
2638         * ftp-basic.c (ftp_port): Use alloca().
2639
2640 1998-02-03  Hrvoje Niksic  <hniksic@srce.hr>
2641
2642         * version.c: Wget 1.5-b3 is released.
2643
2644         * host.c (ftp_getaddress): Don't print to stderr directly.
2645
2646         * init.c (setbytes): Support `g' for gigabytes.
2647         (cmdtype): New specification CTIME.
2648         (setval): Use it with settime().
2649         (commands): Use it for WAIT and TIMEOUT.
2650
2651 1998-02-02  Hrvoje Niksic  <hniksic@srce.hr>
2652
2653         * http.c (BASIC_AUTHENTICATION_ENCODE): New macro.
2654         (gethttp): Use it.
2655
2656         * utils.c (unique_name_1): Moved from url.c.
2657         (unique_name): Ditto.
2658
2659         * url.c (url_filename): Ditto.
2660
2661         * log.c (redirect_output): Changed call to unique_name().
2662
2663         * url.c (unique_name_1): Renamed from unique_name().
2664         (unique_name): Changed interface.
2665
2666         * init.c (enum cmdid): Moved from init.h.
2667         (cmdtype): Ditto.
2668         (struct cmd): Ditto.
2669
2670         * main.c (main): Use it.
2671         (main): Moved `--backups' to not have a short option.
2672
2673         * options.h (struct options): New member BACKGROUND.
2674
2675         * main.c (print_help): Rearranged.
2676         (main): New long options for -n* short options: --no-directories,
2677         --no-host-directories, --non-verbose, --no-host-lookup and
2678         --dont-remove-listing.
2679
2680 1998-02-01  Hrvoje Niksic  <hniksic@srce.hr>
2681
2682         * main.c (main): Use log_close().
2683
2684         * log.c: New variable LOGFP.
2685         (vlogmsg): Use it.
2686         (redirect_output): Don't open /dev/null; set LOGFP to stdin
2687         instead.
2688         (log_close): New function.
2689
2690         * options.h (struct options): Removed LFILE.
2691
2692         * log.c (log_enable): Removed.
2693
2694         * main.c (main): Use it.
2695
2696         * log.c (log_init): New function.
2697
2698         * url.c (get_urls_html): Removed needless assignment to BASE.
2699
2700         * host.c (add_hlist): Don't set CMP needlessly.
2701
2702         * utils.c (match_backwards): Ditto.
2703         (in_acclist): Ditto.
2704
2705         * url.c (findurl): Ditto.
2706
2707         * netrc.c (parse_netrc): Ditto.
2708
2709         * log.c (log_dump): Ditto.
2710
2711         * html.c (html_quote_string): Ditto.
2712
2713         * ftp-basic.c (ftp_request): Made static.
2714
2715         * connect.c: Made global variables static.
2716
2717         * url.c (construct): Ditto.
2718
2719         * init.c (init_path): Avoid assignment inside `if'-condition.
2720
2721         * ftp.c: Don't include in.h or winsock.h.
2722
2723         * ftp.c (ftp_loop): Use SZ.
2724
2725         * connect.c (bindport): Cast &addrlen to int *.
2726         (conaddr): Ditto.
2727
2728         * init.c (initialize): Don't use SYSTEM_WGETRC unconditionally.
2729
2730 1998-01-31  Hrvoje Niksic  <hniksic@srce.hr>
2731
2732         * ftp.c (getftp): Initialize opt.ftp_pass here.
2733         (ftp_retrieve_dirs): Use alloca().
2734
2735         * init.c (defaults): Don't initialize opt.ftp_pass.
2736
2737         * sysdep.h (S_ISLNK): Declare for OS/2; ditto for lstat.
2738         From Ivan F. Martinez <ivanfm@ecodigit.com.br>.
2739
2740 1998-01-31  Hrvoje Niksic  <hniksic@srce.hr>
2741
2742         * recur.c (parse_robots): Check for comments more correctly.
2743
2744         * host.c (ftp_getaddress): Use STRDUP_ALLOCA.
2745         (ftp_getaddress): Add diagnostics when reverse-lookup yields only
2746         hostname.
2747
2748 1998-01-31  Hrvoje Niksic  <hniksic@srce.hr>
2749
2750         * version.c: Wget 1.5-b2 is released.
2751
2752         * netrc.c (NETRC_FILE_NAME): Moved from netrc.h.
2753
2754         * utils.c (proclist): Pass FNM_PATHNAME to fnmatch().
2755
2756         * ftp-basic.c (ftp_pasv): Avoid unnecessary casting to unsigned
2757         char.
2758
2759         * log.c: Don't attempt to hide arguments from ansi2knr.
2760
2761         * cmpt.c: Synched strptime() and mktime() with glibc-2.0.6.
2762
2763         * ansi2knr.c: Use a later version, from fileutils-3.16l alpha.
2764
2765         * ftp.c (getftp): Ditto.
2766
2767         * http.c (gethttp): Use it.
2768
2769         * retr.c (get_contents): New argument EXPECTED; pass it to
2770         show_progress().
2771         (show_progress): New argument EXPECTED; use it to display
2772         percentages.
2773
2774         * init.c (setval): Ditto.
2775
2776         * http.c (gethttp): Ditto.
2777         (http_loop): Ditto.
2778
2779         * ftp.c (getftp): Ditto.
2780         (ftp_loop_internal): Ditto.
2781
2782         * ftp-ls.c (ftp_parse_unix_ls): Use abort() instead of assert(0).
2783
2784         * sysdep.h (CLOSE): Simplify; use DEBUGP.
2785
2786         * netrc.c (search_netrc): Use alloca().
2787
2788         * init.c (defaults): Initialize no_flush.
2789
2790         * log.c (vlogmsg): Don't flush if no_flush.
2791
2792         * options.h (struct options): New variable no_flush.
2793
2794         * main.c (main): Don't play games with buffering.
2795
2796         * log.c (vlogmsg): Flush the output after every message.
2797
2798 1998-01-31  Hrvoje Niksic  <hniksic@srce.hr>
2799
2800         * init.c (parse_line): Ditto.
2801
2802         * url.c (get_urls_html): Ditto.
2803
2804         * main.c (main): Don't cast to unsigned char.
2805
2806         * init.c (run_wgetrc): Don't cast to unsigned char.
2807         (parse_line): Accept char instead of unsigned char.
2808
2809         * html.c (htmlfindurl): Use char instead of unsigned char.
2810
2811         * all: Use them.
2812
2813         * sysdep.h: Add wrappers to ctype macros to make them
2814         eight-bit-clean:
2815
2816 1998-01-30  Hrvoje Niksic  <hniksic@srce.hr>
2817
2818         * html.c (htmlfindurl): Download <img lowsrc=...>
2819
2820         * main.c (main): Ignore SIGPIPE.
2821
2822         * connect.c (select_fd): New argument WRITEP.
2823         (iwrite): Call select_fd().
2824
2825 1997-02-27  Fila Kolodny <fila@ibi.com>
2826
2827         * ftp.c (ftp_retrieve_list): If retrieving symlink and the proper
2828         one already exists, just skip it.
2829
2830 1998-01-30  Hrvoje Niksic  <hniksic@srce.hr>
2831
2832         * http.c (gethttp): Cosmetic changes.
2833
2834         * http.c (check_end): Allow `+D...' instead of `GMT'.
2835         From Fabrizio Pollastri <pollastri@cstv.to.cnr.it>.
2836
2837         * url.c (process_ftp_type): New function.
2838         (parseurl): Use it.
2839
2840         * connect.c (iwrite): Allow writing in a few chunks.
2841         (bindport): Made SRV static, so addr can point to it.
2842         (select_fd): Removed HPUX kludge.
2843
2844         * host.c (free_hlist): Incorporated into clean_hosts().
2845
2846 1998-01-29  Hrvoje Niksic  <hniksic@srce.hr>
2847
2848         * host.c (hlist): Made static.
2849         (search_address): Cosmetic change.
2850
2851 1998-01-29  Hrvoje Niksic  <hniksic@srce.hr>
2852
2853         * version.c: Wget v1.5-b1 is released.
2854
2855         * http.c (hgetlen): Use sizeof() to get the header length.
2856         (hgetrange): Ditto.
2857         (hgettype): Ditto.
2858         (hgetlocation): Ditto.
2859         (hgetmodified): Ditto.
2860         (haccepts_none): Ditto.
2861
2862         * main.c (main): Updated `--version' and `--help' output, as per
2863         Francois Pinard's suggestions.
2864
2865         * main.c: Include locale.h; call setlocale(), bindtextdomain() and 
2866         textdomain().
2867
2868         * config.h.in: Define stubs for I18N3.
2869
2870         * wget.h: Include libintl.h.
2871
2872 1998-01-28  Hrvoje Niksic  <hniksic@srce.hr>
2873
2874         * url.c (mkstruct): Check for opt.cut_dirs.
2875         (mkstruct): alloca()-te more, xmalloc() less.
2876
2877         * utils.c (load_file): Check for ferror().
2878
2879         * url.c (get_urls_file): Close only the files we opened.
2880         (get_urls_html): Ditto.
2881         (count_slashes): New function.
2882
2883         * http.h: Removed.
2884
2885         * http.c (gethttp): Respect username and password provided by
2886         proxy URL.
2887         (base64_encode_line): Write into an existing buffer instead of
2888         malloc-ing a new one.
2889         (struct http_stat): Moved from http.h
2890
2891         * retr.c (retrieve_url): Free SUF.
2892
2893         * all: Removed lots of unnecessary .h dependencies.
2894
2895         * html.c (global_state): Made static.
2896
2897         * utils.h (ALLOCA_ARRAY): New macro.
2898
2899         * main.c (main): New option `--cut-dirs'.
2900
2901         * url.c (construct): Use alloca() for T.
2902
2903         * utils.c (mkdirhier): Use STRDUP_ALLOCA.
2904
2905         * host.c (_host_t): Moved from host.h.
2906         (struct host): Renamed from _host_t.
2907         (store_hostaddress): Use STRDUP_ALLOCA for INET_S.
2908         (realhost): Ditto.
2909
2910         * host.h: Don't include url.h.
2911
2912         * ftp.c (LIST_FILENAME): Moved from ftp.h.
2913
2914         * init.c (DEFAULT_FTP_ACCT): Moved from ftp.h.
2915
2916         * main.c (main): Enable log if the output goes to a TTY.
2917
2918         * connect.h: Removed unused constant `BACKLOG'.
2919
2920         * config.h.in: Check for isatty().
2921
2922         * Makefile.in (LINK): Use CFLAGS when linking.
2923
2924 1998-01-27  Hrvoje Niksic  <hniksic@srce.hr>
2925
2926         * mswindows.c (ws_hangup): Use redirect_output().
2927
2928         * main.c (redirect_output_signal): New function; use
2929         redirect_output().
2930
2931         * log.c (redirect_output): New function, based on hangup(), which
2932         is deleted.
2933
2934         * log.c (vlogmsg): New function.
2935
2936         * wget.h (DEBUGP): Use debug_logmsg().
2937
2938         * main.c (hangup): Use it.
2939
2940         * log.c (log_dump): New function.
2941
2942         * utils.h (DO_REALLOC): Use `long' for various sizes.
2943
2944         * http.c (hskip_lws): Use `while', for clarity.
2945         (HTTP_DYNAMIC_LINE_BUFFER): New constant.
2946         (fetch_next_header): Use it instead of DYNAMIC_LINE_BUFFER.
2947
2948         * ftp-basic.c (FTP_DYNAMIC_LINE_BUFFER): New constant.
2949         (ftp_response): Use it instead of DYNAMIC_LINE_BUFFER.
2950
2951         * utils.c (DYNAMIC_LINE_BUFFER): Moved from utils.c.
2952         (LEGIBLE_SEPARATOR): Ditto.
2953         (FILE_BUFFER_SIZE): Ditto.
2954
2955         * retr.c (BUFFER_SIZE): Moved from retr.h.
2956
2957         * log.c: New file.
2958         (logmsg): Moved from utils.c.
2959         (debug_logmsg): New function.
2960
2961         * mswindows.h: Include it here.
2962
2963         * init.c: Ditto.
2964
2965         * utils.c: Don't include <windows.h>.
2966
2967 1998-01-25  Hrvoje Niksic  <hniksic@srce.hr>
2968
2969         * host.c (ftp_getaddress): Ditto.
2970
2971         * main.c (main): Use it.
2972
2973         * utils.h (STRDUP_ALLOCA): New macro.
2974
2975         * init.c: Prepend `wget: ' to error messages printed on stderr.
2976
2977         * utils.c (mkdirhier): Renamed from mymkdir.
2978         (touch): Renamed from my_touch.
2979         (pwd_cuserid): Renamed from my_cuserid().
2980
2981 1998-01-24  Andy Eskilsson  <andy.eskilsson@telelogic.se>
2982
2983         * utils.c (accdir): Process wildcards.
2984         (proclist): New function.
2985         (accdir): Use it to avoid code repetition.
2986
2987 1998-01-24  Hrvoje Niksic  <hniksic@srce.hr>
2988
2989         * recur.c (parse_robots): Respect opt.useragent; use alloca().
2990
2991         * http.c (gethttp): Construct useragent accordingly.
2992
2993         * version.c: Changed version string to numbers-only.
2994
2995         * main.c (print_help): List all the options.
2996
2997         * mswindows.c (windows_main_junk): Initialize argv0 here.
2998
2999 1998-01-24  Karl Heuer  <kwzh@gnu.org>
3000
3001         * netrc.c (search_netrc): Initialize `l' only after processing
3002         netrc.
3003
3004         * main.c (main): Don't trap SIGHUP if it's being ignored.
3005
3006 1998-01-24  Hrvoje Niksic  <hniksic@srce.hr>
3007
3008         * all: Use logmsg().
3009
3010         * utils.c (time_str): Moved from retr.c.
3011         (logmsg): New function.
3012         (logmsg_noflush): Ditto.
3013
3014         * rbuf.c: New file, moved buf_* functions here.
3015
3016         * ftp.c (ftp_expected_bytes): Moved from ftp-basic.c.
3017
3018         * ftp-basic.c (ftp_rest): Use prnum().
3019
3020         * ftp-basic.c: Ditto.
3021
3022         * ftp.c: Use the new reading functions and macros.
3023
3024         * retr.c (buf_initialize): New function.
3025         (buf_initialized_p): Ditto.
3026         (buf_uninitialize): Ditto.
3027         (buf_fd): Ditto.
3028
3029         * http.c (fetch_next_header): Use the BUF_READCHAR macro for
3030         efficiency.
3031         (gethttp): Use alloca() where appropriate.
3032
3033         * retr.c (buf_readchar): Use it.
3034         (buf_peek): Use rstreams.
3035
3036         * retr.h (BUF_READCHAR): New macro.
3037
3038         * init.c (home_dir): Rewritten for clarity.
3039         (init_path): Ditto.
3040
3041         * mswindows.c (ws_backgnd): Made static.
3042         (read_registry): Ditto.
3043         (ws_cleanup): Ditto.
3044         (ws_handler): Ditto.
3045
3046 1998-01-23  Hrvoje Niksic  <hniksic@srce.hr>
3047
3048         * alloca.c: New file.
3049
3050         * Makefile.in (ALLOCA): Define.
3051
3052         * mswindows.c (ws_help): Constify.
3053         (ws_help): Use alloca.
3054
3055         * mswindows.c: Reformat.
3056
3057         * all: Added _(...) annotations for I18N snarfing and translation.
3058
3059         * host.c (ftp_getaddress): Nuke SYSINFO.
3060         (ftp_getaddress): Don't use getdomainname().
3061         (ftp_getaddress): Use uname(), where available.
3062
3063         * http.c (gethttp): Protect a stray fprintf().
3064
3065         * init.c (settime): New function.
3066         (setval): Treat WAIT specially, allowing suffixes like `m' for
3067         minutes, etc.
3068
3069 1998-01-21  Hrvoje Niksic  <hniksic@srce.hr>
3070
3071         * url.c (get_urls_html): Use alloca() for TEMP.
3072
3073 1998-01-21  Jordan Mendelson  <jordy@wserv.com>
3074
3075         * url.c (rotate_backups): New function.
3076
3077         * http.c (gethttp): Ditto.
3078
3079         * ftp.c (getftp): Rotate backups.
3080
3081 1997-12-18  Hrvoje Niksic  <hniksic@srce.hr>
3082
3083         * all: Renamed nmalloc(), nrealloc() and nstrdup() to xmalloc(),
3084         xrealloc() and xstrdup().  Use the new functions.
3085
3086         * url.c (decode_string): Made static.
3087         (has_proto): Ditto.
3088         (parse_dir): Ditto.
3089         (parse_uname): Ditto.
3090         (mkstruct): Ditto.
3091         (construct): Ditto.
3092         (construct_relative): Ditto.
3093
3094         * retr.c (show_progress): Made static.
3095
3096         * recur.c (robots_url): Made static.
3097         (retrieve_robots): Ditto.
3098         (parse_robots): Ditto.
3099         (robots_match): Ditto.
3100
3101         * main.h: Removed.
3102
3103         * main.c (printhelp): Made static.
3104         (hangup): Ditto.
3105
3106         * init.c (comind): Made static.
3107         (defaults): Ditto.
3108         (init_path): Ditto.
3109         (run_wgetrc): Ditto.
3110         (onoff): Ditto.
3111         (setonoff): Ditto.
3112         (setnum): Ditto.
3113         (myatoi): Ditto.
3114         (getperms): Ditto.
3115         (setbytes): Ditto.
3116
3117         * http.c (fetch_next_header): Made static.
3118         (hparsestatline): Ditto.
3119         (hskip_lws): Ditto.
3120         (hgetlen): Ditto.
3121         (hgetrange): Ditto.
3122         (hgettype): Ditto.
3123         (hgetlocation): Ditto.
3124         (hgetmodified): Ditto.
3125         (haccepts_none): Ditto.
3126         (gethttp): Ditto.
3127         (base64_encode_line): Ditto.
3128         (mktime_from_utc): Ditto.
3129         (http_atotm): Ditto.
3130
3131         * html.c (idmatch): Made static.
3132
3133         * host.c (search_host): Made static.
3134         (search_address): Ditto.
3135         (free_hlist): Ditto.
3136
3137         * ftp.c (getftp): Made static.
3138         (ftp_loop_internal): Ditto.
3139         (ftp_get_listing): Ditto.
3140         (ftp_retrieve_list): Ditto.
3141         (ftp_retrieve_dirs): Ditto.
3142         (ftp_retrieve_glob): Ditto.
3143         (freefileinfo): Ditto.
3144         (delelement): Ditto.
3145
3146         * ftp-ls.c (symperms): Made static.
3147         (ftp_parse_unix_ls): Ditto.
3148
3149         * connect.c (select_fd): Made static.
3150
3151         * utils.c (xmalloc): Renamed from nmalloc.
3152         (xrealloc): Renamed from nrealloc.
3153         (xstrdup): Renamed from nstrdup.
3154
3155         * getopt.c (exchange): Use alloca.
3156
3157         * mswindows.c (mycuserid): Use strncpy.
3158
3159         * New files mswindows.c, mswindows.h, sysdep.h.  winjunk.c,
3160         systhings.h, windecl.h and winjunk.h removed.
3161
3162         * mswindows.c (sleep): New function.
3163
3164         * utils.c: Include <windows.h> under Windows.
3165
3166 1997-06-12  Darko Budor  <dbudor@zesoi.fer.hr>
3167
3168         * url.h (URL_UNSAFE): Change default under Windows.
3169
3170         * retr.c (retrieve_from_file): Respect opt.delete_after.
3171
3172         * main.c (main): Call ws_help on Windows.
3173
3174         * winjunk.c (windows_main_junk): New function.
3175
3176         * main.c (main): Junk-process argv[0].
3177
3178         * http.c (mktime_from_utc): Return -1 if mktime failed.
3179
3180         * http.c (http_loop): Ditto.
3181
3182         * ftp.c (ftp_loop_internal): Change title on Windows when using a
3183         new URL.
3184
3185         * winjunk.c (getdomainname): Lots of functions.
3186
3187 1997-06-12  Hrvoje Niksic  <hniksic@srce.hr>
3188
3189         * cmpt.c (strptime_internal): Handle years more correctly for
3190         `%y'.
3191
3192 1997-06-09  Mike Thomas <mthomas@reality.ctron.com>
3193
3194         * http.c (gethttp): Allocate enough space for
3195         `Proxy-Authorization' header.
3196
3197 1997-05-10  Hrvoje Niksic  <hniksic@srce.hr>
3198
3199         * version.c: Wget/1.4.5 is released.
3200
3201 1997-05-10  Hrvoje Niksic  <hniksic@srce.hr>
3202
3203         * retr.c (get_contents): Check return value of fwrite more
3204         carefully.
3205
3206 1997-03-30  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3207
3208         * cmpt.c (strptime_internal) [case 'Y']: Always subtract 1900 from
3209         year, regardless of century.
3210
3211 1997-03-30  Hrvoje Niksic  <hniksic@srce.hr>
3212
3213         * utils.c (isfile): Use `lstat' instead of `stat'.
3214
3215 1997-03-29  Hrvoje Niksic  <hniksic@srce.hr>
3216
3217         * utils.c (numdigit): Use explicit test.
3218
3219 1997-03-21  Hrvoje Niksic  <hniksic@srce.hr>
3220
3221         * http.c (http_loop): Always use `url_filename' to get u->local.
3222
3223 1997-03-20  Hrvoje Niksic  <hniksic@srce.hr>
3224
3225         * url.c: Recognize https.
3226
3227 1997-03-13  Hrvoje Niksic  <hniksic@srce.hr>
3228
3229         * recur.c (recursive_retrieve): Lowercase just the host name.
3230
3231 1997-03-09  Hrvoje Niksic  <hniksic@srce.hr>
3232
3233         * url.c (get_urls_file): Use the correct test.
3234         (get_urls_html): Ditto.
3235
3236 1997-03-07  Hrvoje Niksic  <hniksic@srce.hr>
3237
3238         * connect.c: Reverted addrlen to int.
3239
3240         * init.c (parse_line): Check for -1 instead of NONE.
3241
3242         * version.c: Changed version to 1.4.5.
3243
3244 1997-02-17  Hrvoje Niksic  <hniksic@srce.hr>
3245
3246         * init.c: New option netrc.
3247         (initialize): Don't parse .netrc.
3248
3249         * cmpt.c (recursive): Return rp.
3250         (strptime_internal): Match the long strings first, the abbreviated
3251         second.
3252
3253 1997-02-16  Hrvoje Niksic  <hniksic@srce.hr>
3254
3255         * http.c (check_end): New function.
3256         (http_atotm): Use it.
3257  
3258 1997-02-13  gilles Cedoc  <gilles@cedocar.fr>
3259
3260         * http.c (gethttp): Use them.
3261
3262         * init.c: New options proxy_user and proxy_passwd.
3263
3264 1997-02-14  Hrvoje Niksic  <hniksic@srce.hr>
3265
3266         * ftp.c (ftp_retrieve_list): Create links even if not relative.
3267
3268 1997-02-10  Hrvoje Niksic  <hniksic@srce.hr>
3269
3270         * recur.c (recursive_retrieve): Lowercase the host name, if the
3271         URL is not "optimized".
3272
3273         * host.c (realhost): Return l->hostname, even if it matches with
3274         host.
3275
3276 1997-02-10  Marin Purgar  <pmc@asgard.hr>
3277
3278         * connect.c: Make addrlen size_t instead of int.
3279         (conaddr): Ditto.
3280
3281 1997-02-09  Gregor Hoffleit  <flight@mathi.uni-heidelberg.DE>
3282
3283         * systhings.h: Define S_ISLNK on NeXT too.
3284
3285 1997-02-09  Hrvoje Niksic  <hniksic@srce.hr>
3286
3287         * version.c: Released 1.4.3.
3288
3289         * url.c: Futher update to list of protostrings.
3290         (skip_proto): Skip `//' correctly for FTP and HTTP.
3291
3292         * url.c (get_urls_html): Handle bogus `http:' things a little
3293         different.
3294
3295         * main.c (main): Removed `follow-ftp' from `f'.
3296         (main): Dumped the `prefix-files' and `file-prefix' options and
3297         features; old and bogus.
3298         (main): Exit on failed setval() in `-e'.
3299
3300         * http.c (fetch_next_header): Use it to detect header continuation
3301         correctly.
3302
3303         * retr.c (buf_peek): New function.
3304
3305 1997-02-08  Hrvoje Niksic  <hniksic@srce.hr>
3306
3307         * wget.h: Include time.h and stuff.
3308
3309 1997-02-08  Roger Beeman  <beeman@cisco.com>
3310
3311         * ftp.c: Include <time.h>
3312
3313 1997-02-07  Hrvoje Niksic  <hniksic@srce.hr>
3314
3315         * url.c (findurl): Would read over buffer limits.
3316
3317 1997-02-06  Hrvoje Niksic  <hniksic@srce.hr>
3318
3319         * ftp-ls.c (ftp_parse_unix_ls): Allow spaces in file names.
3320
3321 1997-02-05  Hrvoje Niksic  <hniksic@srce.hr>
3322
3323         * http.c (http_atotm): Initialize tm.is_dst.
3324
3325 1997-02-02  Hrvoje Niksic  <hniksic@srce.hr>
3326
3327         * http.c (gethttp): Don't print the number of retrieved headers.
3328
3329         * main.c (main): New option `--no-clobber', alias for `-nc'.
3330
3331         * url.c: Recognize `https://'.
3332
3333 1997-02-01  Hrvoje Niksic  <hniksic@srce.hr>
3334
3335         * host.c (herrmsg): Don't use h_errno.
3336
3337 1997-01-30  Hrvoje Niksic  <hniksic@srce.hr>
3338
3339         * host.c (accept_domain): Use it.
3340
3341         * main.c (main): New option `--exclude-domains'.
3342
3343         * retr.c (retrieve_url): Use it.
3344         (retrieve_url): Bail out when an URL is redirecting to itself.
3345
3346         * url.c (url_equal): New function.
3347
3348 1997-01-29  Hrvoje Niksic  <hniksic@srce.hr>
3349
3350         * connect.c: Include arpa/inet.h instead of arpa/nameser.h.
3351
3352         * http.c (mk_utc_time): New function.
3353         (http_atotm): Use it; handle time zones correctly.
3354
3355 1997-01-28  Hrvoje Niksic  <hniksic@srce.hr>
3356
3357         * http.c: Ditto.
3358
3359         * ftp-basic.c: Use it instead of WRITE.
3360
3361         * connect.c (iwrite): New function.
3362
3363 1997-01-27  Hrvoje Niksic  <hniksic@srce.hr>
3364
3365         * cmpt.c (mktime): New function.
3366
3367         * netrc.c: Include <sys/types.h>.
3368
3369         * main.c (main): Wouldn't recognize --spider.
3370
3371         * retr.c (rate): Use `B', `KB' and `MB'.
3372         (reset_timer,elapsed_time): Moved from utils.c.
3373
3374         * ftp.c (ftp_retrieve_list): Ditto.
3375
3376         * http.c (http_loop): Don't touch the file if opt.dfp.
3377
3378 1997-01-24  Hrvoje Niksic  <hniksic@srce.hr>
3379
3380         * cmpt.c: New file.
3381
3382         * ftp.c (ftp_retrieve_glob): New argument semantics.
3383         (ftp_retrieve_dirs): Use it.
3384         (ftp_loop): Ditto.
3385
3386         * html.c (htmlfindurl): Recognize `'' as the quote char.
3387
3388 1997-01-23  Hrvoje Niksic  <hniksic@srce.hr>
3389
3390         * ftp.c (ftp_loop_internal): Use it.
3391
3392         * utils.c (remove_link): New function.
3393
3394 1997-01-22  Hrvoje Niksic  <hniksic@srce.hr>
3395
3396         * retr.c (retrieve_url): Require STRICT redirection URL.
3397
3398         * url.c (parseurl): New argument STRICT.
3399
3400         * http.c (hparsestatline): Be a little-bit less strict about
3401         status line format.
3402
3403 1997-01-21  Hrvoje Niksic  <hniksic@srce.hr>
3404
3405         * http.c (gethttp): Use it.
3406
3407         * main.c (main): Don't use '<digit>' as options.
3408
3409         * init.c: New option ignore_length.
3410
3411         * http.c (gethttp): Ditto.
3412         (http_loop): Check for redirection without Location:.
3413         (gethttp): Don't print Length unless RETROKF.
3414
3415         * ftp.c (getftp): Use it.
3416
3417         * url.c (mkalldirs): New function.
3418
3419         * utils.c (mymkdir): Don't check for existing non-directory.
3420
3421         * url.c (mkstruct): Don't create the directory.
3422
3423 1997-01-20  Hrvoje Niksic  <hniksic@srce.hr>
3424
3425         * init.c (setval): Removed NO_RECURSION checks.
3426
3427 1997-01-19  Hrvoje Niksic  <hniksic@srce.hr>
3428
3429         * version.c: "Released" 1.4.3-pre2.
3430
3431         * recur.c (recursive_retrieve): Bypass host checking only if URL
3432         is ftp AND parent URL is not ftp.
3433
3434         * ftp-basic.c (ftp_request): Print out Turtle Power.
3435
3436         * ftp.c (ftp_loop): Call ftp_retrieve_glob with 0 if there's no
3437         wildcard.
3438         (ftp_retrieve_glob): Call ftp_loop_internal even on empty list, if
3439         not glob.
3440
3441         * http.c (gethttp): Be a little bit smarter about status codes.
3442
3443         * recur.c (recursive_retrieve): Always reset opt.recursive when
3444         dealing with FTP.
3445
3446 1997-01-18  Hrvoje Niksic  <hniksic@srce.hr>
3447
3448         * retr.c (retrieve_url): New variable location_changed; use it for
3449         tests instead of mynewloc.
3450         (retrieve_url): Allow heuristic adding of html.
3451
3452         * url.c (url_filename): Don't use the `%' in Windows file names.
3453
3454         * http.c (http_loop): Always time-stamp the local file.
3455
3456         * http.c (http_loop): Ditto.
3457
3458         * ftp.c (ftp_retrieve_list): Use it.
3459
3460         * utils.c (my_touch): New function.
3461
3462         * ftp.c (ftp_retrieve_list): Use #ifdef HAVE_STRUCT_UTIMBUF
3463         instead of #ifndef NeXT.
3464
3465         * utils.c (strptime): New version, by Ulrich Drepper.
3466
3467 1997-01-17  Hrvoje Niksic  <hniksic@srce.hr>
3468
3469         * http.c (haccepts_none): Renamed from `haccepts_bytes'.
3470         (gethttp): If haccepts_none(), disable ACCEPTRANGES.
3471         (http_loop): Would remove ACCEPTRANGES.
3472
3473         * ftp.c (getftp): Call ftp_list with NULL.
3474
3475 1997-01-15  Hrvoje Niksic  <hniksic@srce.hr>
3476
3477         * html.c (ftp_index): Don't print minutes and seconds if we don't
3478         know them; beautify the output.
3479
3480         * ftp.c (getftp): Don't close the socket on FTPNSFOD.
3481
3482 1997-01-14  Hrvoje Niksic  <hniksic@srce.hr>
3483
3484         * utils.c (strptime): New function.
3485         (strptime): Don't use get_alt_number.
3486         (strptime): Don't use locale.
3487         (match_string): Made it a function.
3488
3489 1997-01-12  Hrvoje Niksic  <hniksic@srce.hr>
3490
3491         * http.c (http_atotm): New function.
3492         (http_loop): Use it.
3493
3494         * atotm.c: Removed from the distribution.
3495
3496         * http.c (base64_encode_line): Rewrite.
3497
3498 1997-01-09  Hrvoje Niksic  <hniksic@srce.hr>
3499
3500         * ftp.c (getftp): Use ftp_expected_bytes; print size.
3501
3502         * ftp-basic.c (ftp_response): Use ftp_last_respline.
3503         (ftp_expected_bytes): New function.
3504
3505         * ftp.c (getftp): Print the unauthoritative file length.
3506
3507         * ftp-ls.c: Renamed from ftp-unix.c.
3508         (ftp_parse_ls): Moved from ftp.c.
3509         (ftp_parse_unix_ls): Recognize seconds in time spec.
3510         (ftp_parse_unix_ls): Recognize year-less dates of the previous
3511         year.
3512
3513 1997-01-08  Hrvoje Niksic  <hniksic@srce.hr>
3514
3515         * ftp-basic.c: Don't declare errno if #defined.
3516
3517         * host.c (ftp_getaddress): Check for sysinfo legally.
3518
3519 1997-01-08  Darko Budor  <dbudor@diana.zems.fer.hr>
3520
3521         * connect.c (iread): Use READ.
3522
3523 1996-12-23  Hrvoje Niksic  <hniksic@srce.hr>
3524
3525         * url.c: Recognize finger, rlogin, tn3270, mid and cid as valid
3526         schemes.
3527
3528 1996-12-22  Hrvoje Niksic  <hniksic@srce.hr>
3529
3530         * host.c (ftp_getaddress): Allow `.' in hostname.
3531
3532 1996-12-26  Darko Budor <dbudor@zems.fer.hr>
3533
3534         * wget.h: READ and WRITE macros for use instead of read and write
3535         on sockets, grep READ *.c, grep WRITE *.c
3536
3537         * wsstartup.c: new file - startup for winsock
3538
3539         * wsstartup.h: new file
3540
3541         * win32decl.h: new file - fixup for <errno.h> and winsock trouble
3542
3543         * configure.bat: Configure utility for MSVC
3544
3545         * src/Makefile.ms,config.h.ms: new files for use with MSVC 4.x
3546
3547 1996-12-22  Hrvoje Niksic  <hniksic@srce.hr>
3548
3549         * version.c: Released 1.4.3-pre.
3550
3551         * utils.c (prnum): Accept long.
3552         (legible): Use prnum().
3553
3554         * connect.c (make_connection): Accept port as short.
3555         (bindport): Ditto.
3556
3557         * http.c (gethttp): Use search_netrc.
3558
3559 1996-12-21  Hrvoje Niksic  <hniksic@srce.hr>
3560
3561         * ftp.c (getftp): Use search_netrc.
3562
3563         * netrc.c (free_netrc): New function.
3564
3565         * init.c (home_dir): New function.
3566
3567         * url.c (convert_links): Allow REL2ABS changes.
3568
3569 1996-12-21  Gordon Matzigkeit  <gord@gnu.ai.mit.edu>
3570
3571         * netrc.c: New file.
3572         (parse_netrc, maybe_add_to_list): New functions.
3573
3574 1996-12-17  Hrvoje Niksic  <hniksic@srce.hr>
3575
3576         * retr.c (retrieve_url): Reset opt.recursion before calling
3577         ftp_loop if it is reached through newloc.
3578
3579         * init.c (run_wgetrc): Print the wgetrc path too, when reporting
3580         error; don't use "Syntax error", since we don't know if it is
3581         really a syntax error.
3582
3583 1996-12-16  Hrvoje Niksic  <hniksic@srce.hr>
3584
3585         * utils.c (acceptable): Extract the filename part of the path.
3586
3587         * recur.c (recursive_retrieve): Call acceptable() with the right
3588         argument; would bug out on wildcards.
3589
3590         * init.c (parse_line): Likewise.
3591
3592         * html.c (htmlfindurl): Cast to char * when calling stuff.
3593
3594 1996-12-15  Hrvoje Niksic  <hniksic@srce.hr>
3595
3596         * ftp.c (getftp): Use ftp_pasv.
3597
3598         * ftp-basic.c (ftp_request): Accept NULL value.
3599         (ftp_pasv): New function.
3600
3601         * options.h (struct options): Add passive FTP option.
3602
3603 1996-12-15  Hrvoje Niksic  <hniksic@srce.hr>
3604
3605         * url.c (parseurl): Debug output.
3606
3607         * utils.c (path_simplify): New one, adapted from bash's
3608         canonicalize_pathname().
3609
3610 1996-12-14  Hrvoje Niksic  <hniksic@srce.hr>
3611
3612         * ftp.c (getftp): Don't discard the buffer.
3613
3614         * retr.c (get_contents): New parameter nobuf.
3615
3616 1996-12-13  Shawn McHorse  <riffraff@txdirect.net>
3617
3618         * html.c (htmlfindurl): Recognize <meta contents="d; URL=...".
3619
3620         * init.c (setval): Strip the trailing slashes on CVECDIR.
3621
3622 1996-12-13  Hrvoje Niksic  <hniksic@srce.hr>
3623
3624         * init.c: Make excludes and includes under CVECDIR instead of
3625         CVEC.
3626
3627 1996-12-13  Shawn McHorse  <riffraff@txdirect.net>
3628
3629         * url.c (get_urls_html): Skip "http:".
3630
3631 1996-12-13  Hrvoje Niksic  <hniksic@srce.hr>
3632
3633         * utils.c (strcasecmp): From glibc.
3634         (strncasecmp): Also.
3635         (strstr): Also.
3636
3637         * url.c: Added javascript: to the list of URLs prefixes.
3638
3639 1996-12-12  Shawn McHorse  <riffraff@txdirect.net>
3640
3641         * recur.c (retrieve_robots): Print the warning message only if
3642         verbose.
3643
3644 1996-12-12  Gregor Hoffleit  <flight@mathi.uni-heidelberg.DE>
3645
3646         * ftp.c (ftp_retrieve_list): Use NeXT old utime interface.
3647
3648 1996-12-12  Hrvoje Niksic  <hniksic@srce.hr>
3649
3650         * systhings.h: New file.
3651
3652         * ../configure.in: Check for utime.h
3653
3654         * ftp.c: Check whether we have unistd.h.
3655
3656 1996-11-27  Hrvoje Niksic  <hniksic@srce.hr>
3657
3658         * recur.c (recursive_retrieve): Send the canonical URL as referer.
3659         (recursive_retrieve): Call get_urls_html with the canonical URL.
3660
3661 1996-12-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3662
3663         * (configure.in, config.h.in, src/Makefile.in, src/*.[ch]): Add
3664         ansi2knr support for compilers which don't support ANSI style
3665         function prototypes and signatures.
3666
3667         * (aclocal.m4, src/ansi2knr.c, src/ansi2knr.1): New files.
3668
3669 1996-11-26  Hrvoje Niksic  <hniksic@srce.hr>
3670
3671         * url.c: Use it; Recognize paths ending with "." and ".." as
3672         directories.
3673         (url_filename): Append .n whenever file exists and could be a
3674         directory.
3675
3676         * url.h (ISDDOT): New macro.
3677
3678         * init.c (parse_line): Use unsigned char.
3679
3680         * url.c (get_urls_html): Cast to unsigned char * when calling
3681         htmlfindurl.
3682
3683         * html.c (htmlfindurl): Use unsigned char.
3684
3685         * version.c: Changed version to 1.4.3.
3686
3687 1996-11-25  Hrvoje Niksic  <hniksic@srce.hr>
3688
3689         * version.c: Released 1.4.2.
3690
3691         * ftp.c (getftp): Simplified assertion.
3692         (ftp_loop_internal): Remove symlink before downloading.
3693         (ftp_retrieve_list): Unlink the symlink name before attempting to
3694         create a symlink!
3695
3696         * options.h (struct options): Renamed print_server_response to
3697         server_response.
3698
3699         * ftp.c (rel_constr): Removed.
3700         (ftp_retrieve_list): Don't use it.
3701         (ftp_retrieve_list): Use opt.retr_symlinks.
3702
3703 1996-11-24  Hrvoje Niksic  <hniksic@srce.hr>
3704
3705         * main.c (main): New option retr_symlinks.
3706
3707         * url.c (convert_links): Print verbose message.
3708
3709 1996-11-24  Hrvoje Niksic  <hniksic@srce.hr>
3710
3711         * http.c (http_loop): Reset newloc in the beginning of function;
3712         would cause FMR in retrieve_url.
3713
3714 1996-11-23  Hrvoje Niksic  <hniksic@srce.hr>
3715
3716         * recur.c (convert_all_links): Find the URL of each HTML document,
3717         and feed it to get_urls_html; would bug out.
3718         (convert_all_links): Check for l2 instead of dl; removed dl.
3719
3720         * url.c (convert_links): Don't refer to freed newname.
3721
3722         * recur.c (recursive_retrieve): Add this_url to urls_downloaded.
3723
3724         * main.c (main): Print the OS_TYPE in the debug output, too.
3725
3726         * recur.c (recursive_retrieve): Check for opt.delete_after.
3727
3728         * main.c (main): New option delete-after.
3729
3730         * init.c (setval): Cleaned up.
3731
3732 1996-11-21  Hrvoje Niksic  <hniksic@srce.hr>
3733
3734         * Makefile.in (wget): Make `wget' the default target.
3735
3736         * ftp.c (ftp_loop_internal): Move noclobber checking out of the
3737         loop.
3738         (ftp_retrieve_list): Warn about non-matching sizes.
3739
3740         * http.c (http_loop): Made -nc non-dependent on opt.recursive.
3741
3742         * init.c (setnum): Renamed from setnuminf; New argument flags.
3743         (setval): Use it.
3744
3745         * main.c (main): Sorted the options.
3746         (main): New option --wait.
3747
3748 1996-11-21  Shawn McHorse  <riffraff@txdirect.net>
3749
3750         * html.c (htmlfindurl): Reset s->in_quote after getting out of
3751         quotes.
3752
3753 1996-11-20  Hrvoje Niksic  <hniksic@srce.hr>
3754
3755         * version.c: Changed version to 1.4.2.
3756
3757 1996-11-20  Hrvoje Niksic  <hniksic@srce.hr>
3758
3759         * version.c: Released 1.4.1.
3760
3761         * html.c (html_quote_string): New function.
3762         (ftp_index): Use it.
3763         (htmlfindurl): A more gentle ending debug message.
3764
3765         * ftp.c (ftp_loop): Check for opt.htmlify.
3766
3767         * init.c: New command htmlify.
3768
3769         * ftp.c (getftp): Nicer error messages, with `'-encapsulated
3770         strings.
3771         (ftp_loop): Print size of index.html.
3772
3773         * init.c (setval): Implement "styles".
3774
3775         * main.c (main): New option dotstyle.
3776
3777 1996-11-19  Hrvoje Niksic  <hniksic@srce.hr>
3778
3779         * ftp.c (getftp): Close the master socket in case of errors, after
3780         bindport().
3781
3782         * connect.c (bindport): Initialize msock to -1.
3783
3784         * ftp.c (getftp): Initialize dtsock to -1.
3785
3786         * connect.c (closeport): Don't close sock if sock == -1.
3787
3788 1996-11-18  Hrvoje Niksic  <hniksic@srce.hr>
3789
3790         * init.c (setnuminf): Nuked default value -- just leave unchanged.
3791         (setval): Don't send default values.
3792         (defaults): Use DEFAULT_TIMEOUT -- aaargh.
3793
3794         * options.h (struct options): Use long for dot_bytes.
3795
3796         * init.c (setquota): Renamed to setbytes.
3797         (setval): Use setbytes on DOTBYTES.
3798
3799 1996-11-17  Hrvoje Niksic  <hniksic@srce.hr>
3800
3801         * ftp.c (getftp): Initialize con->dltime.
3802
3803         * recur.c (recursive_retrieve): Use same_host instead of
3804         try_robots; simply load robots_txt whenever the host is changed.
3805         (recursive_retrieve): Free forbidden before calling parse_robots.
3806
3807 1996-11-16  Hrvoje Niksic  <hniksic@srce.hr>
3808
3809         * retr.c (show_progress): Use them.
3810
3811         * options.h (struct options): New options dot_bytes, dots_on_line
3812         and dot_spacing.
3813
3814 1996-11-16  Mark Boyns  <boyns@sdsu.edu>
3815
3816         * recur.c (recursive_retrieve): Retrieve directories regardless of
3817         acc/rej rules; check for empty u->file.
3818
3819 1996-11-14  Hrvoje Niksic  <hniksic@srce.hr>
3820
3821         * init.c (setval): Use it.
3822
3823         * utils.c (merge_vecs): New function.
3824
3825         * init.c (setval): Reset the list-type functions when encountering
3826         "".
3827
3828 1996-11-14  Shawn McHorse  <riffraff@txdirect.net>
3829
3830         * recur.c (recursive_retrieve): Use base_url instead of this_url
3831         for no_parent.
3832
3833 1996-11-14  Shawn McHorse  <riffraff@txdirect.net>
3834
3835         * html.c (htmlfindurl): Reset s->in_quote after exiting the quote.
3836
3837 1996-11-13  Hrvoje Niksic  <hniksic@srce.hr>
3838
3839         * utils.c (sepstring): Rewrote; don't use strtok.
3840
3841         * recur.c (recursive_retrieve): Enter assorted this_url to slist
3842         when running the first time.
3843         (retrieve_robots): Warn to ignore errors when robots are loaded.
3844
3845         * utils.c (load_file): Moved from url.c.
3846
3847         * http.c: Made static variables const too in h* functions.
3848
3849         * main.c (main): Renamed --continue-ftp to --continue.
3850
3851         * recur.c (recursive_retrieve): Use it.
3852
3853         * utils.c (frontcmp): New function.
3854
3855         * url.c (accdir): New function.
3856
3857         * html.c (htmlfindurl): Recognize <area href=...>.
3858
3859         * ftp.c (ftp_retrieve_dirs): Implemented opt.includes.
3860
3861         * init.c (setval): Free the existing opt.excludes and
3862         opt.includes, if available.
3863
3864         * main.c (main): New option -I.
3865
3866 1996-11-12  Hrvoje Niksic  <hniksic@srce.hr>
3867
3868         * ftp.c (ftp_retrieve_glob): Do not weed out directories.
3869
3870         * version.c: Changed version to 1.4.1.
3871
3872 1996-11-11  Hrvoje Niksic  <hniksic@srce.hr>
3873
3874         * version.c: Released 1.4.0.
3875
3876 1996-11-10  Hrvoje Niksic  <hniksic@srce.hr>
3877
3878         * main.c (main): Free com and val after parse_line.
3879         (printhelp): Reorder the listing.
3880
3881         * http.c: More robust header parsing.
3882
3883         * http.c: Allow any number of spaces, or no spaces, precede ':'.
3884         (hskip_lws): New function.
3885         (haccepts_bytes): New function.
3886         (gethttp): Use it.
3887
3888         * init.c (setval): Check header sanity.
3889         (setval): Allow resetting of headers.
3890
3891 1996-11-10  Hrvoje Niksic  <hniksic@srce.hr>
3892
3893         * http.c (http_loop): Don't use has_wildcards.
3894
3895         * http.c (gethttp): Free all_headers -- would leak.
3896
3897         * recur.c (recursive_retrieve): Initialize depth to 1 instead of
3898         0 -- this fixes a long-standing bug in -rl.
3899
3900 1996-11-09  Hrvoje Niksic  <hniksic@srce.hr>
3901
3902         * ftp.c: Use -1 as "impossible" value for con->fd.
3903
3904         * url.h (URL_SEPARATOR): Don't treat `*' and `+' as separators.
3905
3906         * init.c (parse_line): Use isalpha.
3907
3908         * ftp-unix.c: Use HAVE_UNISTD_H.
3909
3910         * mtch.c (has_wildcards): Don't match \.
3911
3912         * http.c (http_loop): Warn on HTTP wildcard usage.
3913
3914 1996-11-08  Hrvoje Niksic  <hniksic@srce.hr>
3915
3916         * url.c (url_filename): Do not create numbered suffixes if
3917         opt.noclobber -- would bug out on -nc.
3918
3919 1996-11-07  Hrvoje Niksic  <hniksic@srce.hr>
3920
3921         * recur.c (parse_robots): Don't chuck out the commands without
3922         arguments (`Disallow:<empty>' didn't work).
3923         (parse_robots): Compare versions lowercase.
3924         (parse_robots): Match on base_version, not version_string!
3925         (parse_robots): Handle comments properly.
3926         (parse_robots): Match versions in a sane way.
3927
3928         * init.c: Print nicer error messages.
3929
3930         * version.c: Changed version to 1.4.0.
3931
3932 1996-11-06  Hrvoje Niksic  <hniksic@srce.hr>
3933
3934         * version.c: Released 1.4.0-test2.
3935
3936         * init.c (run_wgetrc): Close fp.
3937
3938         * ftp.c (ftp_retrieve_dirs): Allocate the correct length for
3939         u->dir.
3940
3941 1996-11-06  Hrvoje Niksic  <hniksic@srce.hr>
3942
3943         * init.c (setquota): Allow inf as quota specification.
3944
3945 1996-11-05  Hrvoje Niksic  <hniksic@srce.hr>
3946
3947         * ftp.c (ftp_retrieve_dirs): Return QUOTEXC if quota exceeded.
3948         (ftp_retrieve_glob): Return QUOTEXC on quota exceeded.
3949
3950         * main.c (main): Check for quota by comparison with downloaded
3951         stuff, not from status.
3952
3953         * connect.c (select_fd): Should compile on HPUX without warnings now.
3954
3955         * ftp.c (ftp_get_listing): Check whether ftp_loop_internal
3956         returned RETROK.
3957
3958 1996-11-04  Hrvoje Niksic  <hniksic@srce.hr>
3959
3960         * ftp.c (ftp_retrieve_glob): Print the pattern nicely.
3961         (getftp): Return FTPRETRINT on control connection error.
3962
3963         * html.c (htmlfindurl): Recognize <embed src=...> and
3964         <bgsound src=...>.
3965         (ftp_index): Handle username and password correctly.
3966
3967         * main.c (main): Made `-np' a synonim for --no-parent.
3968
3969 1996-11-02  Hrvoje Niksic  <hniksic@srce.hr>
3970
3971         * ftp.c (ftp_loop): Check for opt.ftp_glob too before calling
3972         ftp_retrieve_glob.
3973
3974         * version.c: Changed version to 1.4.0-test2.
3975
3976 1996-11-02  Hrvoje Niksic  <hniksic@srce.hr>
3977
3978         * version.c: Released 1.4.0-test1.
3979
3980         * url.c (str_url): Don't use sprintf when creating %2F-prefixed
3981         directory.
3982         (convert_links): Removed definition of make_backup.
3983
3984         * http.h: Removed definition of MAX_ERROR_LENGTH.
3985
3986         * host.c (ftp_getaddress): Check for "(none)" domains.
3987
3988         * ftp.c (ftp_retrieve_dirs): Docfix.
3989
3990         * http.c (gethttp): Use ou->referer instead of u->referer.
3991
3992         * retr.c (retrieve_url): Reset u to avoid freeing pointers twice;
3993         this was known to cause coredumps on Linux.
3994
3995         * html.c (ftp_index): Cast the argument to local_time to time_t *.
3996
3997 1996-11-01  Hrvoje Niksic  <hniksic@srce.hr>
3998
3999         * connect.c (select_fd): Use exceptfds -- once and for all.
4000
4001         * retr.c (retrieve_from_file): Free filename after
4002         recursive_retrieve.
4003         (retrieve_from_file): Send RFIRST_TIME to recursive_retrieve on
4004         first-time retrieval.
4005         (retrieve_from_file): Return uerr_t; new argument, count.
4006         (retrieve_from_file): Break on QUOTEXC.
4007
4008         * init.c (setquota): Fixed a bug that caused rejection of
4009         non-postfixed values..
4010
4011 1996-10-30  Hrvoje Niksic  <hniksic@srce.hr>
4012
4013         * version.c: Changed name to wget.
4014
4015         * connect.c (iread): Smarter use of select.
4016         (select_fd): Set errno on timeout.  If not timeout, return 1
4017         instead of 0.
4018
4019 1996-10-29  Hrvoje Niksic  <hniksic@srce.hr>
4020
4021         * ftp.c (ftp_loop_internal): Don't use con->cmd before
4022         establishing it.
4023
4024 1996-10-26  Hrvoje Niksic  <hniksic@srce.hr>
4025
4026         * http.c (gethttp): Send correct referer when using proxy.
4027         (gethttp): Use struct urlinfo ou to access the relevant data; send
4028         correct authorization in all cases.
4029
4030         * host.c (same_host): Use skip_uname to skip username and
4031         password.
4032
4033         * url.c (skip_uname): New function.
4034         (parseurl): Use it.
4035
4036         * host.c (same_host): Do not assume HTTP -- same_host should now
4037         be totally foolproof.
4038
4039         * url.c (skip_proto): New function.
4040         (parse_uname): Use it.
4041
4042         * http.c (gethttp): Create local user and passwd from what is
4043         given.
4044
4045         * url.c (parseurl): Check for HTTP username and password too.
4046
4047 1996-10-25  Hrvoje Niksic  <hniksic@srce.hr>
4048
4049         * config.h.in: Removed #define gethostbyname R...
4050
4051 1996-10-22  Hrvoje Niksic  <hniksic@srce.hr>
4052
4053         * version.c: Changed version to 1.4.0-test1.
4054
4055 1996-10-21  Hrvoje Niksic  <hniksic@srce.hr>
4056
4057         * version.c: "Released" 1.4b29.
4058
4059         * recur.c (recursive_retrieve): Check for no_parent.
4060
4061         * init.c (setval): Option update.
4062
4063         * main.c (main): New option no-parent.
4064
4065         * options.h (struct options): New variable no_parent.
4066
4067         * recur.c (recursive_retrieve): Only files are checked for
4068         opt.accepts and opt.rejects.
4069         (recursive_retrieve): Check directories for opt.excludes.
4070         (recursive_retrieve): Make the dir absolute when checking
4071         opt.excludes.
4072
4073         * html.c (htmlfindurl): Recognize <applet code=...> and <script
4074         src=...>
4075
4076 1996-10-18  Hrvoje Niksic  <hniksic@srce.hr>
4077
4078         * ftp.c (getftp): Do not line-break assert entries at all.
4079         (ftp_retrieve_dirs): docfix.
4080
4081         * connect.c (select_fd): Use fd + 1 as nfds.
4082
4083         * version.c: Changed version to 1.4b29.
4084
4085 1996-10-18  Hrvoje Niksic  <hniksic@srce.hr>
4086
4087         * version.c: "Released" 1.4b28.
4088
4089         * ftp.c (ftp_loop_internal): Check whether f->size == len and
4090         don't continue the loop if it is.
4091         (ftp_get_listing): Remove list_filename on unsuccesful loop.
4092
4093 1996-10-17  Hrvoje Niksic  <hniksic@srce.hr>
4094
4095         * ftp.c (ftp_loop_internal): Use strcpy to initialize tmp.
4096         (getftp): Do not use multiline assert.
4097
4098         * http.c (hparsestatline): Use mjr and mnr instead of major and
4099         minor, which don't compile on Ultrix.
4100         (http_loop): Use strcpy() to initialize tmp.
4101
4102         * all: Geturl -> Fetch
4103
4104 1996-10-17  Hrvoje Niksic  <hniksic@srce.hr>
4105
4106         * recur.c (parse_robots): Fixed an off-by-one bug when looking for
4107         ':'.
4108
4109         * html.c (htmlfindurl): Fixed several possible off-by-one bugs by
4110         moving `bufsize &&' to the beginning of each check in for-loops.
4111
4112         * recur.c (parse_robots): Close fp on exit.
4113
4114         * url.c (mymkdir): Check for each directory before creating.
4115
4116 1996-10-16  Hrvoje Niksic  <hniksic@srce.hr>
4117
4118         * version.c: Changed version to 1.4b28.
4119
4120 1996-10-16  Hrvoje Niksic  <hniksic@srce.hr>
4121
4122         * version.c: "Released" 1.4b27.
4123
4124         * init.c (parse_line): Use isspace.
4125         (parse_line): Free *com on all errors.
4126
4127         * ftp.c (ftp_loop): Change FTPOK to RETROK before exiting.
4128         (delelement): Use next instead of f->next and prev instead of
4129         f->prev.
4130         (delelement): Free the members of the deleted element.
4131
4132         * http.c (http_loop): Do not return RETROK on code != 20x.
4133
4134         * init.c (cleanup): Free opt.user_header.
4135         (cleanup): Free opt.domains.
4136
4137         * url.c (freelists): Moved to cleanup().
4138
4139         * http.c (hparsestatline): Docfix.
4140
4141         * main.c (main): Return with error status on unsuccesful
4142         retrieval.
4143
4144         * init.c (setval): Do not remove listing when mirroring.
4145
4146         * url.c (url_filename): Use opt.fileprefix.
4147
4148         * ftp.c (ftp_get_listing): Use url_filename to get filename for
4149         .listing.
4150
4151         * main.c (main): New option: -rn.
4152
4153 1996-10-15  Hrvoje Niksic  <hniksic@srce.hr>
4154
4155         * Makefile.in (RM): Added RM = rm -f.
4156
4157         * host.c (clean_hosts): New function.
4158         (free_hlist): Just free the list, no reset.
4159
4160         * version.c: Changed version to 1.4b27.
4161
4162 1996-10-13  Hrvoje Niksic  <hniksic@srce.hr>
4163
4164         * version.c: "Released" 1.4b26.
4165
4166         * retr.c (retrieve_from_file): If call get_urls_html with
4167         opt.spider to make it silent in spider mode.
4168
4169         * url.c (str_url): Use CLEANDUP instead of URL_CLEANSE.
4170
4171         * url.h (CLEANDUP): New macro.
4172
4173         * http.c (gethttp): Fixed a bug that freed location only when it
4174         was NULL.
4175
4176         * retr.c (retrieve_url): Free url if it will not be stored,
4177         i.e. newloc is NULL.
4178
4179         * html.c (htmlfindurl): Handle exiting from quotes correctly; the
4180         old version would bug out on <a href="x#a"href="y">.
4181
4182         * html.h (state_t): New member in_quote.
4183
4184         * html.c (htmlfindurl): Free s->attr at the beginning of
4185         attr-loop.
4186
4187         * recur.c (recursive_retrieve): Recognize RCLEANUP.
4188         (tried_robots): Make hosts a global variable.
4189         (recursive_retrieve): Free constr after URL host optimization.
4190         (tried_robots): Free urlinfo before exiting.
4191
4192         * utils.c (free_slist): New function.
4193
4194         * recur.c (recursive_retrieve): Use flags to add cleanup
4195         possibility.
4196
4197         * main.c (main): Free filename after recursive_retrieve.
4198
4199         * http.c (gethttp): Store successful responses too.
4200
4201 1996-10-12  Hrvoje Niksic  <hniksic@srce.hr>
4202
4203         * all: Constified the whole source.  This required some minor
4204         changes in many functions in url.c, possibly introducing bugs -- I
4205         hope not.
4206
4207         * ftp-basic.c: Removed last_respline.
4208
4209         * http.c (gethttp): Free type.
4210
4211         * host.c (same_host): Free real1 and real2.
4212
4213         * main.c (main): New option --spider.
4214
4215         * retr.c (get_contents): Don't reset errno.
4216
4217         * main.c (main): Sorted the options.
4218
4219         * connect.c (iread): Set errno to ETIMEDOUT only if it was left
4220         uninitialized by select().
4221
4222         * http.c (http_loop): Print the time when the connection is
4223         closed.
4224         (gethttp): Debug-print the HTTP request.
4225
4226 1996-10-11  Hrvoje Niksic  <hniksic@srce.hr>
4227
4228         * connect.c (iread): Do not try reading after timeout.
4229
4230         * main.c (main): Would bug out on -T.
4231
4232         * connect.c (select_fd): Do not use exceptfds.
4233         (iread): Set ETIMEDOUT on select_fd <= 0.
4234
4235         * version.c: Changed version to 1.4b26.
4236
4237 1996-10-10  Hrvoje Niksic  <hniksic@srce.hr>
4238
4239         * version.c: "Released" 1.4b25.
4240
4241         * ftp-unix.c (ftp_parse_unix_ls): Ignore lines without file name
4242         or link name.
4243
4244         * http.c (gethttp): Add errcode to struct hstat.
4245         (http_loop): Use it.
4246
4247         * url.c (no_proxy_match): Simplify using char** for no_proxy.
4248
4249         * options.h (struct options): Make opt.no_proxy a vector.
4250
4251         * utils.c (sepstring): Use !*s instead of !strlen(s).
4252
4253         * init.c (setval): Set opt.maxreclevel to 0 on --mirror.
4254         (getperms): Use ISODIGIT instead of isdigit.
4255
4256         * ftp.c (getftp): Print time.
4257
4258         * main.c (main): Use legible output of downloaded quantity.
4259
4260         * ftp.c (getftp): Use elapsed_time().
4261         (ftp_loop_internal): Use rate().
4262
4263         * http.c (http_loop): Add download ratio output; Use rate().
4264
4265         * utils.c (rate): New function.
4266
4267 1996-10-09  Hrvoje Niksic  <hniksic@srce.hr>
4268
4269         * http.c (http_loop): Use timer.
4270
4271         * ftp.c: Split to ftp-basic.c and ftp.c
4272
4273         * utils.c (reset_timer): New function.
4274         (elapsed_time): New function.
4275
4276         * retr.c (show_progress): Make bytes_in_line and offs long; should
4277         work on 16-bit machines.
4278
4279 1996-10-08  Hrvoje Niksic  <hniksic@srce.hr>
4280
4281         * url.c (in_acclist): New argument backward.
4282
4283         * ftp.c (ftp_retrieve_glob): Use acceptable() to determine whether
4284         a file should be retrieved according to suffix.
4285         (ftp_get_listing): Check the return value of unlink; Do not call
4286         ftp_retrieve_dirs if depth reached maxreclevel.
4287         (ftp_retrieve_dirs): Check whether the directory is in
4288         exclude-list.
4289
4290         * main.c (main): Print the version number at the beginning of
4291         DEBUG output.
4292         (main): Use strrchr when creating exec_name.
4293
4294         * ftp.c (ftp_retrieve_glob): Do not close control connection.
4295
4296         * version.c: Changed version to 1.4b25.
4297
4298 1996-10-07  Hrvoje Niksic  <hniksic@srce.hr>
4299
4300         * version.c: "Released" 1.4b24.
4301
4302         * Makefile.in: Rewrite.
4303
4304         * ftp.c (ftp_loop_internal): Likewise.
4305
4306         * retr.c (time_str): Check for failed time().
4307
4308         * html.c (htmlfindurl): Recognize <fig src> and <overlay src> from
4309         HTML3.0.
4310
4311         * retr.c (time_str): Return time_t *.
4312
4313         * connect.c (bindport): Close msock on unsuccesful bind.
4314         (bindport): The same for getsockname and listen.
4315
4316         * retr.c (retrieve_url): Allow any number of retries on
4317         proxy.
4318
4319         * http.c (gethttp): Do not treat errno == 0 as timeout.
4320         (http_loop): Likewise.
4321         (http_loop): Cosmetic changes.
4322
4323         * connect.c (iread): Set errno to ETIMEDOUT in case of timeout.
4324
4325         * retr.c (get_contents): Reset errno.
4326
4327         * ftp.c (getftp): Minor fixes.
4328
4329 1996-10-06  Hrvoje Niksic  <hniksic@srce.hr>
4330
4331         * http.c: Do not use backups.
4332
4333         * geturl.1 (WARNING): Warn that man-page could be obsolete.
4334
4335         * getopt.c (getopt_long): Moved to getopt.c
4336
4337         * geturl.texi: Enhanced.
4338
4339         * main.c (main): Use it.
4340
4341         * recur.c (convert_all_links): New function.
4342
4343         * utils.c (add_slist): New argument flags.
4344
4345         * recur.c (recursive_retrieve): Update a list of downloaded URLs.
4346         (parse_robots): Do not chuck out empty value fields.
4347         (parse_robots): Make yourself welcome on empty Disallow.
4348
4349         * version.c: Changed version to 1.4b24.
4350
4351 1996-10-06  Hrvoje Niksic  <hniksic@srce.hr>
4352
4353         * version.c: "Released" 1.4b23.
4354
4355         * ftp.c (ftp_loop_internal): Get the time after getftp.
4356
4357         * Makefile.in (install.info): New target.
4358         (install): Use it.
4359
4360         * http.c (http_loop): Fix output when doing -O.
4361
4362 1996-10-05  Hrvoje Niksic  <hniksic@srce.hr>
4363
4364         * geturl.texi: New file.
4365
4366         * main.c (main): Do not print the warnings and download summary if
4367         opt.quiet is set.
4368
4369         * version.c: Changed version to 1.4b23.
4370
4371 1996-10-05  Hrvoje Niksic  <hniksic@srce.hr>
4372
4373         * "Released" 1.4b22.
4374
4375         * atotm.c (atotm): Use True and False instead of TRUE and FALSE,
4376         to avoid redefinition warnings.
4377
4378         * host.c (store_hostaddress): Use memcpy() to copy the address
4379         returned by inet_addr.
4380
4381         * version.c: Changed version to 1.4b22.
4382
4383 1996-10-04  Hrvoje Niksic  <hniksic@srce.hr>
4384
4385         * version.c: "Released" 1.4b21.
4386
4387         * ftp-unix.c (ftp_parse_ls): Renamed to ftp_parse_unix_ls.
4388
4389         * ftp.c (ftp_port): Use conaddr.
4390         (getftp): Print the file length.
4391         (ftp_retrieve_list): Check the stamps of plain files only.
4392
4393         * connect.c (closeport): Do not call shutdown().
4394         (conaddr): New function.
4395
4396         * html.c (ftp_index): Made it dfp-aware.
4397
4398         * init.c (cleanup): New name of freemem. Close opt.dfp.
4399
4400         * ftp.c (getftp): Use opt.dfp if it is set.
4401
4402         * ftp-unix.c (ftp_parse_ls): Recognize time in h:mm format.
4403
4404         * ftp.c (ftp_retrieve_dirs): Fixed a bug that caused incorrect
4405         CWDs to be sent with recursive FTP retrievals.
4406
4407 1996-10-03  Hrvoje Niksic  <hniksic@srce.hr>
4408
4409         * recur.c (parse_robots): Made it more compliant with "official"
4410         specifications.
4411
4412         * http.c: New function.
4413
4414         * ftp-unix.c (ftp_parse_ls): Added better debug output.
4415
4416         * ftp.c (getftp): Print out the LIST in case of
4417         opt.print_server_response.
4418
4419         * version.c: Changed version to 1.4b21.
4420
4421 1996-10-01  Hrvoje Niksic  <hniksic@srce.hr>
4422
4423         * version.c: "Released" 1.4b20.
4424
4425         * README: Update.
4426
4427         * http.c (gethttp): Preset lengths of various headers instead of
4428         calculating them dynamically.
4429         (gethttp): Check for 206 partial contents.
4430
4431 1996-09-30  Hrvoje Niksic  <hniksic@srce.hr>
4432
4433         * configure.in: Set SYSTEM_GETURLRC to $libdir/geturlrc
4434
4435         * http.c (gethttp): Send the port number in the Host: header.
4436
4437 1996-09-29  Hrvoje Niksic  <hniksic@srce.hr>
4438
4439         * http.c (gethttp): Send host: header.
4440         (gethttp): Add the possibility of user-defined headers.
4441         (gethttp): Move decision about pragma: no-cache to http_loop,
4442         where it belongs.
4443         (gethttp): Pass a struct instead of enormous argument list.
4444         (http_loop): Use a new, fancier display format.
4445         (ftp_loop): Likewise.
4446
4447         * main.c: (hangup): Turn off buffering of the new log file.
4448
4449         * install-sh: Likewise.
4450
4451         * config.sub: Replace with the one in autoconf-2.10
4452
4453         * geturl.1: Update.
4454
4455         * init.c: New options httpuser and httppasswd.
4456
4457         * http.c: (base64_encode_line): New function.
4458         (gethttp): Send authentication.
4459
4460         * connect.c (make_connection): Use store_hostaddress.
4461
4462 1996-09-28  Hrvoje Niksic  <hniksic@srce.hr>
4463
4464         * host.c (store_hostaddress): New function.
4465
4466         * NEWS: Update.
4467
4468         * http.c (hgetrange): New function.
4469         (gethttp): Use ranges.
4470
4471         * utils.c (numdigit): Accept long instead of int.
4472
4473         * http.c (http_loop): Add restart capabilities.
4474
4475         * ftp.c (ftp_retrieve_glob): Fixed a bug that could cause matchres
4476         being used uninitialized.
4477         (ftp_retrieve_list): Similar fix.
4478
4479         * host.c (add_hlist): Fixed a bug that could cause cmp being used
4480         uninitialized.
4481
4482         * url.c (construct_relative): New function.
4483
4484         * recur.c (recursive_retrieve): Use it.
4485
4486         * retr.c (convert_links): New function.
4487
4488 1996-09-27  Hrvoje Niksic  <hniksic@srce.hr>
4489
4490         * url.c (free_urlpos): New function.
4491
4492         * recur.c (recursive_retrieve): Adapt.
4493
4494         * url.c (get_urls_html): Return a linked list instead of a vector.
4495
4496         * url.c (get_urls_file): Return a linked list instead of a vector.
4497
4498         * geturl.1: Update.
4499
4500         * http.c (gethttp): Implement it.
4501
4502         * init.c (setval): New option: SAVEHEADERS
4503
4504         * ftp.c (ftp_loop_internal): Do not set restval if listing is to
4505         be retrieved. Lack of this test caused bugs when the connection
4506         was lost during listing.
4507
4508         * retr.c (retrieve_url): Fixed a bug that caused
4509         coredumps. *newloc is now reset by default.
4510         (retrieve_url): Lift the twenty-tries limit on proxies.
4511
4512         * version.c: Changed version to 1.4b20.
4513
4514 1996-09-20  Hrvoje Niksic  <hniksic@srce.hr>
4515
4516         * version.c: "Released" 1.4b19.
4517
4518 1996-09-19  Hrvoje Niksic  <hniksic@srce.hr>
4519
4520         * ftp.c (ftp_loop_internal): Renamed from ftp_1fl_loop.
4521         (getftp): Changed prototype to accept ccon *.
4522
4523 1996-09-17  Hrvoje Niksic  <hniksic@srce.hr>
4524
4525         * ftp.c (ftp_retrieve_list): Fixed a bug that caused setting
4526         incorrect values to files pointed to by symbolic links.
4527         (ftp_1fl_loop): Do not count listings among the downloaded URL-s.
4528
4529 1996-09-16  Hrvoje Niksic  <hniksic@srce.hr>
4530
4531         * url.c (mkstruct): Do not prepend "./" in front of a pathname.
4532
4533         * main.c (main): New option: --user-agent.
4534
4535         * geturl.1: Ditto.
4536
4537         * init.h: Ditto.
4538
4539         * init.c (setval): Ditto.
4540
4541         * main.c (main): Rename "server-headers" to "server-response".
4542
4543         * ftp-unix.c (ftp_parse_ls): Check for asterisks at the end of
4544         executables in 'ls -F' listings.
4545
4546 1996-09-15  Hrvoje Niksic  <hniksic@srce.hr>
4547
4548         * url.c (parseurl): Remove realloc() and sprintf().
4549         (str_url): Get rid of sprintf().
4550
4551         * recur.c (recursive_retrieve): Enable FTP recursion through proxy
4552         servers.
4553
4554         * url.h (URL_CLEANSE): Made it else-resistant.
4555         (USE_PROXY): New macro.
4556
4557 1996-09-14  Hrvoje Niksic  <hniksic@srce.hr>
4558
4559         * NEWS: Update.
4560
4561         * version.c: Changed version to 1.4b19.
4562
4563 1996-09-14  Hrvoje Niksic  <hniksic@srce.hr>
4564
4565         * version.c: "Released" 1.4b18.
4566
4567         * url.c: Made it reallocate space exponentially.
4568
4569 1996-09-14  Drazen Kacar  <dave@fly.cc.fer.hr>
4570
4571         * html.c (htmlfindurl): Added <frame src> and <iframe src> among
4572         the list of stuff to fetch.
4573
4574 1996-09-13  Hrvoje Niksic  <hniksic@srce.hr>
4575
4576         * url.c (get_urls_html): Fixed a bug that caused SIGSEGV's with
4577         -Fi.
4578
4579         * html.c (htmlfindurl): Rewrite.
4580
4581         * http.c (gethttp): Use opt.proxy_cache.
4582
4583         * main.c (main): Added --cache option.
4584
4585         * ftp.c (ftp_response): Print server response if opt.print_server
4586         response is set.
4587         (getftp): Print newlines after each request if the server response
4588         is to be printed.
4589         (ftp_response): Copy the last response line to last_respline.
4590
4591         * http.c (gethttp): Add Pragma: nocache for retried
4592         proxy-retrievals.
4593
4594         * ftp.c (getftp): Use it.
4595
4596         * retr.c (buf_discard): New function.
4597
4598         * ftp.c (ftp_response): Use buf_readchar().
4599         (getftp): Flush the control connection buffer before calling
4600         get_contents().
4601
4602         * retr.c (buf_readchar): New function.
4603         (buf_flush): New function.
4604         (get_contents): Use buf_readchar() instead of read(x, x, 1).
4605         (get_contents): Use buf_flush.
4606
4607 1996-09-12  Hrvoje Niksic  <hniksic@srce.hr>
4608
4609         * ftp.c: Incorporate changes to ftp_response.
4610
4611         * ftp.c (ftp_response): Allocate the server response dynamically,
4612         as in read_whole_line and fetch_next_header.
4613
4614         * utils.c (read_whole_line): Fixed a bug that prevented reading
4615         the last line if it is not \n-terminated. Also fixed a possible
4616         memory overflow.
4617
4618         * http.c (fetch_next_header): Return malloc-ed string as large as
4619         needed.
4620         (gethttp): Use new fetch_next_header.
4621
4622 1996-09-12  Hrvoje Niksic  <hniksic@srce.hr>
4623
4624         * http.c (hgetlen): Compute the header length the first time only.
4625         (hgettype): Ditto.
4626         (hgetlocation): Ditto.
4627         (hgetmodified): Ditto.
4628
4629 1996-09-11  Hrvoje Niksic  <hniksic@srce.hr>
4630
4631         * sample.geturlrc: Update.
4632
4633 1996-09-10  Hrvoje Niksic  <hniksic@srce.hr>
4634
4635         * http.c (http_loop): Ditto.
4636
4637         * ftp.c (getftp): Open the output file as binary.
4638
4639         * version.c: Changed version to 1.4b18.
4640
4641 1996-09-10  Hrvoje Niksic  <hniksic@srce.hr>
4642
4643         * version.c: "Released" 1.4b17.
4644
4645         * ftp-unix.c (ftp_parse_ls): If unable to open file, return NULL
4646         instead of failed assertion.
4647
4648 1996-09-09  Hrvoje Niksic  <hniksic@srce.hr>
4649
4650         * ftp.c (ftp_get_listing): Add a numbered suffix to LIST_FILENAME
4651         if a file of that name already exists.
4652
4653 1996-09-05  Hrvoje Niksic  <hniksic@srce.hr>
4654
4655         * ftp.c (ftp_1fl_loop): Handler FTPPORTERR and FOPENERR correctly.
4656
4657         * config.h.in: Define gethostbyname as Rgethostbyname when using
4658         Socks.
4659
4660         * configure.in: Check for -lresolv if using Socks.
4661
4662         * version.c: Changed version to 1.4b17.
4663
4664 1996-07-15  Hrvoje Niksic  <hniksic@srce.hr>
4665
4666         * version.c: "Released" 1.4b16.
4667
4668         * http.c (gethttp): More intelligent check for first line of HTTP
4669         response.
4670         (gethttp): Would bug out on time-stamping.
4671
4672         * version.c: Changed version to 1.4b16.
4673
4674 1996-07-11  Hrvoje Niksic  <hniksic@srce.hr>
4675
4676         * version.c: Released 1.4b15.
4677
4678         * http.c (http_loop): Print \n after the loop entry, not before.
4679
4680         * url.c (url_filename): Use ISDOT.
4681
4682         * url.h (ISDOT): New macro.
4683
4684         * recur.c (recursive_retrieve): Change only opt.recursive for
4685         following FTP.
4686
4687 1996-07-11  Antonio Rosella <antonio.rosella@agip.it>
4688
4689         * socks/geturl.cgi: Fixed version No.
4690
4691         * socks/download-netscape.html: Ditto.
4692
4693         * socks/download.html: Changed socks.html to download.html.
4694
4695 1996-07-11  Hrvoje Niksic  <hniksic@srce.hr>
4696
4697         * url.c (url_filename): Check for opt.dirstruct instead for
4698         opt.recursive && opt.dirstruct.
4699
4700         * init.c (defaults): Ditto.
4701         (defaults): Reset dirstruct by default.
4702         (setval): Set opt.dirstruct whenever setting recursive.
4703
4704         * init.h: Removed FORCEDIRHIER.
4705
4706         * INSTALL: Added -L to socks-description.
4707
4708         * version.c: Changed version to 1.4b15.
4709
4710 1996-07-10  Hrvoje Niksic  <hniksic@srce.hr>
4711
4712         * version.c: "Released" 1.4b14.
4713
4714         * geturl.1: Update AUTHOR to include Rosella as contributor.
4715
4716         * NEWS: Update.
4717
4718         * socks/geturl.cgi: Simplified command creation, nuked <blink>.
4719
4720         * socks/geturl.cgi: Wrap nutscape extensions within if $netscape.
4721         (cal_time): Fix == to eq.
4722
4723         * socks/geturl.cgi: GPL-ized with permission of A. Rosella.
4724
4725         * geturl.1 (hostname): Moved URL CONVENTIONS to the beginning.
4726
4727         * Makefile.in: Use @VERSION@.
4728
4729         * configure.in: Check version from version.c.
4730
4731         * socks/geturl.cgi: Changed /pub/bin/perl to /usr/bin/perl.
4732
4733         * socks/download.html: Created from download-netscape.html, made
4734         HTML-2.0 compliant.
4735
4736         * recur.c (recursive_retrieve): Set opt.force_dir_hier when
4737         following FTP links from recursions.
4738
4739 1996-07-09  Hrvoje Niksic  <hniksic@srce.hr>
4740
4741         * url.c (mymkdir): Fixed a bug that prevented mymkdir() to create
4742         absolute directories correctly.
4743
4744         * version.c: Changed version to 1.4b14.
4745
4746 1996-07-09  Hrvoje Niksic  <hniksic@srce.hr>
4747
4748         * version.c: "Released" 1.4b13.
4749
4750         * url.c (make_backup): New function.
4751
4752         * http.c (http_loop): Make a backup copy of the local file (using
4753         rename(2)) before opening it.
4754
4755         * main.c (main): Added --backups.
4756
4757         * host.c (ftp_getaddress): Bail out on failed mycuserid().
4758         (ftp_getaddress): Check for leading dot on MY_DOMAIN.
4759         (ftp_getaddress): Check for empty, null or (null) domain.
4760
4761         * url.c (get_urls_html): If this_url is NULL, the base must have a
4762         protocol.
4763         (parseurl): Use has_proto.
4764
4765         * retr.c (retrieve_url): Warn when proxy is used with more than 20
4766         retries.
4767
4768         * url.c (mkstruct): Create the directory (calling mymkdir()) only
4769         if it is not already there.
4770         (has_proto): New function.
4771         (get_urls_html): Eliminate the remaining call to findurl -- use
4772         has_proto.
4773
4774         * geturl.1: Ditto.
4775
4776         * main.c: Change -X to -x.
4777
4778         * url.c (url_filename): Simplify creation of filename if
4779         prefix_files is set.
4780         (url_filename): Simplify everything. And I do mean *everything*.
4781         (mkstruct): Add dir_prefix before hostname.
4782         (path_simplify): Fixed a bug that caused writing outside the path
4783         string in case of "." and ".." path strings.
4784
4785 1996-07-06  Hrvoje Niksic  <hniksic@srce.hr>
4786
4787         * init.c: Added --mirror.
4788
4789         * main.c (main): Added -X to force saving of directory hierarchy.
4790
4791         * ftp.c (ftp_retrieve_list): Added recursion depth counter.
4792         (ftp_retrieve_list): Check whether quota is exceeded.
4793
4794         * url.c (get_urls_html): Skip leading blanks for absolute URIs.
4795
4796         * http.c (gethttp): Use referer if present.
4797
4798         * recur.c (recursive_retrieve): Set u->referer before calling
4799         retrieve_url.
4800
4801         * url.c (newurl): Use memset to nullify the struct members.
4802         (freeurl): Free the referer field too.
4803
4804         * url.h: Added referer to urlinfo.
4805
4806         * geturl.1: Updated the manual to document some of the new features.
4807
4808         * utils.c (numdigit): Moved from url.c.
4809
4810         * README: Rewritten.
4811
4812         * config.h.in: Add the support for socks.
4813
4814         * configure.in: Add the support for socks.
4815
4816         * url.c (url_filename): If the dir_prefix is ".", work with just
4817         the file name.
4818         (url_filename): Do not look for .n extensions if timestamping if
4819         turned on.
4820
4821         * retr.c (show_progress): Skip the over-abundant restval data, and
4822         print the rest of it with ',' instead of '.'.
4823
4824 1996-07-05  Hrvoje Niksic  <hniksic@srce.hr>
4825
4826         * retr.c (show_progress): Changed second arg. to long (as it
4827         should be).
4828         (show_progress): Moved to retr.c.
4829         (get_contents): Moved to retr.c.
4830
4831         * version.c: Change version to 1.4b13.
4832
4833 1996-07-05  Hrvoje Lacko <hlacko@fly.cc.fer.hr>
4834
4835         * url.c (in_acclist): Would return after the first suffix.
4836
4837 1996-07-04  Hrvoje Niksic  <hniksic@srce.hr>
4838
4839         * version.c: "Released" 1.4b12.
4840
4841         * url.c (path_simplify): More kludgifications.
4842         (get_urls_html): Use new parameters for htmlfindurl.
4843
4844         * html.c: Removed memorizing "parser states", since the new
4845         organization does not require them.
4846
4847         * init.c (run_geturlrc): Use read_whole_line.
4848
4849         * ftp-unix.c (ftp_parse_ls): Use read_whole_line.
4850
4851         * recur.c (parse_robots): Use read_whole_line.
4852
4853         * utils.c (read_whole_line): New function.
4854
4855         * recur.c (tried_robots): Use add_slist/in_slist, *much* cleaner.
4856
4857         * host.c (ngethostbyname): Call inet_addr just once. Yet to be
4858         tested on OSF and Ultrix.
4859         (add_hlist): New function.
4860         (free_hlist): New function.
4861         (search_host): New function.
4862         (search_address): New function.
4863         (realhost): Use search_host, search_address and add_hlist.
4864         (same_host): Replaced realloc() with strdupdelim(), made
4865         case-insensitive, fixed a memory leak.
4866
4867         * html.c (ftp_index): Fixed tm_min and tm_sec to be tm_hour and
4868         tm_min, like intended.
4869
4870         * version.c: Change user agent information to
4871         Geturl/version.
4872
4873 1996-07-03  Hrvoje Niksic  <hniksic@srce.hr>
4874
4875         * utils.c: Renamed nmalloc.c to utils.c, .h likewise.
4876
4877         * url.c (acceptable): Always accept directories.
4878
4879         * ftp-unix.c (ftp_parse_ls): Support brain-damaged "ls -F"-loving
4880         servers by stripping trailing @ from symlinks and trailing / from
4881         directories.
4882
4883         * ftp.c (ftp_loop): Debugged the "enhanced" heuristics. :-)
4884
4885         * url.c (skip_url): Use toupper instead of UCASE.
4886
4887         * host.c (sufmatch): Made it case-insensitive.
4888
4889         * url.c (match_backwards_or_pattern): Fixed i == -1 to j == -1.
4890         (match_backwards): New function, instead of
4891         match_backwards_or_pattern.
4892
4893         * recur.c (recursive_retrieve): Increased performance by
4894         introducing inl, which reduces number of calls to in_slist to only
4895         one.
4896
4897         * ftp.c (ftp_loop): Enhanced the heuristics that decides which
4898         routine to use.
4899
4900         * main.c (printhelp): Removed the warranty stuff.
4901
4902 1996-07-02  Hrvoje Niksic  <hniksic@srce.hr>
4903
4904         * url.c (add_slist): Simplify.
4905         (match_backwards_or_pattern): New function.
4906         (in_acclist): Use match_backwards_or_pattern.
4907         (matches): Remove.
4908
4909 1996-06-30  Hrvoje Niksic  <hniksic@srce.hr>
4910
4911         * ftp.c (ftp_loop): Call ftp_index on empty file names, if not
4912         recursive.
4913
4914         * html.c (ftp_index): Fixed to work. Beautified the output.
4915
4916         * ftp.c (ftp_retrieve_glob): Another argument to control whether
4917         globbing is to be used.
4918         (ftp_retrieve_list): Compare the time-stamps of local and remote
4919         files to determine whether to download.
4920
4921 1996-06-29  Hrvoje Niksic  <hniksic@srce.hr>
4922
4923         * ftp.c (rel_constr): New function.
4924
4925         * retr.c (retrieve_from_file): Check for text/html before
4926         retrieving recursively.
4927
4928         * main.c (main): Check whether the file is HTML before going into
4929         recursive HTML retrieving.
4930
4931         * ftp.c (ftp_retrieve_list): Manage directories.
4932         (ftp_retrieve_glob): Pass all the file-types to ftp_retrieve_list.
4933         (ftp_1fl_loop): Fixed a bug that caused con->com to be incorrectly
4934         initialized, causing bugchecks in getftp to fail.
4935
4936         * configure.in: Check for symlink.
4937
4938         * ftp.c (ftp_retrieve_list): Added support for symlinks.
4939
4940         * version.c: "Released" 1.4b10.
4941
4942         * atotm.c (atotm): Redeclared as time_t.
4943
4944         * init.c: New variable "timestamping".
4945
4946         * main.c (main): New option 'N'.
4947
4948         * http.c (hgetlocation): Case-insensitive match.
4949         (hgetmodified): New function.
4950         (http_loop): Implement time-stamping.
4951
4952 1996-06-28  Hrvoje Niksic  <hniksic@srce.hr>
4953
4954         * version.c: Changed version to 1.4b10
4955
4956         * atotm.c: New file, from phttpd.
4957
4958         * options.h (struct options): New parameter timestamping.
4959
4960         * version.c: 1.4b9 "released".
4961
4962         * recur.c (recursive_retrieve): Used linked list (ulist) for
4963         faster storing of URLs.
4964
4965         * url.c (get_urls_html): Removed the old kludge with comparing the
4966         outputs of htmlfindurl and findurl.
4967         (get_urls_html): Added better protocol support here.
4968         (create_hash): Removed, as well as add_hash and in_hash.
4969         (addslist): New function.
4970         (in_slist): ditto
4971
4972         * version.c: Released 1.4b8, changed version to b9.
4973
4974 1996-06-27  Hrvoje Niksic  <hniksic@srce.hr>
4975
4976         * ftp.c (freefileinfo): New function.
4977         (delelement): New function.
4978
4979         * everywhere: GPL!
4980
4981         * ftp.c (ftp_loop): Use ccon.
4982         (ftp_retrieve_glob): Likewise.
4983
4984         * ftp.h: Define ccon, to define status of control connection.
4985
4986         * ftp.c (ftp_get_listing): New function.
4987         (ftp_retrieve_more): New function.
4988         (ftp_retrieve_glob): New function.
4989
4990 1996-06-25  Hrvoje Niksic  <hniksic@srce.hr>
4991
4992         * configure.in: Removed the search for cuserid().
4993
4994         * init.c (getmode): Renamed to getperms.
4995
4996 1996-06-24  Hrvoje Niksic  <hniksic@srce.hr>
4997
4998         * version.c: New version.
4999
5000         * main.c (hangup): New function, that handles hangup. Hangup
5001         signal now causes geturl to stop writing on stdout, and to write
5002         to a log file.
5003
5004         * ftp.c (getftp): "Released" 1.4b7.
5005
5006         * html.c (htmlfindurl): Ignore everything inside <head>...</head>.
5007         (ftp_index): Use fileinfo/urlinfo.
5008
5009         * ftp-unix.c (ftp_parse_ls): New function.
5010         (symperms): New function.
5011
5012         * ftp.c (ftp_1fl_loop): New function, to handle 1-file loops.
5013
5014         * retr.c (retrieve_url): Added FTP support.
5015
5016 1996-06-23  Hrvoje Niksic  <hniksic@srce.hr>
5017
5018         * geturl.h: Removed NOTFTP2HTML enum.
5019         Added DO_LOGIN, DO_CWD and DO_LIST. LIST_ONLY is obsolete.
5020
5021         * ftp.c (getftp): Resynched with urlinfo.
5022         (getftp): Removed HMTL-ization of index.html from getftp.
5023
5024         * version.c: 1.4b6 "released".
5025
5026         * options.h (options): New struct, to keep options in.
5027
5028         * http.c (http_loop,gethttp): Synched with proxy.
5029
5030         * retr.c (retrieve_url): Implemented proxy retrieval.
5031
5032         * main.c (main): Use retrieve_from_file.
5033
5034 1996-06-22  Hrvoje Niksic  <hniksic@srce.hr>
5035
5036         * retr.c (retrieve_from_file): New function.
5037
5038         * url.c (parseurl): Modified to return URLOK if all OK. Protocol
5039         can be found in u->proto.
5040
5041         * ftp.c (ftp_response): Fixed to accept multi-line responses as
5042         per RFC 959.
5043
5044         * recr.c (recursive_retrieve): Take newloc from retrieve_url.
5045
5046         * url.c (mymkdir): Removed the file of the same name, if one
5047         exists.
5048         (isfile): New function.
5049         (mkstruct): Fixed the '/' glitches.
5050         (path_simplify): Hacked to treat something/.. correctly.
5051
5052 1996-06-21  Hrvoje Niksic  <hniksic@srce.hr>
5053
5054         * http.c (gethttp): Close the socket after error in headers.
5055         (http_loop): HEOF no longer a fatal header.
5056
5057         * loop.c (retrieve_url): When dt is NULL, do not modify it. This
5058         simplifies the syntax of calling retrieve_url.
5059
5060         * recr.c (recursive_retrieve): Modified to use get_urls_html.
5061
5062         * url.c (get_urls_file): New function.
5063         (get_urls_html): New function.
5064
5065         * recr.c (recursive_retrieve): Patched up to conform to the
5066         standards.
5067
5068         * http.c (gethttp): Synched with the rest...
5069         (gethttp): Treat only CONREFUSED specially, with connection
5070         errors.
5071
5072         * init.c,geturl.1,http.c (http_loop): Removed kill_error.
5073
5074 1996-06-20  Hrvoje Niksic  <hniksic@srce.hr>
5075
5076         * http.c (http_loop): New function.
5077
5078         * loop.c: Removed *lots* of stuff from retrieve_url.
5079
5080         * url.c (parseurl): Changed to work with urlinfo. Integrated
5081         username finding and path parsing.
5082         (newurl): New function.
5083         (freeurl): New function.
5084         (mkstruct): Removed the old bogosities, made it urlinfo-compliant.
5085         (url_filename): Likewise.
5086         (path_simplify): Accept relative paths too.
5087         (opt_url): Made urlinfo-compliant, removed bogosities.
5088         (path_simplify): Expanded to accept relative paths.
5089         (str_url): A replacement for hide_url
5090         (decode_string): Fixed a bug that caused malfunctioning when
5091         encountering an illegal %.. combination.
5092         (opt_url): Removed the argument. Dot-optimizations are now default.
5093
5094         * nmalloc.c (strdupdelim): New function.
5095
5096         * url.h: Added the urlinfo structure
5097
5098 1996-06-19  Hrvoje Niksic  <hniksic@srce.hr>
5099
5100         * url.c (hide_url): Thrown out the protocol assertion. Do not
5101         change the URL if the protocol if not recognized.
5102         (findurl): Put continue instead of break.
5103
5104 1996-06-18  Hrvoje Niksic  <hniksic@srce.hr>
5105
5106         * sample.geturlrc: Changed the defaults to be commented out and
5107         harmless (previous defaults caused pains if copied to
5108         ~/.geturlrc).
5109
5110         * http.c (gethttp): Print the HTTP request in debug mode.
5111
5112         * connect.c (iread): Added EINTR check loop to select-ing
5113         too. EINTR is now correctly handled with select().
5114
5115         * TODO: new file
5116
5117 1996-05-07  Hrvoje Niksic  <hniksic@srce.hr>
5118
5119         * host.c (same_host): Made the function a little bit more
5120         intelligent regarding diversified URL syntaxes.
5121
5122         * url.c (skip_url): Spaces are now skipped after URL:
5123
5124         * Released 1.3.1 with the patch to prevent crashing when sending
5125         NULL to robot* functions and the patch to compile "out of the box"
5126         on AIX.
5127
5128         * recr.c (recursive_retrieve): Added checking whether this_url is
5129         NULL when calling the robot functions.
5130
5131         * ChangeLog: New file.