home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 13 / AACD13.ISO / AACD / Online / wget / ChangeLog < prev    next >
Text File  |  1999-03-30  |  84KB  |  3,221 lines

  1. 1998-09-21  Hrvoje Niksic  <hniksic@srce.hr>
  2.  
  3.     * version.c: Wget 1.5.3 is released.
  4.  
  5. 1998-09-21  Hrvoje Niksic  <hniksic@srce.hr>
  6.  
  7.     * host.c (ftp_getaddress): Don't warn when reverse-lookup of local 
  8.     address doesn't yield FQDN.
  9.  
  10. 1998-09-21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
  11.  
  12.     * cmpt.c (strerror): Fix declaration of sys_errlist.
  13.  
  14. 1998-09-11  Hrvoje Niksic  <hniksic@srce.hr>
  15.  
  16.     * main.c (main): Don't use an array subscript as the first
  17.     argument to STRDUP_ALLOCA.
  18.     From Kaveh R. Ghazi.
  19.  
  20. 1998-09-11  Szakacsits Szabolcs  <szaka@sienet.hu>
  21.  
  22.     * html.c (htmlfindurl): Download table background.
  23.  
  24. 1998-09-11  Hans Grobler  <grobh@conde.ee.sun.ac.za>
  25.  
  26.     * init.c (parse_line): Would free *com before allocating it.
  27.     (parse_line): Would free com instead of *com.
  28.  
  29. 1998-09-10  Howard Gayle  <howard@fjst.com>
  30.  
  31.     * url.c (get_urls_html): Would drop the last character of the
  32.      link.
  33.  
  34. 1998-09-10  Hrvoje Niksic  <hniksic@srce.hr>
  35.  
  36.     * http.c (http_loop): Don't print status code if quiet.
  37.  
  38. 1998-09-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  39.  
  40.     * log.c: Use <stdarg.h> only when __STDC__.
  41.  
  42. 1998-09-10  Adam D. Moss  <adam@foxbox.org>
  43.  
  44.     * html.c (htmlfindurl): Download <layer src=...>.
  45.  
  46. 1998-09-10  Howard Gayle  <howard@fjst.com>
  47.  
  48.     * ftp.c (ftp_retrieve_list): Don't update the time stamp of a file 
  49.     not retrieved.
  50.  
  51. 1998-06-27  Hrvoje Niksic  <hniksic@srce.hr>
  52.  
  53.     * utils.c: Include <libc.h> on NeXT.
  54.  
  55. 1998-06-26  Heinz Salzmann  <heinz.salzmann@intermetall.de>
  56.  
  57.     * url.c (get_urls_html): Fix calculation of URL position.
  58.  
  59. 1998-06-23  Hrvoje Niksic  <hniksic@srce.hr>
  60.  
  61.     * version.c: Wget 1.5.2 is released.
  62.  
  63. 1998-06-23  Dave Love  <d.love@dl.ac.uk>
  64.  
  65.     * ftp.c, init.c, netrc.c: Include errno.h.
  66.  
  67.     * http.c: Include errno.h and time header.
  68.  
  69.     * Makefile.in (exext): Define.
  70.     (install.bin, uninstall.bin): Use it.
  71.  
  72. 1998-06-21  Hrvoje Niksic  <hniksic@srce.hr>
  73.  
  74.     * http.c (http_loop): Don't attempt to compare local and remote
  75.     sizes if the remote size is unknown.
  76.  
  77. 1998-06-16  Hrvoje Niksic  <hniksic@srce.hr>
  78.  
  79.     * url.c (get_urls_html): Use malloc() instead of alloca in the
  80.      loop.
  81.  
  82. 1998-06-13  Hrvoje Niksic  <hniksic@srce.hr>
  83.  
  84.     * version.c: Wget 1.5.2-b4 is released.
  85.  
  86. 1998-06-13  Hrvoje Niksic  <hniksic@srce.hr>
  87.  
  88.     * url.c (get_urls_html): Ignore spaces before and after the URI.
  89.  
  90. 1998-06-08  Wanderlei Antonio Cavassin  <cavassin@conectiva.com.br>
  91.  
  92.     * ftp.c (getftp): Translate `done'.
  93.  
  94. 1998-06-06  Hrvoje Niksic  <hniksic@srce.hr>
  95.  
  96.     * version.c: Wget 1.5.2-b3 is released.
  97.  
  98. 1998-06-06  Alexander Kourakos  <awk@bnt.com>
  99.  
  100.     * init.c (cleanup): Close dfp, don't free it.
  101.  
  102. 1998-06-06  Hrvoje Niksic  <hniksic@srce.hr>
  103.  
  104.     * utils.c (make_directory): Twiddle.
  105.  
  106.     * config.h.in: Added template for access().
  107.  
  108. 1998-06-05  Mathieu Guillaume  <mat@cythere.com>
  109.  
  110.     * html.c (htmlfindurl): Download <input src=...>
  111.  
  112. 1998-06-03  Hrvoje Niksic  <hniksic@srce.hr>
  113.  
  114.     * utils.c (file_exists_p): Use access() with two arguments.
  115.  
  116. 1998-05-27  Martin Kraemer  <Martin.Kraemer@mch.sni.de>
  117.  
  118.     * netrc.c (parse_netrc): Correct logic.
  119.  
  120. 1998-05-27  Hrvoje Niksic  <hniksic@srce.hr>
  121.  
  122.     * ftp.c (getftp): Added `break'; suggested by Lin Zhe Min
  123.      <ljm@ljm.wownet.net>.
  124.  
  125. 1998-05-24  Hrvoje Niksic  <hniksic@srce.hr>
  126.  
  127.     * version.c: Wget 1.5.2-b2 is released.
  128.  
  129. 1998-05-18  Juan Jose Rodriguez  <jcnsoft@jal1.telmex.net.mx>
  130.  
  131.     * mswindows.h: Don't translate mkdir to _mkdir under Borland.
  132.  
  133. 1998-05-17  Hrvoje Niksic  <hniksic@srce.hr>
  134.  
  135.     * retr.c (elapsed_time): Return correct value when
  136.     HAVE_GETTIMEOFDAY is undefined.
  137.  
  138. 1998-05-13  Hrvoje Niksic  <hniksic@srce.hr>
  139.  
  140.     * version.c: Wget 1.5.2-b1 is released.
  141.  
  142. 1998-05-08  Hrvoje Niksic  <hniksic@srce.hr>
  143.  
  144.     * getopt.c (_getopt_internal): Use exec_name instead of argv[0].
  145.     (_getopt_internal): Don't translate `#if 0'-ed strings.
  146.  
  147. 1998-05-06  Douglas E. Wegscheid  <wegscd@whirlpool.com>
  148.  
  149.     * mswindows.c (ws_handler): Use fork_to_background().
  150.  
  151. 1998-05-05  Hrvoje Niksic  <hniksic@srce.hr>
  152.  
  153.     * version.c: Wget 1.5.1 is released.
  154.  
  155. 1998-05-05  Hrvoje Niksic  <hniksic@srce.hr>
  156.  
  157.     * http.c (parse_http_status_line): Avoid `minor' and `major'
  158.      names.
  159.  
  160. 1998-05-02  Hrvoje Niksic  <hniksic@srce.hr>
  161.  
  162.     * utils.c (mkdirhier): Renamed to make_directory.
  163.  
  164. 1998-05-01  Hrvoje Niksic  <hniksic@srce.hr>
  165.  
  166.     * mswindows.c (fork_to_background): Define under Windows.
  167.  
  168.     * utils.c (fork_to_background): New function.
  169.  
  170.     * html.c (htmlfindurl): Removed rerdundant casts.
  171.  
  172. 1998-05-01  Douglas E. Wegscheid  <wegscd@whirlpool.com>
  173.  
  174.     * mswindows.c (ws_mypath): Cache the path.
  175.  
  176. 1998-04-30  Douglas E. Wegscheid  <wegscd@whirlpool.com>
  177.  
  178.     * ftp.h: Prefix enum ftype members with FT_.
  179.  
  180.     * ftp-ls.c, ftp.c, html.h: Adjust accordingly.
  181.  
  182.     * mswindows.h: Use stat under Borland, _stat under MSVC.
  183.  
  184. 1998-04-28  Hrvoje Niksic  <hniksic@srce.hr>
  185.  
  186.     * http.c (known_authentication_scheme_p): New function.
  187.     (gethttp): Handle authorization more correctly.
  188.  
  189.     * ftp-basic.h: Removed.
  190.  
  191.     * cmpt.h: Removed.
  192.  
  193.     * utils.c: Include <unistd.h> before <pwd.h>; needed under SunOS
  194.     with gcc 2.8.
  195.     (numdigit): Use `while' loop.
  196.  
  197.     * http.c (create_authorization_line): Detect authentication
  198.      schemes case-insensitively.
  199.  
  200.     * http.c (extract_header_attr): Use strdupdelim().
  201.     (digest_authentication_encode): Move declaration of local
  202.      variables to smaller scope.
  203.     (digest_authentication_encode): Reset REALM, OPAQUE and NONCE.
  204.     (create_authorization_line): Detect authentication schemes
  205.     case-insensitively.
  206.  
  207.     * utils.c (touch): Constify.
  208.  
  209.     * http.c (gethttp): Report a nicer error when no data is received.
  210.  
  211.     * rbuf.h (RBUF_READCHAR): Ditto.
  212.  
  213.     * ftp-basic.c (ftp_response): Use sizeof.
  214.  
  215. 1998-04-27  Hrvoje Niksic  <hniksic@srce.hr>
  216.  
  217.     * retr.c (print_percentage): EXPECTED is long, not int.
  218.     (print_percentage): Use floating-point arithmetic to avoid
  219.     overflow with large files' sizes multiplied with 100.
  220.  
  221. 1998-04-27  Gregor Hoffleit  <flight@mathi.uni-heidelberg.de>
  222.  
  223.     * config.h.in: Added pid_t stub.
  224.  
  225.     * sysdep.h (S_ISREG): Moved here from mswindows.h (NeXT doesn't
  226.     define it).
  227.  
  228. 1998-04-20  Hrvoje Niksic  <hniksic@srce.hr>
  229.  
  230.     * version.c: Wget 1.5.0 is released.
  231.  
  232. 1998-04-18  Hrvoje Niksic  <hniksic@srce.hr>
  233.  
  234.     * url.c (str_url): Ditto.
  235.  
  236.     * ftp-basic.c (ftp_rest): Use new name.
  237.  
  238.     * utils.c (long_to_string): Renamed from prnum().
  239.  
  240. 1998-04-16  Hrvoje Niksic  <hniksic@srce.hr>
  241.  
  242.     * version.c: Wget 1.5-b17 is released.
  243.  
  244. 1998-04-08  Hrvoje Niksic  <hniksic@srce.hr>
  245.  
  246.     * headers.c (header_get): New argument FLAGS.
  247.  
  248.     * http.c (gethttp): If request is malformed, bail out of the
  249.      header loop.
  250.     (gethttp): Check for empty header *after* the status line checks.
  251.     (gethttp): Disallow continuations for status line.
  252.  
  253. 1998-04-08  Hrvoje Niksic  <hniksic@srce.hr>
  254.  
  255.     * version.c: Wget 1.5-b16 is released.
  256.  
  257. 1998-04-08  Hrvoje Niksic  <hniksic@srce.hr>
  258.  
  259.     * init.c (commands): Renamed `always_rest' to `continue'.
  260.  
  261. 1998-04-05  Hrvoje Niksic  <hniksic@srce.hr>
  262.  
  263.     * all: Use it.
  264.  
  265.     * log.c (logputs): New argument.
  266.     (logvprintf): Ditto.
  267.     (logprintf): Ditto.
  268.  
  269. 1998-04-04  Hrvoje Niksic  <hniksic@srce.hr>
  270.  
  271.     * http.c (http_atotm): Update comment.
  272.  
  273.     * main.c (i18n_initialize): Set LC_MESSAGES, not LC_ALL.
  274.  
  275.     * wget.h: Renamed ENABLED_NLS to HAVE_NLS.
  276.  
  277.     * main.c (i18n_initialize): New function.
  278.     (main): Use it.
  279.  
  280.     * log.c: Include <unistd.h>.
  281.  
  282.     * retr.c (show_progress): Cast alloca to char *.
  283.  
  284. 1998-04-04  Hrvoje Niksic  <hniksic@srce.hr>
  285.  
  286.     * version.c: Wget 1.5-b15 is released.
  287.  
  288. 1998-04-04  Hrvoje Niksic  <hniksic@srce.hr>
  289.  
  290.     * utils.h: Declare file_non_directory_p().
  291.  
  292. 1998-04-03  Hrvoje Niksic  <hniksic@srce.hr>
  293.  
  294.     * main.c (main): It's `tries', not `numtries' now.
  295.  
  296. 1998-04-01  Hrvoje Niksic  <hniksic@srce.hr>
  297.  
  298.     * init.c (getperms): Removed.
  299.  
  300. 1998-04-01  Tim Charron  <tcharron@interlog.com>
  301.  
  302.     * log.c (logvprintf): Don't use ARGS twice.
  303.  
  304. 1998-04-01  John  <john@futuresguide.com>
  305.  
  306.     * mswindows.c: Cleaned up.
  307.  
  308. 1998-04-01  Hrvoje Niksic  <hniksic@srce.hr>
  309.  
  310.     * version.c: Wget 1.5-b14 is released.
  311.  
  312. 1998-04-01  Hrvoje Niksic  <hniksic@srce.hr>
  313.  
  314.     * ftp-opie.c (STRLEN4): New macro.
  315.     (btoe): Use it.
  316.  
  317. 1998-04-01  Junio Hamano  <junio@twinsun.com>
  318.  
  319.     * http.c: Document all the Digest functions.
  320.  
  321. 1998-04-01  Hrvoje Niksic  <hniksic@srce.hr>
  322.  
  323.     * utils.c (file_non_directory_p): Renamed from isfile().
  324.  
  325.     * mswindows.h (S_ISREG): New macro, suggested by Tim Adam.
  326.  
  327. 1998-03-31  Hrvoje Niksic  <hniksic@srce.hr>
  328.  
  329.     * utils.c (mkdirhier): Use 0777 instead of opt.dirmode.
  330.  
  331.     * init.c (cmd_spec_dotstyle): Use 48 dots per line for binary
  332.      style.
  333.     (cmd_permissions): Removed.
  334.  
  335.     * config.h.in: Add template for WORDS_BIGENDIAN.
  336.  
  337. 1998-03-31  Junio Hamano  <junio@twinsun.com>
  338.  
  339.     * http.c (HEXD2asc): New macro.
  340.     (dump_hash): Use it.
  341.  
  342. 1998-03-31  Hrvoje Niksic  <hniksic@srce.hr>
  343.  
  344.     * version.c: Wget 1.5-b13 is released.
  345.  
  346. 1998-03-31  Hrvoje Niksic  <hniksic@srce.hr>
  347.  
  348.     * main.c (main): Don't try to use `com'.
  349.  
  350. 1998-03-30  Hrvoje Niksic  <hniksic@srce.hr>
  351.  
  352.     * init.c (cmd_permissions): New function.
  353.  
  354. 1998-03-30  Hrvoje Niksic  <hniksic@srce.hr>
  355.  
  356.     * version.c: Wget 1.5-b12 is released.
  357.  
  358. 1998-03-30  Hrvoje Niksic  <hniksic@srce.hr>
  359.  
  360.     * init.c (commands): Renamed `numtries' to `tries'.
  361.     (cmd_spec_debug): Removed.
  362.     (home_dir): Under Windows, return `C:\' if HOME is undefined.
  363.  
  364. 1998-03-29  Hrvoje Niksic  <hniksic@srce.hr>
  365.  
  366.     * config.h.in: Define _XOPEN_SOURCE.
  367.  
  368.     * init.c (check_user_specified_header): New function.
  369.     (cmd_spec_header): Use it.
  370.     (cmd_spec_useragent): New function.
  371.  
  372. 1998-03-29  Hrvoje Niksic  <hniksic@srce.hr>
  373.  
  374.     * version.c: Wget 1.5-b11 is released.
  375.  
  376. 1998-03-28  Hrvoje Niksic  <hniksic@srce.hr>
  377.  
  378.     * wget.h: Include <libintl.h> only if NLS is enabled.
  379.  
  380. 1998-03-26  Hrvoje Niksic  <hniksic@srce.hr>
  381.  
  382.     * options.h (struct options): Made `wait' a long.
  383.     (struct options): Ditto for `timeout'.
  384.  
  385. 1998-03-19  Hrvoje Niksic  <hniksic@srce.hr>
  386.  
  387.     * utils.c (exists): Renamed to file_exists_p.
  388.     (file_exists_p): Use access() if available.
  389.  
  390. 1998-03-17  Hrvoje Niksic  <hniksic@srce.hr>
  391.  
  392.     * utils.c (memfatal): Set save_log_p to 0 to avoid potential
  393.      infloop.
  394.  
  395.     * log.c: do_logging -> save_log_p.
  396.  
  397.     * config.h.in: Added template for HAVE_VSNPRINTF.
  398.  
  399. 1998-03-16  Hrvoje Niksic  <hniksic@srce.hr>
  400.  
  401.     * init.c: Ditto.
  402.  
  403.     * http.c: Protect declaration against non-ANSI compiler.
  404.  
  405.     * log.c (logvprintf): Use vsnprintf() if available.
  406.  
  407.     * getopt.c (main): Don't translate test stuff.
  408.  
  409. 1998-03-16  Hrvoje Niksic  <hniksic@srce.hr>
  410.  
  411.     * version.c: Wget 1.5-b10 is released.
  412.  
  413. 1998-03-11  Hrvoje Niksic  <hniksic@srce.hr>
  414.  
  415.     * ftp.c (getftp): Don't translate "CWD %s".
  416.  
  417.     * wget.h (GCC_FORMAT_ATTR): Renamed from FORMAT_ATTR.
  418.  
  419. 1998-03-07  Hrvoje Niksic  <hniksic@srce.hr>
  420.  
  421.     * ftp-opie.c (btoe): Use memcpy() instead of strncat().
  422.  
  423.     * log.c (logputs): New function.
  424.     (logvprintf): Renamed from vlogmsg; use logputs().
  425.  
  426.     * retr.c (show_progress): Print `[100%]' when the retrieval is
  427.     finished.
  428.  
  429.     * init.c (run_wgetrc): Use FILE, not PATH.
  430.     (wgetrc_file_name): Ditto.
  431.  
  432. 1998-03-07  Tim Adam  <tma@osa.com.au>
  433.  
  434.     * recur.c (parse_robots): Correctly reset `entries' on empty
  435.      disallow.
  436.  
  437. 1998-03-07  Hrvoje Niksic  <hniksic@srce.hr>
  438.  
  439.     * init.c (cmd_spec_debug): Use cmd_boolean().
  440.  
  441. 1998-02-26  Fred Fish  <fnf@ninemoons.com>
  442.     * ftp-basic.c (errno.h): Include this file.
  443.     * ftp.c (errno.h): Ditto.
  444.     * http.c (errno.h): Ditto.
  445.     * init.c (errno.h): Ditto.
  446.     * main.c (errno.h): Ditto.
  447.     * netrc.c (errno.h): Ditto.
  448.  
  449.     * html.c (errno): Only declare if not defined as macro.
  450.     * init.c (errno): Ditto.
  451.     * main.c (errno): Ditto.
  452.     * netrc.c (errno): Ditto.
  453.     * url.c (errno): Ditto.
  454.  
  455. 1998-02-23  Hrvoje Niksic  <hniksic@srce.hr>
  456.  
  457.     * http.c (gethttp): Create proxy-authorization correctly.
  458.  
  459. 1998-02-22  Hrvoje Niksic  <hniksic@srce.hr>
  460.  
  461.     * md5.c: Ditto.
  462.  
  463.     * getopt.c: Use ANSI function definitions.
  464.  
  465.     * ftp-opie.c: New file.
  466.  
  467.     * options.h: Don't redefine EXTERN.
  468.  
  469.     * init.c: Sort it correctly.
  470.  
  471. 1998-02-22  Hrvoje Niksic  <hniksic@srce.hr>
  472.  
  473.     * version.c: Wget 1.5-b9 is released.
  474.  
  475. 1998-02-22  Hrvoje Niksic  <hniksic@srce.hr>
  476.  
  477.     * recur.c (recursive_retrieve): Reset `first_time'.
  478.  
  479.     * ftp.c (getftp): Added `default' clause to switches of uerr_t.
  480.  
  481.     * rbuf.c (rbuf_peek): Simplified.
  482.     (rbuf_flush): Use MINVAL.
  483.  
  484.     * wget.h (MINVAL): Moved from url.h.
  485.  
  486.     * rbuf.h (RBUF_FD): New macro.
  487.  
  488.     * url.c (add_url): Add to the head of the list.
  489.  
  490.     * ftp.c (ftp_retrieve_list): Set the permissions to downloaded
  491.      file.
  492.     (getftp): Set the default permissions to 0600.
  493.  
  494. 1998-02-21  Hrvoje Niksic  <hniksic@srce.hr>
  495.  
  496.     * url.c (get_urls_html): Ditto.
  497.     (convert_links): Ditto.
  498.  
  499.     * recur.c (parse_robots): Ditto.
  500.  
  501.     * html.c (ftp_index): Ditto.
  502.  
  503.     * ftp-ls.c (ftp_parse_unix_ls): Open file as binary.
  504.  
  505.     * init.c (defaults): Initialize `opt' to zero via memset.
  506.  
  507.     * http.c (digest_authentication_encode): goto considered harmful.
  508.  
  509. 1998-02-19  Hrvoje Niksic  <hniksic@srce.hr>
  510.  
  511.     * ftp.c (delelement): Simplify and fix leak.
  512.  
  513. 1998-02-18  Hrvoje Niksic  <hniksic@srce.hr>
  514.  
  515.     * http.c (dump_hash): Use HEXD2ASC instead of home-grown stuff.
  516.  
  517.     * url.h (HEXD2ASC): Removed warning.
  518.  
  519.     * init.c (comind): Use binary search.
  520.     (commands): Reorganized.
  521.     (setval): Ditto.
  522.     (cmd_boolean): New function.
  523.     (cmd_number): Ditto.
  524.     (cmd_number_inf): Ditto.
  525.     (cmd_string): Ditto.
  526.     (cmd_vector): Ditto.
  527.     (cmd_directory_vector): Ditto.
  528.     (cmd_bytes): Ditto.
  529.     (cmd_time): Ditto.
  530.     (cmd_spec_debug): Ditto.
  531.     (cmd_spec_dirmode): Ditto.
  532.     (cmd_spec_dirstruct): Ditto.
  533.     (cmd_spec_dotstyle): Ditto.
  534.     (cmd_spec_header): Ditto.
  535.     (cmd_spec_htmlify): Ditto.
  536.     (cmd_spec_mirror): Ditto.
  537.     (cmd_spec_outputdocument): Ditto.
  538.     (cmd_spec_recursive): Ditto.
  539.     (settime): Merged with cmd_time().
  540.     (setbytes): Merged with cmd_bytes().
  541.     (setonoff): Merged with cmd_boolean().
  542.     (onoff): Ditto.
  543.  
  544. 1998-02-17  Hrvoje Niksic  <hniksic@srce.hr>
  545.  
  546.     * Makefile.in (distclean): Remove `config.h'.
  547.  
  548. 1998-02-17  Hrvoje Niksic  <hniksic@srce.hr>
  549.  
  550.     * version.c: Wget 1.5-b8 is released.
  551.  
  552. 1998-02-17  Hrvoje Niksic  <hniksic@srce.hr>
  553.  
  554.     * http.c (digest_authentication_encode): New function.
  555.     (create_authorization_line): Use it.
  556.     (dump_hash): New function.
  557.     (digest_authentication_encode): Use it.
  558.  
  559.     * fnmatch.c: Renamed from `mtch.c'.
  560.  
  561. 1998-02-15  Karl Eichwalder  <ke@suse.de>
  562.  
  563.     * main.c (main): Tag "Written by..." string as translatable.
  564.  
  565. 1998-02-15  Hrvoje Niksic  <hniksic@srce.hr>
  566.  
  567.     * wget.h (FREE_MAYBE): New macro.
  568.  
  569.     * http.c (create_authorization_line): Don't use ANSI C string
  570.      concatenation feature.
  571.     (basic_authentication_encode): Use alloca() for temporary
  572.      variables.
  573.  
  574.     * recur.h: Ditto.
  575.  
  576.     * http.c: Ditto.
  577.  
  578.     * headers.h: Ditto.
  579.  
  580.     * ftp-basic.c: Protect declaration against non-ANSI compiler.
  581.  
  582.     * http.c (create_authorization_line): Cast `unsigned char *' to
  583.     `char *' for sprintf, to shut up the noisy Digital Unix cc.
  584.  
  585. 1998-02-15  Hrvoje Niksic  <hniksic@srce.hr>
  586.  
  587.     * version.c: Wget 1.5-b7 is released.
  588.  
  589. 1998-02-15  Hrvoje Niksic  <hniksic@srce.hr>
  590.  
  591.     * cmpt.c (strstr): Synched with glibc-2.0.6.
  592.  
  593.     * ftp-basic.c (calculate_skey_response): Ditto.
  594.     (calculate_skey_response): Use alloca().
  595.  
  596.     * http.c (create_authorization_line): Work with FSF's version of
  597.      md5.c.
  598.  
  599.     * md5.c: New file, from GNU libc.
  600.  
  601. 1998-02-14  Hrvoje Niksic  <hniksic@srce.hr>
  602.  
  603.     * url.h (URL_CLEANSE): Name the temporary variable more carefully.
  604.  
  605. 1998-02-13  Hrvoje Niksic  <hniksic@srce.hr>
  606.  
  607.     * http.c (basic_authentication_encode): New function, instead of
  608.     the macro.
  609.  
  610. 1998-02-13  Junio Hamano  <junio@twinsun.com>
  611.  
  612.     * http.c: Add HTTP-DA support.
  613.     * ftp-basic.c: Add Opie/S-key support.
  614.     * config.h.in, Makefile.in: Add HTTP-DA and Opie/S-key support.
  615.     * md5.c, md5.h: New files.
  616.  
  617. 1998-02-13  Hrvoje Niksic  <hniksic@srce.hr>
  618.  
  619.     * http.c (http_process_range): Renamed from hprocrange().
  620.     (http_process_range): Parse the whole header.
  621.  
  622.     * headers.c: New file.
  623.     (header_process): New function.
  624.     (header_get): Renamed from fetch_next_header.
  625.  
  626.     * all: Include utils.h only where necessary.
  627.  
  628.     * wget.h: Declare xmalloc(), xrealloc() and xstrdup() here.
  629.  
  630.     * wget.h: Add provisions for dmalloc.
  631.  
  632. 1998-02-12  Hrvoje Niksic  <hniksic@srce.hr>
  633.  
  634.     * version.c: Wget 1.5-b6 is released.
  635.  
  636. 1998-02-12  Hrvoje Niksic  <hniksic@srce.hr>
  637.  
  638.     * ftp.c (ftp_loop): Determine `filename' more precisely.
  639.  
  640.     * init.c (setval): Don't set `opt.quiet' if output-document is
  641.      `-'.
  642.  
  643.     * log.c (log_init): Print to STDERR instead of STDOUT.
  644.     (vlogmsg): Use STDERR by default.
  645.     (logflush): Ditto.
  646.  
  647. 1998-02-11  Simon Josefsson  <jas@pdc.kth.se>
  648.  
  649.     * host.c: Use addr_in again.
  650.  
  651. 1998-02-08  Karl Eichwalder  <karl@suse.de>
  652.  
  653.     * http.c (gethttp): Fixed typo.
  654.  
  655. 1998-02-08  Hrvoje Niksic  <hniksic@srce.hr>
  656.  
  657.     * version.c: Wget 1.5-b5 is released.
  658.  
  659. 1998-02-08  Hrvoje Niksic  <hniksic@srce.hr>
  660.  
  661.     * retr.c (show_progress): Use it.
  662.  
  663.     * log.c (logflush): New function.
  664.  
  665.     * wget.h: Utilize __attribute__ if on gcc.
  666.  
  667. 1998-02-07  Hrvoje Niksic  <hniksic@srce.hr>
  668.  
  669.     * http.c (base64_encode_line): New argument LENGTH.
  670.     (BASIC_AUTHENTICATION_ENCODE): Use it.
  671.     (BASIC_AUTHENTICATION_ENCODE): Take length of HEADER into account.
  672.  
  673.     * main.c (main): Fixed fprintf() format mismatch.
  674.  
  675. 1998-02-06  Hrvoje Niksic  <hniksic@srce.hr>
  676.  
  677.     * version.c: Wget 1.5-b4 is released.
  678.  
  679. 1998-02-03  Simon Josefsson  <jas@pdc.kth.se>
  680.  
  681.     * host.c: use sockaddr_in instead of addr_in.
  682.  
  683. 1998-02-04  Hrvoje Niksic  <hniksic@srce.hr>
  684.  
  685.     * init.c (cleanup): Use it.
  686.  
  687.     * recur.c (recursive_cleanup): New function.
  688.  
  689.     * retr.c (retrieve_from_file): Ditto.
  690.  
  691.     * main.c (main): Use it.
  692.  
  693.     * recur.c (recursive_reset): New function.
  694.  
  695.     * retr.c (retrieve_from_file): Ditto.
  696.  
  697.     * main.c (main): Simplify call to recursive_retrieve().
  698.  
  699.     * recur.c (recursive_retrieve): Removed FLAGS argument.
  700.  
  701.     * http.c (gethttp): Changed call to iwrite().
  702.  
  703. 1998-02-03  Hrvoje Niksic  <hniksic@srce.hr>
  704.  
  705.     * url.c (get_urls_html): Ditto.
  706.     (free_urlpos): Ditto.
  707.     (mkstruct): Ditto.
  708.     (construct): Ditto.
  709.  
  710.     * retr.c (retrieve_url): Move declaration of local variables to
  711.     smaller scope.
  712.  
  713.     * url.c (urlproto): Use it.
  714.     (parseurl): Ditto.
  715.     (str_url): Ditto.
  716.     (get_urls_html): Ditto.
  717.  
  718.     * utils.h (ARRAY_SIZE): New macro.
  719.  
  720.     * url.c (proto): Moved from url.h.
  721.  
  722.     * url.h (URL_CLEANSE): Reformatted.
  723.     (USE_PROXY_P): Renamed from USE_PROXY.
  724.  
  725.     * ftp-basic.c: Adjust to the new interface of iwrite().
  726.  
  727.     * ftp-basic.c (ftp_port): Use alloca().
  728.  
  729. 1998-02-03  Hrvoje Niksic  <hniksic@srce.hr>
  730.  
  731.     * version.c: Wget 1.5-b3 is released.
  732.  
  733.     * host.c (ftp_getaddress): Don't print to stderr directly.
  734.  
  735.     * init.c (setbytes): Support `g' for gigabytes.
  736.     (cmdtype): New specification CTIME.
  737.     (setval): Use it with settime().
  738.     (commands): Use it for WAIT and TIMEOUT.
  739.  
  740. 1998-02-02  Hrvoje Niksic  <hniksic@srce.hr>
  741.  
  742.     * http.c (BASIC_AUTHENTICATION_ENCODE): New macro.
  743.     (gethttp): Use it.
  744.  
  745.     * utils.c (unique_name_1): Moved from url.c.
  746.     (unique_name): Ditto.
  747.  
  748.     * url.c (url_filename): Ditto.
  749.  
  750.     * log.c (redirect_output): Changed call to unique_name().
  751.  
  752.     * url.c (unique_name_1): Renamed from unique_name().
  753.     (unique_name): Changed interface.
  754.  
  755.     * init.c (enum cmdid): Moved from init.h.
  756.     (cmdtype): Ditto.
  757.     (struct cmd): Ditto.
  758.  
  759.     * main.c (main): Use it.
  760.     (main): Moved `--backups' to not have a short option.
  761.  
  762.     * options.h (struct options): New member BACKGROUND.
  763.  
  764.     * main.c (print_help): Rearranged.
  765.     (main): New long options for -n* short options: --no-directories,
  766.      --no-host-directories, --non-verbose, --no-host-lookup and
  767.      --dont-remove-listing.
  768.  
  769. 1998-02-01  Hrvoje Niksic  <hniksic@srce.hr>
  770.  
  771.     * main.c (main): Use log_close().
  772.  
  773.     * log.c: New variable LOGFP.
  774.     (vlogmsg): Use it.
  775.     (redirect_output): Don't open /dev/null; set LOGFP to stdin
  776.      instead.
  777.     (log_close): New function.
  778.  
  779.     * options.h (struct options): Removed LFILE.
  780.  
  781.     * log.c (log_enable): Removed.
  782.  
  783.     * main.c (main): Use it.
  784.  
  785.     * log.c (log_init): New function.
  786.  
  787.     * url.c (get_urls_html): Removed needless assignment to BASE.
  788.  
  789.     * host.c (add_hlist): Don't set CMP needlessly.
  790.  
  791.     * utils.c (match_backwards): Ditto.
  792.     (in_acclist): Ditto.
  793.  
  794.     * url.c (findurl): Ditto.
  795.  
  796.     * netrc.c (parse_netrc): Ditto.
  797.  
  798.     * log.c (log_dump): Ditto.
  799.  
  800.     * html.c (html_quote_string): Ditto.
  801.  
  802.     * ftp-basic.c (ftp_request): Made static.
  803.  
  804.     * connect.c: Made global variables static.
  805.  
  806.     * url.c (construct): Ditto.
  807.  
  808.     * init.c (init_path): Avoid assignment inside `if'-condition.
  809.  
  810.     * ftp.c: Don't include in.h or winsock.h.
  811.  
  812.     * ftp.c (ftp_loop): Use SZ.
  813.  
  814.     * connect.c (bindport): Cast &addrlen to int *.
  815.     (conaddr): Ditto.
  816.  
  817.     * init.c (initialize): Don't use SYSTEM_WGETRC unconditionally.
  818.  
  819. 1998-01-31  Hrvoje Niksic  <hniksic@srce.hr>
  820.  
  821.     * ftp.c (getftp): Initialize opt.ftp_pass here.
  822.     (ftp_retrieve_dirs): Use alloca().
  823.  
  824.     * init.c (defaults): Don't initialize opt.ftp_pass.
  825.  
  826.     * sysdep.h (S_ISLNK): Declare for OS/2; ditto for lstat.
  827.     From Ivan F. Martinez <ivanfm@ecodigit.com.br>.
  828.  
  829. 1998-01-31  Hrvoje Niksic  <hniksic@srce.hr>
  830.  
  831.     * recur.c (parse_robots): Check for comments more correctly.
  832.  
  833.     * host.c (ftp_getaddress): Use STRDUP_ALLOCA.
  834.     (ftp_getaddress): Add diagnostics when reverse-lookup yields only
  835.      hostname.
  836.  
  837. 1998-01-31  Hrvoje Niksic  <hniksic@srce.hr>
  838.  
  839.     * version.c: Wget 1.5-b2 is released.
  840.  
  841.     * netrc.c (NETRC_FILE_NAME): Moved from netrc.h.
  842.  
  843.     * utils.c (proclist): Pass FNM_PATHNAME to fnmatch().
  844.  
  845.     * ftp-basic.c (ftp_pasv): Avoid unnecessary casting to unsigned
  846.      char.
  847.  
  848.     * log.c: Don't attempt to hide arguments from ansi2knr.
  849.  
  850.     * cmpt.c: Synched strptime() and mktime() with glibc-2.0.6.
  851.  
  852.     * ansi2knr.c: Use a later version, from fileutils-3.16l alpha.
  853.  
  854.     * ftp.c (getftp): Ditto.
  855.  
  856.     * http.c (gethttp): Use it.
  857.  
  858.     * retr.c (get_contents): New argument EXPECTED; pass it to
  859.      show_progress().
  860.     (show_progress): New argument EXPECTED; use it to display
  861.      percentages.
  862.  
  863.     * init.c (setval): Ditto.
  864.  
  865.     * http.c (gethttp): Ditto.
  866.     (http_loop): Ditto.
  867.  
  868.     * ftp.c (getftp): Ditto.
  869.     (ftp_loop_internal): Ditto.
  870.  
  871.     * ftp-ls.c (ftp_parse_unix_ls): Use abort() instead of assert(0).
  872.  
  873.     * sysdep.h (CLOSE): Simplify; use DEBUGP.
  874.  
  875.     * netrc.c (search_netrc): Use alloca().
  876.  
  877.     * init.c (defaults): Initialize no_flush.
  878.  
  879.     * log.c (vlogmsg): Don't flush if no_flush.
  880.  
  881.     * options.h (struct options): New variable no_flush.
  882.  
  883.     * main.c (main): Don't play games with buffering.
  884.  
  885.     * log.c (vlogmsg): Flush the output after every message.
  886.  
  887. 1998-01-31  Hrvoje Niksic  <hniksic@srce.hr>
  888.  
  889.     * init.c (parse_line): Ditto.
  890.  
  891.     * url.c (get_urls_html): Ditto.
  892.  
  893.     * main.c (main): Don't cast to unsigned char.
  894.  
  895.     * init.c (run_wgetrc): Don't cast to unsigned char.
  896.     (parse_line): Accept char instead of unsigned char.
  897.  
  898.     * html.c (htmlfindurl): Use char instead of unsigned char.
  899.  
  900.     * all: Use them.
  901.  
  902.     * sysdep.h: Add wrappers to ctype macros to make them
  903.      eight-bit-clean:
  904.  
  905. 1998-01-30  Hrvoje Niksic  <hniksic@srce.hr>
  906.  
  907.     * html.c (htmlfindurl): Download <img lowsrc=...>
  908.  
  909.     * main.c (main): Ignore SIGPIPE.
  910.  
  911.     * connect.c (select_fd): New argument WRITEP.
  912.     (iwrite): Call select_fd().
  913.  
  914. 1997-02-27  Fila Kolodny <fila@ibi.com>
  915.  
  916.     * ftp.c (ftp_retrieve_list): If retrieving symlink and the proper
  917.      one already exists, just skip it.
  918.  
  919. 1998-01-30  Hrvoje Niksic  <hniksic@srce.hr>
  920.  
  921.     * http.c (gethttp): Cosmetic changes.
  922.  
  923.     * http.c (check_end): Allow `+D...' instead of `GMT'.
  924.     From Fabrizio Pollastri <pollastri@cstv.to.cnr.it>.
  925.  
  926.     * url.c (process_ftp_type): New function.
  927.     (parseurl): Use it.
  928.  
  929.     * connect.c (iwrite): Allow writing in a few chunks.
  930.     (bindport): Made SRV static, so addr can point to it.
  931.     (select_fd): Removed HPUX kludge.
  932.  
  933.     * host.c (free_hlist): Incorporated into clean_hosts().
  934.  
  935. 1998-01-29  Hrvoje Niksic  <hniksic@srce.hr>
  936.  
  937.     * host.c (hlist): Made static.
  938.     (search_address): Cosmetic change.
  939.  
  940. 1998-01-29  Hrvoje Niksic  <hniksic@srce.hr>
  941.  
  942.     * version.c: Wget v1.5-b1 is released.
  943.  
  944.     * http.c (hgetlen): Use sizeof() to get the header length.
  945.     (hgetrange): Ditto.
  946.     (hgettype): Ditto.
  947.     (hgetlocation): Ditto.
  948.     (hgetmodified): Ditto.
  949.     (haccepts_none): Ditto.
  950.  
  951.     * main.c (main): Updated `--version' and `--help' output, as per
  952.      Francois Pinard's suggestions.
  953.  
  954.     * main.c: Include locale.h; call setlocale(), bindtextdomain() and 
  955.     textdomain().
  956.  
  957.     * config.h.in: Define stubs for I18N3.
  958.  
  959.     * wget.h: Include libintl.h.
  960.  
  961. 1998-01-28  Hrvoje Niksic  <hniksic@srce.hr>
  962.  
  963.     * url.c (mkstruct): Check for opt.cut_dirs.
  964.     (mkstruct): alloca()-te more, xmalloc() less.
  965.  
  966.     * utils.c (load_file): Check for ferror().
  967.  
  968.     * url.c (get_urls_file): Close only the files we opened.
  969.     (get_urls_html): Ditto.
  970.     (count_slashes): New function.
  971.  
  972.     * http.h: Removed.
  973.  
  974.     * http.c (gethttp): Respect username and password provided by
  975.     proxy URL.
  976.     (base64_encode_line): Write into an existing buffer instead of
  977.     malloc-ing a new one.
  978.     (struct http_stat): Moved from http.h
  979.  
  980.     * retr.c (retrieve_url): Free SUF.
  981.  
  982.     * all: Removed lots of unnecessary .h dependencies.
  983.  
  984.     * html.c (global_state): Made static.
  985.  
  986.     * utils.h (ALLOCA_ARRAY): New macro.
  987.  
  988.     * main.c (main): New option `--cut-dirs'.
  989.  
  990.     * url.c (construct): Use alloca() for T.
  991.  
  992.     * utils.c (mkdirhier): Use STRDUP_ALLOCA.
  993.  
  994.     * host.c (_host_t): Moved from host.h.
  995.     (struct host): Renamed from _host_t.
  996.     (store_hostaddress): Use STRDUP_ALLOCA for INET_S.
  997.     (realhost): Ditto.
  998.  
  999.     * host.h: Don't include url.h.
  1000.  
  1001.     * ftp.c (LIST_FILENAME): Moved from ftp.h.
  1002.  
  1003.     * init.c (DEFAULT_FTP_ACCT): Moved from ftp.h.
  1004.  
  1005.     * main.c (main): Enable log if the output goes to a TTY.
  1006.  
  1007.     * connect.h: Removed unused constant `BACKLOG'.
  1008.  
  1009.     * config.h.in: Check for isatty().
  1010.  
  1011.     * Makefile.in (LINK): Use CFLAGS when linking.
  1012.  
  1013. 1998-01-27  Hrvoje Niksic  <hniksic@srce.hr>
  1014.  
  1015.     * mswindows.c (ws_hangup): Use redirect_output().
  1016.  
  1017.     * main.c (redirect_output_signal): New function; use
  1018.      redirect_output().
  1019.  
  1020.     * log.c (redirect_output): New function, based on hangup(), which
  1021.     is deleted.
  1022.  
  1023.     * log.c (vlogmsg): New function.
  1024.  
  1025.     * wget.h (DEBUGP): Use debug_logmsg().
  1026.  
  1027.     * main.c (hangup): Use it.
  1028.  
  1029.     * log.c (log_dump): New function.
  1030.  
  1031.     * utils.h (DO_REALLOC): Use `long' for various sizes.
  1032.  
  1033.     * http.c (hskip_lws): Use `while', for clarity.
  1034.     (HTTP_DYNAMIC_LINE_BUFFER): New constant.
  1035.     (fetch_next_header): Use it instead of DYNAMIC_LINE_BUFFER.
  1036.  
  1037.     * ftp-basic.c (FTP_DYNAMIC_LINE_BUFFER): New constant.
  1038.     (ftp_response): Use it instead of DYNAMIC_LINE_BUFFER.
  1039.  
  1040.     * utils.c (DYNAMIC_LINE_BUFFER): Moved from utils.c.
  1041.     (LEGIBLE_SEPARATOR): Ditto.
  1042.     (FILE_BUFFER_SIZE): Ditto.
  1043.  
  1044.     * retr.c (BUFFER_SIZE): Moved from retr.h.
  1045.  
  1046.     * log.c: New file.
  1047.     (logmsg): Moved from utils.c.
  1048.     (debug_logmsg): New function.
  1049.  
  1050.     * mswindows.h: Include it here.
  1051.  
  1052.     * init.c: Ditto.
  1053.  
  1054.     * utils.c: Don't include <windows.h>.
  1055.  
  1056. 1998-01-25  Hrvoje Niksic  <hniksic@srce.hr>
  1057.  
  1058.     * host.c (ftp_getaddress): Ditto.
  1059.  
  1060.     * main.c (main): Use it.
  1061.  
  1062.     * utils.h (STRDUP_ALLOCA): New macro.
  1063.  
  1064.     * init.c: Prepend `wget: ' to error messages printed on stderr.
  1065.  
  1066.     * utils.c (mkdirhier): Renamed from mymkdir.
  1067.     (touch): Renamed from my_touch.
  1068.     (pwd_cuserid): Renamed from my_cuserid().
  1069.  
  1070. 1998-01-24  Andy Eskilsson  <andy.eskilsson@telelogic.se>
  1071.  
  1072.     * utils.c (accdir): Process wildcards.
  1073.     (proclist): New function.
  1074.     (accdir): Use it to avoid code repetition.
  1075.  
  1076. 1998-01-24  Hrvoje Niksic  <hniksic@srce.hr>
  1077.  
  1078.     * recur.c (parse_robots): Respect opt.useragent; use alloca().
  1079.  
  1080.     * http.c (gethttp): Construct useragent accordingly.
  1081.  
  1082.     * version.c: Changed version string to numbers-only.
  1083.  
  1084.     * main.c (print_help): List all the options.
  1085.  
  1086.     * mswindows.c (windows_main_junk): Initialize argv0 here.
  1087.  
  1088. 1998-01-24  Karl Heuer  <kwzh@gnu.org>
  1089.  
  1090.     * netrc.c (search_netrc): Initialize `l' only after processing
  1091.      netrc.
  1092.  
  1093.     * main.c (main): Don't trap SIGHUP if it's being ignored.
  1094.  
  1095. 1998-01-24  Hrvoje Niksic  <hniksic@srce.hr>
  1096.  
  1097.     * all: Use logmsg().
  1098.  
  1099.     * utils.c (time_str): Moved from retr.c.
  1100.     (logmsg): New function.
  1101.     (logmsg_noflush): Ditto.
  1102.  
  1103.     * rbuf.c: New file, moved buf_* functions here.
  1104.  
  1105.     * ftp.c (ftp_expected_bytes): Moved from ftp-basic.c.
  1106.  
  1107.     * ftp-basic.c (ftp_rest): Use prnum().
  1108.  
  1109.     * ftp-basic.c: Ditto.
  1110.  
  1111.     * ftp.c: Use the new reading functions and macros.
  1112.  
  1113.     * retr.c (buf_initialize): New function.
  1114.     (buf_initialized_p): Ditto.
  1115.     (buf_uninitialize): Ditto.
  1116.     (buf_fd): Ditto.
  1117.  
  1118.     * http.c (fetch_next_header): Use the BUF_READCHAR macro for
  1119.      efficiency.
  1120.     (gethttp): Use alloca() where appropriate.
  1121.  
  1122.     * retr.c (buf_readchar): Use it.
  1123.     (buf_peek): Use rstreams.
  1124.  
  1125.     * retr.h (BUF_READCHAR): New macro.
  1126.  
  1127.     * init.c (home_dir): Rewritten for clarity.
  1128.     (init_path): Ditto.
  1129.  
  1130.     * mswindows.c (ws_backgnd): Made static.
  1131.     (read_registry): Ditto.
  1132.     (ws_cleanup): Ditto.
  1133.     (ws_handler): Ditto.
  1134.  
  1135. 1998-01-23  Hrvoje Niksic  <hniksic@srce.hr>
  1136.  
  1137.     * alloca.c: New file.
  1138.  
  1139.     * Makefile.in (ALLOCA): Define.
  1140.  
  1141.     * mswindows.c (ws_help): Constify.
  1142.     (ws_help): Use alloca.
  1143.  
  1144.     * mswindows.c: Reformat.
  1145.  
  1146.     * all: Added _(...) annotations for I18N snarfing and translation.
  1147.  
  1148.     * host.c (ftp_getaddress): Nuke SYSINFO.
  1149.     (ftp_getaddress): Don't use getdomainname().
  1150.     (ftp_getaddress): Use uname(), where available.
  1151.  
  1152.     * http.c (gethttp): Protect a stray fprintf().
  1153.  
  1154.     * init.c (settime): New function.
  1155.     (setval): Treat WAIT specially, allowing suffixes like `m' for
  1156.     minutes, etc.
  1157.  
  1158. 1998-01-21  Hrvoje Niksic  <hniksic@srce.hr>
  1159.  
  1160.     * url.c (get_urls_html): Use alloca() for TEMP.
  1161.  
  1162. 1998-01-21  Jordan Mendelson  <jordy@wserv.com>
  1163.  
  1164.     * url.c (rotate_backups): New function.
  1165.  
  1166.     * http.c (gethttp): Ditto.
  1167.  
  1168.     * ftp.c (getftp): Rotate backups.
  1169.  
  1170. 1997-12-18  Hrvoje Niksic  <hniksic@srce.hr>
  1171.  
  1172.     * all: Renamed nmalloc(), nrealloc() and nstrdup() to xmalloc(),
  1173.      xrealloc() and xstrdup().  Use the new functions.
  1174.  
  1175.     * url.c (decode_string): Made static.
  1176.     (has_proto): Ditto.
  1177.     (parse_dir): Ditto.
  1178.     (parse_uname): Ditto.
  1179.     (mkstruct): Ditto.
  1180.     (construct): Ditto.
  1181.     (construct_relative): Ditto.
  1182.  
  1183.     * retr.c (show_progress): Made static.
  1184.  
  1185.     * recur.c (robots_url): Made static.
  1186.     (retrieve_robots): Ditto.
  1187.     (parse_robots): Ditto.
  1188.     (robots_match): Ditto.
  1189.  
  1190.     * main.h: Removed.
  1191.  
  1192.     * main.c (printhelp): Made static.
  1193.     (hangup): Ditto.
  1194.  
  1195.     * init.c (comind): Made static.
  1196.     (defaults): Ditto.
  1197.     (init_path): Ditto.
  1198.     (run_wgetrc): Ditto.
  1199.     (onoff): Ditto.
  1200.     (setonoff): Ditto.
  1201.     (setnum): Ditto.
  1202.     (myatoi): Ditto.
  1203.     (getperms): Ditto.
  1204.     (setbytes): Ditto.
  1205.  
  1206.     * http.c (fetch_next_header): Made static.
  1207.     (hparsestatline): Ditto.
  1208.     (hskip_lws): Ditto.
  1209.     (hgetlen): Ditto.
  1210.     (hgetrange): Ditto.
  1211.     (hgettype): Ditto.
  1212.     (hgetlocation): Ditto.
  1213.     (hgetmodified): Ditto.
  1214.     (haccepts_none): Ditto.
  1215.     (gethttp): Ditto.
  1216.     (base64_encode_line): Ditto.
  1217.     (mktime_from_utc): Ditto.
  1218.     (http_atotm): Ditto.
  1219.  
  1220.     * html.c (idmatch): Made static.
  1221.  
  1222.     * host.c (search_host): Made static.
  1223.     (search_address): Ditto.
  1224.     (free_hlist): Ditto.
  1225.  
  1226.     * ftp.c (getftp): Made static.
  1227.     (ftp_loop_internal): Ditto.
  1228.     (ftp_get_listing): Ditto.
  1229.     (ftp_retrieve_list): Ditto.
  1230.     (ftp_retrieve_dirs): Ditto.
  1231.     (ftp_retrieve_glob): Ditto.
  1232.     (freefileinfo): Ditto.
  1233.     (delelement): Ditto.
  1234.  
  1235.     * ftp-ls.c (symperms): Made static.
  1236.     (ftp_parse_unix_ls): Ditto.
  1237.  
  1238.     * connect.c (select_fd): Made static.
  1239.  
  1240.     * utils.c (xmalloc): Renamed from nmalloc.
  1241.     (xrealloc): Renamed from nrealloc.
  1242.     (xstrdup): Renamed from nstrdup.
  1243.  
  1244.     * getopt.c (exchange): Use alloca.
  1245.  
  1246.     * mswindows.c (mycuserid): Use strncpy.
  1247.  
  1248.     * New files mswindows.c, mswindows.h, sysdep.h.  winjunk.c,
  1249.     systhings.h, windecl.h and winjunk.h removed.
  1250.  
  1251.     * mswindows.c (sleep): New function.
  1252.  
  1253.     * utils.c: Include <windows.h> under Windows.
  1254.  
  1255. 1997-06-12  Darko Budor  <dbudor@zesoi.fer.hr>
  1256.  
  1257.     * url.h (URL_UNSAFE): Change default under Windows.
  1258.  
  1259.     * retr.c (retrieve_from_file): Respect opt.delete_after.
  1260.  
  1261.     * main.c (main): Call ws_help on Windows.
  1262.  
  1263.     * winjunk.c (windows_main_junk): New function.
  1264.  
  1265.     * main.c (main): Junk-process argv[0].
  1266.  
  1267.     * http.c (mktime_from_utc): Return -1 if mktime failed.
  1268.  
  1269.     * http.c (http_loop): Ditto.
  1270.  
  1271.     * ftp.c (ftp_loop_internal): Change title on Windows when using a
  1272.     new URL.
  1273.  
  1274.     * winjunk.c (getdomainname): Lots of functions.
  1275.  
  1276. 1997-06-12  Hrvoje Niksic  <hniksic@srce.hr>
  1277.  
  1278.     * cmpt.c (strptime_internal): Handle years more correctly for
  1279.      `%y'.
  1280.  
  1281. 1997-06-09  Mike Thomas <mthomas@reality.ctron.com>
  1282.  
  1283.     * http.c (gethttp): Allocate enough space for
  1284.     `Proxy-Authorization' header.
  1285.  
  1286. 1997-05-10  Hrvoje Niksic  <hniksic@srce.hr>
  1287.  
  1288.     * version.c: Wget/1.4.5 is released.
  1289.  
  1290. 1997-05-10  Hrvoje Niksic  <hniksic@srce.hr>
  1291.  
  1292.     * retr.c (get_contents): Check return value of fwrite more
  1293.     carefully.
  1294.  
  1295. 1997-03-30  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
  1296.  
  1297.     * cmpt.c (strptime_internal) [case 'Y']: Always subtract 1900 from
  1298.     year, regardless of century.
  1299.  
  1300. 1997-03-30  Hrvoje Niksic  <hniksic@srce.hr>
  1301.  
  1302.     * utils.c (isfile): Use `lstat' instead of `stat'.
  1303.  
  1304. 1997-03-29  Hrvoje Niksic  <hniksic@srce.hr>
  1305.  
  1306.     * utils.c (numdigit): Use explicit test.
  1307.  
  1308. 1997-03-21  Hrvoje Niksic  <hniksic@srce.hr>
  1309.  
  1310.     * http.c (http_loop): Always use `url_filename' to get u->local.
  1311.  
  1312. 1997-03-20  Hrvoje Niksic  <hniksic@srce.hr>
  1313.  
  1314.     * url.c: Recognize https.
  1315.  
  1316. 1997-03-13  Hrvoje Niksic  <hniksic@srce.hr>
  1317.  
  1318.     * recur.c (recursive_retrieve): Lowercase just the host name.
  1319.  
  1320. 1997-03-09  Hrvoje Niksic  <hniksic@srce.hr>
  1321.  
  1322.     * url.c (get_urls_file): Use the correct test.
  1323.     (get_urls_html): Ditto.
  1324.  
  1325. 1997-03-07  Hrvoje Niksic  <hniksic@srce.hr>
  1326.  
  1327.     * connect.c: Reverted addrlen to int.
  1328.  
  1329.     * init.c (parse_line): Check for -1 instead of NONE.
  1330.  
  1331.     * version.c: Changed version to 1.4.5.
  1332.  
  1333. 1997-02-17  Hrvoje Niksic  <hniksic@srce.hr>
  1334.  
  1335.     * init.c: New option netrc.
  1336.     (initialize): Don't parse .netrc.
  1337.  
  1338.     * cmpt.c (recursive): Return rp.
  1339.     (strptime_internal): Match the long strings first, the abbreviated
  1340.     second.
  1341.  
  1342. 1997-02-16  Hrvoje Niksic  <hniksic@srce.hr>
  1343.  
  1344.     * http.c (check_end): New function.
  1345.     (http_atotm): Use it.
  1346.  
  1347. 1997-02-13  gilles Cedoc  <gilles@cedocar.fr>
  1348.  
  1349.     * http.c (gethttp): Use them.
  1350.  
  1351.     * init.c: New options proxy_user and proxy_passwd.
  1352.  
  1353. 1997-02-14  Hrvoje Niksic  <hniksic@srce.hr>
  1354.  
  1355.     * ftp.c (ftp_retrieve_list): Create links even if not relative.
  1356.  
  1357. 1997-02-10  Hrvoje Niksic  <hniksic@srce.hr>
  1358.  
  1359.     * recur.c (recursive_retrieve): Lowercase the host name, if the
  1360.      URL is not "optimized".
  1361.  
  1362.     * host.c (realhost): Return l->hostname, even if it matches with
  1363.      host.
  1364.  
  1365. 1997-02-10  Marin Purgar  <pmc@asgard.hr>
  1366.  
  1367.     * connect.c: Make addrlen size_t instead of int.
  1368.     (conaddr): Ditto.
  1369.  
  1370. 1997-02-09  Gregor Hoffleit  <flight@mathi.uni-heidelberg.DE>
  1371.  
  1372.     * systhings.h: Define S_ISLNK on NeXT too.
  1373.  
  1374. 1997-02-09  Hrvoje Niksic  <hniksic@srce.hr>
  1375.  
  1376.     * version.c: Released 1.4.3.
  1377.  
  1378.     * url.c: Futher update to list of protostrings.
  1379.     (skip_proto): Skip `//' correctly for FTP and HTTP.
  1380.  
  1381.     * url.c (get_urls_html): Handle bogus `http:' things a little
  1382.      different.
  1383.  
  1384.     * main.c (main): Removed `follow-ftp' from `f'.
  1385.     (main): Dumped the `prefix-files' and `file-prefix' options and
  1386.      features; old and bogus.
  1387.     (main): Exit on failed setval() in `-e'.
  1388.  
  1389.     * http.c (fetch_next_header): Use it to detect header continuation
  1390.      correctly.
  1391.  
  1392.     * retr.c (buf_peek): New function.
  1393.  
  1394. 1997-02-08  Hrvoje Niksic  <hniksic@srce.hr>
  1395.  
  1396.     * wget.h: Include time.h and stuff.
  1397.  
  1398. 1997-02-08  Roger Beeman  <beeman@cisco.com>
  1399.  
  1400.     * ftp.c: Include <time.h>
  1401.  
  1402. 1997-02-07  Hrvoje Niksic  <hniksic@srce.hr>
  1403.  
  1404.     * url.c (findurl): Would read over buffer limits.
  1405.  
  1406. 1997-02-06  Hrvoje Niksic  <hniksic@srce.hr>
  1407.  
  1408.     * ftp-ls.c (ftp_parse_unix_ls): Allow spaces in file names.
  1409.  
  1410. 1997-02-05  Hrvoje Niksic  <hniksic@srce.hr>
  1411.  
  1412.     * http.c (http_atotm): Initialize tm.is_dst.
  1413.  
  1414. 1997-02-02  Hrvoje Niksic  <hniksic@srce.hr>
  1415.  
  1416.     * http.c (gethttp): Don't print the number of retrieved headers.
  1417.  
  1418.     * main.c (main): New option `--no-clobber', alias for `-nc'.
  1419.  
  1420.     * url.c: Recognize `https://'.
  1421.  
  1422. 1997-02-01  Hrvoje Niksic  <hniksic@srce.hr>
  1423.  
  1424.     * host.c (herrmsg): Don't use h_errno.
  1425.  
  1426. 1997-01-30  Hrvoje Niksic  <hniksic@srce.hr>
  1427.  
  1428.     * host.c (accept_domain): Use it.
  1429.  
  1430.     * main.c (main): New option `--exclude-domains'.
  1431.  
  1432.     * retr.c (retrieve_url): Use it.
  1433.     (retrieve_url): Bail out when an URL is redirecting to itself.
  1434.  
  1435.     * url.c (url_equal): New function.
  1436.  
  1437. 1997-01-29  Hrvoje Niksic  <hniksic@srce.hr>
  1438.  
  1439.     * connect.c: Include arpa/inet.h instead of arpa/nameser.h.
  1440.  
  1441.     * http.c (mk_utc_time): New function.
  1442.     (http_atotm): Use it; handle time zones correctly.
  1443.  
  1444. 1997-01-28  Hrvoje Niksic  <hniksic@srce.hr>
  1445.  
  1446.     * http.c: Ditto.
  1447.  
  1448.     * ftp-basic.c: Use it instead of WRITE.
  1449.  
  1450.     * connect.c (iwrite): New function.
  1451.  
  1452. 1997-01-27  Hrvoje Niksic  <hniksic@srce.hr>
  1453.  
  1454.     * cmpt.c (mktime): New function.
  1455.  
  1456.     * netrc.c: Include <sys/types.h>.
  1457.  
  1458.     * main.c (main): Wouldn't recognize --spider.
  1459.  
  1460.     * retr.c (rate): Use `B', `KB' and `MB'.
  1461.     (reset_timer,elapsed_time): Moved from utils.c.
  1462.  
  1463.     * ftp.c (ftp_retrieve_list): Ditto.
  1464.  
  1465.     * http.c (http_loop): Don't touch the file if opt.dfp.
  1466.  
  1467. 1997-01-24  Hrvoje Niksic  <hniksic@srce.hr>
  1468.  
  1469.     * cmpt.c: New file.
  1470.  
  1471.     * ftp.c (ftp_retrieve_glob): New argument semantics.
  1472.     (ftp_retrieve_dirs): Use it.
  1473.     (ftp_loop): Ditto.
  1474.  
  1475.     * html.c (htmlfindurl): Recognize `'' as the quote char.
  1476.  
  1477. 1997-01-23  Hrvoje Niksic  <hniksic@srce.hr>
  1478.  
  1479.     * ftp.c (ftp_loop_internal): Use it.
  1480.  
  1481.     * utils.c (remove_link): New function.
  1482.  
  1483. 1997-01-22  Hrvoje Niksic  <hniksic@srce.hr>
  1484.  
  1485.     * retr.c (retrieve_url): Require STRICT redirection URL.
  1486.  
  1487.     * url.c (parseurl): New argument STRICT.
  1488.  
  1489.     * http.c (hparsestatline): Be a little-bit less strict about
  1490.      status line format.
  1491.  
  1492. 1997-01-21  Hrvoje Niksic  <hniksic@srce.hr>
  1493.  
  1494.     * http.c (gethttp): Use it.
  1495.  
  1496.     * main.c (main): Don't use '<digit>' as options.
  1497.  
  1498.     * init.c: New option ignore_length.
  1499.  
  1500.     * http.c (gethttp): Ditto.
  1501.     (http_loop): Check for redirection without Location:.
  1502.     (gethttp): Don't print Length unless RETROKF.
  1503.  
  1504.     * ftp.c (getftp): Use it.
  1505.  
  1506.     * url.c (mkalldirs): New function.
  1507.  
  1508.     * utils.c (mymkdir): Don't check for existing non-directory.
  1509.  
  1510.     * url.c (mkstruct): Don't create the directory.
  1511.  
  1512. 1997-01-20  Hrvoje Niksic  <hniksic@srce.hr>
  1513.  
  1514.     * init.c (setval): Removed NO_RECURSION checks.
  1515.  
  1516. 1997-01-19  Hrvoje Niksic  <hniksic@srce.hr>
  1517.  
  1518.     * version.c: "Released" 1.4.3-pre2.
  1519.  
  1520.     * recur.c (recursive_retrieve): Bypass host checking only if URL
  1521.      is ftp AND parent URL is not ftp.
  1522.  
  1523.     * ftp-basic.c (ftp_request): Print out Turtle Power.
  1524.  
  1525.     * ftp.c (ftp_loop): Call ftp_retrieve_glob with 0 if there's no
  1526.      wildcard.
  1527.     (ftp_retrieve_glob): Call ftp_loop_internal even on empty list, if
  1528.      not glob.
  1529.  
  1530.     * http.c (gethttp): Be a little bit smarter about status codes.
  1531.  
  1532.     * recur.c (recursive_retrieve): Always reset opt.recursive when
  1533.      dealing with FTP.
  1534.  
  1535. 1997-01-18  Hrvoje Niksic  <hniksic@srce.hr>
  1536.  
  1537.     * retr.c (retrieve_url): New variable location_changed; use it for
  1538.      tests instead of mynewloc.
  1539.     (retrieve_url): Allow heuristic adding of html.
  1540.  
  1541.     * url.c (url_filename): Don't use the `%' in Windows file names.
  1542.  
  1543.     * http.c (http_loop): Always time-stamp the local file.
  1544.  
  1545.     * http.c (http_loop): Ditto.
  1546.  
  1547.     * ftp.c (ftp_retrieve_list): Use it.
  1548.  
  1549.     * utils.c (my_touch): New function.
  1550.  
  1551.     * ftp.c (ftp_retrieve_list): Use #ifdef HAVE_STRUCT_UTIMBUF
  1552.      instead of #ifndef NeXT.
  1553.  
  1554.     * utils.c (strptime): New version, by Ulrich Drepper.
  1555.  
  1556. 1997-01-17  Hrvoje Niksic  <hniksic@srce.hr>
  1557.  
  1558.     * http.c (haccepts_none): Renamed from `haccepts_bytes'.
  1559.     (gethttp): If haccepts_none(), disable ACCEPTRANGES.
  1560.     (http_loop): Would remove ACCEPTRANGES.
  1561.  
  1562.     * ftp.c (getftp): Call ftp_list with NULL.
  1563.  
  1564. 1997-01-15  Hrvoje Niksic  <hniksic@srce.hr>
  1565.  
  1566.     * html.c (ftp_index): Don't print minutes and seconds if we don't
  1567.      know them; beautify the output.
  1568.  
  1569.     * ftp.c (getftp): Don't close the socket on FTPNSFOD.
  1570.  
  1571. 1997-01-14  Hrvoje Niksic  <hniksic@srce.hr>
  1572.  
  1573.     * utils.c (strptime): New function.
  1574.     (strptime): Don't use get_alt_number.
  1575.     (strptime): Don't use locale.
  1576.     (match_string): Made it a function.
  1577.  
  1578. 1997-01-12  Hrvoje Niksic  <hniksic@srce.hr>
  1579.  
  1580.     * http.c (http_atotm): New function.
  1581.     (http_loop): Use it.
  1582.  
  1583.     * atotm.c: Removed from the distribution.
  1584.  
  1585.     * http.c (base64_encode_line): Rewrite.
  1586.  
  1587. 1997-01-09  Hrvoje Niksic  <hniksic@srce.hr>
  1588.  
  1589.     * ftp.c (getftp): Use ftp_expected_bytes; print size.
  1590.  
  1591.     * ftp-basic.c (ftp_response): Use ftp_last_respline.
  1592.     (ftp_expected_bytes): New function.
  1593.  
  1594.     * ftp.c (getftp): Print the unauthoritative file length.
  1595.  
  1596.     * ftp-ls.c: Renamed from ftp-unix.c.
  1597.     (ftp_parse_ls): Moved from ftp.c.
  1598.     (ftp_parse_unix_ls): Recognize seconds in time spec.
  1599.     (ftp_parse_unix_ls): Recognize year-less dates of the previous
  1600.      year.
  1601.  
  1602. 1997-01-08  Hrvoje Niksic  <hniksic@srce.hr>
  1603.  
  1604.     * ftp-basic.c: Don't declare errno if #defined.
  1605.  
  1606.     * host.c (ftp_getaddress): Check for sysinfo legally.
  1607.  
  1608. 1997-01-08  Darko Budor  <dbudor@diana.zems.fer.hr>
  1609.  
  1610.     * connect.c (iread): Use READ.
  1611.  
  1612. 1996-12-23  Hrvoje Niksic  <hniksic@srce.hr>
  1613.  
  1614.     * url.c: Recognize finger, rlogin, tn3270, mid and cid as valid
  1615.      schemes.
  1616.  
  1617. 1996-12-22  Hrvoje Niksic  <hniksic@srce.hr>
  1618.  
  1619.     * host.c (ftp_getaddress): Allow `.' in hostname.
  1620.  
  1621. 1996-12-26  Darko Budor <dbudor@zems.fer.hr>
  1622.  
  1623.     * wget.h: READ and WRITE macros for use instead of read and write
  1624.     on sockets, grep READ *.c, grep WRITE *.c
  1625.  
  1626.     * wsstartup.c: new file - startup for winsock
  1627.  
  1628.     * wsstartup.h: new file
  1629.  
  1630.     * win32decl.h: new file - fixup for <errno.h> and winsock trouble
  1631.  
  1632.     * configure.bat: Configure utility for MSVC
  1633.  
  1634.     * src/Makefile.ms,config.h.ms: new files for use with MSVC 4.x
  1635.  
  1636. 1996-12-22  Hrvoje Niksic  <hniksic@srce.hr>
  1637.  
  1638.     * version.c: Released 1.4.3-pre.
  1639.  
  1640.     * utils.c (prnum): Accept long.
  1641.     (legible): Use prnum().
  1642.  
  1643.     * connect.c (make_connection): Accept port as short.
  1644.     (bindport): Ditto.
  1645.  
  1646.     * http.c (gethttp): Use search_netrc.
  1647.  
  1648. 1996-12-21  Hrvoje Niksic  <hniksic@srce.hr>
  1649.  
  1650.     * ftp.c (getftp): Use search_netrc.
  1651.  
  1652.     * netrc.c (free_netrc): New function.
  1653.  
  1654.     * init.c (home_dir): New function.
  1655.  
  1656.     * url.c (convert_links): Allow REL2ABS changes.
  1657.  
  1658. 1996-12-21  Gordon Matzigkeit  <gord@gnu.ai.mit.edu>
  1659.  
  1660.     * netrc.c: New file.
  1661.     (parse_netrc, maybe_add_to_list): New functions.
  1662.  
  1663. 1996-12-17  Hrvoje Niksic  <hniksic@srce.hr>
  1664.  
  1665.     * retr.c (retrieve_url): Reset opt.recursion before calling
  1666.      ftp_loop if it is reached through newloc.
  1667.  
  1668.     * init.c (run_wgetrc): Print the wgetrc path too, when reporting
  1669.      error; don't use "Syntax error", since we don't know if it is
  1670.      really a syntax error.
  1671.  
  1672. 1996-12-16  Hrvoje Niksic  <hniksic@srce.hr>
  1673.  
  1674.     * utils.c (acceptable): Extract the filename part of the path.
  1675.  
  1676.     * recur.c (recursive_retrieve): Call acceptable() with the right
  1677.      argument; would bug out on wildcards.
  1678.  
  1679.     * init.c (parse_line): Likewise.
  1680.  
  1681.     * html.c (htmlfindurl): Cast to char * when calling stuff.
  1682.  
  1683. 1996-12-15  Hrvoje Niksic  <hniksic@srce.hr>
  1684.  
  1685.     * ftp.c (getftp): Use ftp_pasv.
  1686.  
  1687.     * ftp-basic.c (ftp_request): Accept NULL value.
  1688.     (ftp_pasv): New function.
  1689.  
  1690.     * options.h (struct options): Add passive FTP option.
  1691.  
  1692. 1996-12-15  Hrvoje Niksic  <hniksic@srce.hr>
  1693.  
  1694.     * url.c (parseurl): Debug output.
  1695.  
  1696.     * utils.c (path_simplify): New one, adapted from bash's
  1697.      canonicalize_pathname().
  1698.  
  1699. 1996-12-14  Hrvoje Niksic  <hniksic@srce.hr>
  1700.  
  1701.     * ftp.c (getftp): Don't discard the buffer.
  1702.  
  1703.     * retr.c (get_contents): New parameter nobuf.
  1704.  
  1705. 1996-12-13  Shawn McHorse  <riffraff@txdirect.net>
  1706.  
  1707.     * html.c (htmlfindurl): Recognize <meta contents="d; URL=...".
  1708.  
  1709.     * init.c (setval): Strip the trailing slashes on CVECDIR.
  1710.  
  1711. 1996-12-13  Hrvoje Niksic  <hniksic@srce.hr>
  1712.  
  1713.     * init.c: Make excludes and includes under CVECDIR instead of
  1714.      CVEC.
  1715.  
  1716. 1996-12-13  Shawn McHorse  <riffraff@txdirect.net>
  1717.  
  1718.     * url.c (get_urls_html): Skip "http:".
  1719.  
  1720. 1996-12-13  Hrvoje Niksic  <hniksic@srce.hr>
  1721.  
  1722.     * utils.c (strcasecmp): From glibc.
  1723.     (strncasecmp): Also.
  1724.     (strstr): Also.
  1725.  
  1726.     * url.c: Added javascript: to the list of URLs prefixes.
  1727.  
  1728. 1996-12-12  Shawn McHorse  <riffraff@txdirect.net>
  1729.  
  1730.     * recur.c (retrieve_robots): Print the warning message only if
  1731.      verbose.
  1732.  
  1733. 1996-12-12  Gregor Hoffleit  <flight@mathi.uni-heidelberg.DE>
  1734.  
  1735.     * ftp.c (ftp_retrieve_list): Use NeXT old utime interface.
  1736.  
  1737. 1996-12-12  Hrvoje Niksic  <hniksic@srce.hr>
  1738.  
  1739.     * systhings.h: New file.
  1740.  
  1741.     * ../configure.in: Check for utime.h
  1742.  
  1743.     * ftp.c: Check whether we have unistd.h.
  1744.  
  1745. 1996-11-27  Hrvoje Niksic  <hniksic@srce.hr>
  1746.  
  1747.     * recur.c (recursive_retrieve): Send the canonical URL as referer.
  1748.     (recursive_retrieve): Call get_urls_html with the canonical URL.
  1749.  
  1750. 1996-12-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  1751.  
  1752.     * (configure.in, config.h.in, src/Makefile.in, src/*.[ch]): Add
  1753.      ansi2knr support for compilers which don't support ANSI style
  1754.      function prototypes and signatures.
  1755.  
  1756.     * (aclocal.m4, src/ansi2knr.c, src/ansi2knr.1): New files.
  1757.  
  1758. 1996-11-26  Hrvoje Niksic  <hniksic@srce.hr>
  1759.  
  1760.     * url.c: Use it; Recognize paths ending with "." and ".." as
  1761.      directories.
  1762.     (url_filename): Append .n whenever file exists and could be a
  1763.      directory.
  1764.  
  1765.     * url.h (ISDDOT): New macro.
  1766.  
  1767.     * init.c (parse_line): Use unsigned char.
  1768.  
  1769.     * url.c (get_urls_html): Cast to unsigned char * when calling
  1770.      htmlfindurl.
  1771.  
  1772.     * html.c (htmlfindurl): Use unsigned char.
  1773.  
  1774.     * version.c: Changed version to 1.4.3.
  1775.  
  1776. 1996-11-25  Hrvoje Niksic  <hniksic@srce.hr>
  1777.  
  1778.     * version.c: Released 1.4.2.
  1779.  
  1780.     * ftp.c (getftp): Simplified assertion.
  1781.     (ftp_loop_internal): Remove symlink before downloading.
  1782.     (ftp_retrieve_list): Unlink the symlink name before attempting to
  1783.      create a symlink!
  1784.  
  1785.     * options.h (struct options): Renamed print_server_response to
  1786.      server_response.
  1787.  
  1788.     * ftp.c (rel_constr): Removed.
  1789.     (ftp_retrieve_list): Don't use it.
  1790.     (ftp_retrieve_list): Use opt.retr_symlinks.
  1791.  
  1792. 1996-11-24  Hrvoje Niksic  <hniksic@srce.hr>
  1793.  
  1794.     * main.c (main): New option retr_symlinks.
  1795.  
  1796.     * url.c (convert_links): Print verbose message.
  1797.  
  1798. 1996-11-24  Hrvoje Niksic  <hniksic@srce.hr>
  1799.  
  1800.     * http.c (http_loop): Reset newloc in the beginning of function;
  1801.      would cause FMR in retrieve_url.
  1802.  
  1803. 1996-11-23  Hrvoje Niksic  <hniksic@srce.hr>
  1804.  
  1805.     * recur.c (convert_all_links): Find the URL of each HTML document,
  1806.      and feed it to get_urls_html; would bug out.
  1807.     (convert_all_links): Check for l2 instead of dl; removed dl.
  1808.  
  1809.     * url.c (convert_links): Don't refer to freed newname.
  1810.  
  1811.     * recur.c (recursive_retrieve): Add this_url to urls_downloaded.
  1812.  
  1813.     * main.c (main): Print the OS_TYPE in the debug output, too.
  1814.  
  1815.     * recur.c (recursive_retrieve): Check for opt.delete_after.
  1816.  
  1817.     * main.c (main): New option delete-after.
  1818.  
  1819.     * init.c (setval): Cleaned up.
  1820.  
  1821. 1996-11-21  Hrvoje Niksic  <hniksic@srce.hr>
  1822.  
  1823.     * Makefile.in (wget): Make `wget' the default target.
  1824.  
  1825.     * ftp.c (ftp_loop_internal): Move noclobber checking out of the
  1826.      loop.
  1827.     (ftp_retrieve_list): Warn about non-matching sizes.
  1828.  
  1829.     * http.c (http_loop): Made -nc non-dependent on opt.recursive.
  1830.  
  1831.     * init.c (setnum): Renamed from setnuminf; New argument flags.
  1832.     (setval): Use it.
  1833.  
  1834.     * main.c (main): Sorted the options.
  1835.     (main): New option --wait.
  1836.  
  1837. 1996-11-21  Shawn McHorse  <riffraff@txdirect.net>
  1838.  
  1839.     * html.c (htmlfindurl): Reset s->in_quote after getting out of
  1840.      quotes.
  1841.  
  1842. 1996-11-20  Hrvoje Niksic  <hniksic@srce.hr>
  1843.  
  1844.     * version.c: Changed version to 1.4.2.
  1845.  
  1846. 1996-11-20  Hrvoje Niksic  <hniksic@srce.hr>
  1847.  
  1848.     * version.c: Released 1.4.1.
  1849.  
  1850.     * html.c (html_quote_string): New function.
  1851.     (ftp_index): Use it.
  1852.     (htmlfindurl): A more gentle ending debug message.
  1853.  
  1854.     * ftp.c (ftp_loop): Check for opt.htmlify.
  1855.  
  1856.     * init.c: New command htmlify.
  1857.  
  1858.     * ftp.c (getftp): Nicer error messages, with `'-encapsulated
  1859.      strings.
  1860.     (ftp_loop): Print size of index.html.
  1861.  
  1862.     * init.c (setval): Implement "styles".
  1863.  
  1864.     * main.c (main): New option dotstyle.
  1865.  
  1866. 1996-11-19  Hrvoje Niksic  <hniksic@srce.hr>
  1867.  
  1868.         * ftp.c (getftp): Close the master socket in case of errors, after
  1869.         bindport().
  1870.  
  1871.         * connect.c (bindport): Initialize msock to -1.
  1872.  
  1873.         * ftp.c (getftp): Initialize dtsock to -1.
  1874.  
  1875.         * connect.c (closeport): Don't close sock if sock == -1.
  1876.  
  1877. 1996-11-18  Hrvoje Niksic  <hniksic@srce.hr>
  1878.  
  1879.     * init.c (setnuminf): Nuked default value -- just leave unchanged.
  1880.     (setval): Don't send default values.
  1881.     (defaults): Use DEFAULT_TIMEOUT -- aaargh.
  1882.  
  1883.     * options.h (struct options): Use long for dot_bytes.
  1884.  
  1885.     * init.c (setquota): Renamed to setbytes.
  1886.     (setval): Use setbytes on DOTBYTES.
  1887.  
  1888. 1996-11-17  Hrvoje Niksic  <hniksic@srce.hr>
  1889.  
  1890.     * ftp.c (getftp): Initialize con->dltime.
  1891.  
  1892.     * recur.c (recursive_retrieve): Use same_host instead of
  1893.      try_robots; simply load robots_txt whenever the host is changed.
  1894.     (recursive_retrieve): Free forbidden before calling parse_robots.
  1895.  
  1896. 1996-11-16  Hrvoje Niksic  <hniksic@srce.hr>
  1897.  
  1898.     * retr.c (show_progress): Use them.
  1899.  
  1900.     * options.h (struct options): New options dot_bytes, dots_on_line
  1901.      and dot_spacing.
  1902.  
  1903. 1996-11-16  Mark Boyns  <boyns@sdsu.edu>
  1904.  
  1905.     * recur.c (recursive_retrieve): Retrieve directories regardless of
  1906.      acc/rej rules; check for empty u->file.
  1907.  
  1908. 1996-11-14  Hrvoje Niksic  <hniksic@srce.hr>
  1909.  
  1910.     * init.c (setval): Use it.
  1911.  
  1912.     * utils.c (merge_vecs): New function.
  1913.  
  1914.     * init.c (setval): Reset the list-type functions when encountering
  1915.      "".
  1916.  
  1917. 1996-11-14  Shawn McHorse  <riffraff@txdirect.net>
  1918.  
  1919.     * recur.c (recursive_retrieve): Use base_url instead of this_url
  1920.      for no_parent.
  1921.  
  1922. 1996-11-14  Shawn McHorse  <riffraff@txdirect.net>
  1923.  
  1924.     * html.c (htmlfindurl): Reset s->in_quote after exiting the quote.
  1925.  
  1926. 1996-11-13  Hrvoje Niksic  <hniksic@srce.hr>
  1927.  
  1928.     * utils.c (sepstring): Rewrote; don't use strtok.
  1929.  
  1930.     * recur.c (recursive_retrieve): Enter assorted this_url to slist
  1931.      when running the first time.
  1932.     (retrieve_robots): Warn to ignore errors when robots are loaded.
  1933.  
  1934.     * utils.c (load_file): Moved from url.c.
  1935.  
  1936.     * http.c: Made static variables const too in h* functions.
  1937.  
  1938.     * main.c (main): Renamed --continue-ftp to --continue.
  1939.  
  1940.     * recur.c (recursive_retrieve): Use it.
  1941.  
  1942.     * utils.c (frontcmp): New function.
  1943.  
  1944.     * url.c (accdir): New function.
  1945.  
  1946.     * html.c (htmlfindurl): Recognize <area href=...>.
  1947.  
  1948.     * ftp.c (ftp_retrieve_dirs): Implemented opt.includes.
  1949.  
  1950.     * init.c (setval): Free the existing opt.excludes and
  1951.      opt.includes, if available.
  1952.  
  1953.     * main.c (main): New option -I.
  1954.  
  1955. 1996-11-12  Hrvoje Niksic  <hniksic@srce.hr>
  1956.  
  1957.     * ftp.c (ftp_retrieve_glob): Do not weed out directories.
  1958.  
  1959.     * version.c: Changed version to 1.4.1.
  1960.  
  1961. 1996-11-11  Hrvoje Niksic  <hniksic@srce.hr>
  1962.  
  1963.     * version.c: Released 1.4.0.
  1964.  
  1965. 1996-11-10  Hrvoje Niksic  <hniksic@srce.hr>
  1966.  
  1967.     * main.c (main): Free com and val after parse_line.
  1968.     (printhelp): Reorder the listing.
  1969.  
  1970.     * http.c: More robust header parsing.
  1971.  
  1972.     * http.c: Allow any number of spaces, or no spaces, precede ':'.
  1973.     (hskip_lws): New function.
  1974.     (haccepts_bytes): New function.
  1975.     (gethttp): Use it.
  1976.  
  1977.     * init.c (setval): Check header sanity.
  1978.     (setval): Allow resetting of headers.
  1979.  
  1980. 1996-11-10  Hrvoje Niksic  <hniksic@srce.hr>
  1981.  
  1982.     * http.c (http_loop): Don't use has_wildcards.
  1983.  
  1984.     * http.c (gethttp): Free all_headers -- would leak.
  1985.  
  1986.     * recur.c (recursive_retrieve): Initialize depth to 1 instead of
  1987.      0 -- this fixes a long-standing bug in -rl.
  1988.  
  1989. 1996-11-09  Hrvoje Niksic  <hniksic@srce.hr>
  1990.  
  1991.     * ftp.c: Use -1 as "impossible" value for con->fd.
  1992.  
  1993.     * url.h (URL_SEPARATOR): Don't treat `*' and `+' as separators.
  1994.  
  1995.     * init.c (parse_line): Use isalpha.
  1996.  
  1997.     * ftp-unix.c: Use HAVE_UNISTD_H.
  1998.  
  1999.     * mtch.c (has_wildcards): Don't match \.
  2000.  
  2001.     * http.c (http_loop): Warn on HTTP wildcard usage.
  2002.  
  2003. 1996-11-08  Hrvoje Niksic  <hniksic@srce.hr>
  2004.  
  2005.     * url.c (url_filename): Do not create numbered suffixes if
  2006.      opt.noclobber -- would bug out on -nc.
  2007.  
  2008. 1996-11-07  Hrvoje Niksic  <hniksic@srce.hr>
  2009.  
  2010.     * recur.c (parse_robots): Don't chuck out the commands without
  2011.      arguments (`Disallow:<empty>' didn't work).
  2012.     (parse_robots): Compare versions lowercase.
  2013.     (parse_robots): Match on base_version, not version_string!
  2014.     (parse_robots): Handle comments properly.
  2015.     (parse_robots): Match versions in a sane way.
  2016.  
  2017.     * init.c: Print nicer error messages.
  2018.  
  2019.     * version.c: Changed version to 1.4.0.
  2020.  
  2021. 1996-11-06  Hrvoje Niksic  <hniksic@srce.hr>
  2022.  
  2023.     * version.c: Released 1.4.0-test2.
  2024.  
  2025.     * init.c (run_wgetrc): Close fp.
  2026.  
  2027.     * ftp.c (ftp_retrieve_dirs): Allocate the correct length for
  2028.      u->dir.
  2029.  
  2030. 1996-11-06  Hrvoje Niksic  <hniksic@srce.hr>
  2031.  
  2032.     * init.c (setquota): Allow inf as quota specification.
  2033.  
  2034. 1996-11-05  Hrvoje Niksic  <hniksic@srce.hr>
  2035.  
  2036.     * ftp.c (ftp_retrieve_dirs): Return QUOTEXC if quota exceeded.
  2037.     (ftp_retrieve_glob): Return QUOTEXC on quota exceeded.
  2038.  
  2039.     * main.c (main): Check for quota by comparison with downloaded
  2040.      stuff, not from status.
  2041.  
  2042.     * connect.c (select_fd): Should compile on HPUX without warnings now.
  2043.  
  2044.     * ftp.c (ftp_get_listing): Check whether ftp_loop_internal
  2045.      returned RETROK.
  2046.  
  2047. 1996-11-04  Hrvoje Niksic  <hniksic@srce.hr>
  2048.  
  2049.     * ftp.c (ftp_retrieve_glob): Print the pattern nicely.
  2050.     (getftp): Return FTPRETRINT on control connection error.
  2051.  
  2052.     * html.c (htmlfindurl): Recognize <embed src=...> and
  2053.     <bgsound src=...>.
  2054.     (ftp_index): Handle username and password correctly.
  2055.  
  2056.     * main.c (main): Made `-np' a synonim for --no-parent.
  2057.  
  2058. 1996-11-02  Hrvoje Niksic  <hniksic@srce.hr>
  2059.  
  2060.     * ftp.c (ftp_loop): Check for opt.ftp_glob too before calling
  2061.      ftp_retrieve_glob.
  2062.  
  2063.     * version.c: Changed version to 1.4.0-test2.
  2064.  
  2065. 1996-11-02  Hrvoje Niksic  <hniksic@srce.hr>
  2066.  
  2067.     * version.c: Released 1.4.0-test1.
  2068.  
  2069.     * url.c (str_url): Don't use sprintf when creating %2F-prefixed
  2070.      directory.
  2071.     (convert_links): Removed definition of make_backup.
  2072.  
  2073.     * http.h: Removed definition of MAX_ERROR_LENGTH.
  2074.  
  2075.     * host.c (ftp_getaddress): Check for "(none)" domains.
  2076.  
  2077.     * ftp.c (ftp_retrieve_dirs): Docfix.
  2078.  
  2079.     * http.c (gethttp): Use ou->referer instead of u->referer.
  2080.  
  2081.     * retr.c (retrieve_url): Reset u to avoid freeing pointers twice;
  2082.      this was known to cause coredumps on Linux.
  2083.  
  2084.     * html.c (ftp_index): Cast the argument to local_time to time_t *.
  2085.  
  2086. 1996-11-01  Hrvoje Niksic  <hniksic@srce.hr>
  2087.  
  2088.     * connect.c (select_fd): Use exceptfds -- once and for all.
  2089.  
  2090.     * retr.c (retrieve_from_file): Free filename after
  2091.      recursive_retrieve.
  2092.     (retrieve_from_file): Send RFIRST_TIME to recursive_retrieve on
  2093.      first-time retrieval.
  2094.     (retrieve_from_file): Return uerr_t; new argument, count.
  2095.     (retrieve_from_file): Break on QUOTEXC.
  2096.  
  2097.     * init.c (setquota): Fixed a bug that caused rejection of
  2098.      non-postfixed values..
  2099.  
  2100. 1996-10-30  Hrvoje Niksic  <hniksic@srce.hr>
  2101.  
  2102.     * version.c: Changed name to wget.
  2103.  
  2104.     * connect.c (iread): Smarter use of select.
  2105.     (select_fd): Set errno on timeout.  If not timeout, return 1
  2106.      instead of 0.
  2107.  
  2108. 1996-10-29  Hrvoje Niksic  <hniksic@srce.hr>
  2109.  
  2110.     * ftp.c (ftp_loop_internal): Don't use con->cmd before
  2111.      establishing it.
  2112.  
  2113. 1996-10-26  Hrvoje Niksic  <hniksic@srce.hr>
  2114.  
  2115.     * http.c (gethttp): Send correct referer when using proxy.
  2116.     (gethttp): Use struct urlinfo ou to access the relevant data; send
  2117.      correct authorization in all cases.
  2118.  
  2119.     * host.c (same_host): Use skip_uname to skip username and
  2120.      password.
  2121.  
  2122.     * url.c (skip_uname): New function.
  2123.     (parseurl): Use it.
  2124.  
  2125.     * host.c (same_host): Do not assume HTTP -- same_host should now
  2126.      be totally foolproof.
  2127.  
  2128.     * url.c (skip_proto): New function.
  2129.     (parse_uname): Use it.
  2130.  
  2131.     * http.c (gethttp): Create local user and passwd from what is
  2132.      given.
  2133.  
  2134.     * url.c (parseurl): Check for HTTP username and password too.
  2135.  
  2136. 1996-10-25  Hrvoje Niksic  <hniksic@srce.hr>
  2137.  
  2138.     * config.h.in: Removed #define gethostbyname R...
  2139.  
  2140. 1996-10-22  Hrvoje Niksic  <hniksic@srce.hr>
  2141.  
  2142.     * version.c: Changed version to 1.4.0-test1.
  2143.  
  2144. 1996-10-21  Hrvoje Niksic  <hniksic@srce.hr>
  2145.  
  2146.     * version.c: "Released" 1.4b29.
  2147.  
  2148.     * recur.c (recursive_retrieve): Check for no_parent.
  2149.  
  2150.     * init.c (setval): Option update.
  2151.  
  2152.     * main.c (main): New option no-parent.
  2153.  
  2154.     * options.h (struct options): New variable no_parent.
  2155.  
  2156.     * recur.c (recursive_retrieve): Only files are checked for
  2157.      opt.accepts and opt.rejects.
  2158.     (recursive_retrieve): Check directories for opt.excludes.
  2159.     (recursive_retrieve): Make the dir absolute when checking
  2160.      opt.excludes.
  2161.  
  2162.     * html.c (htmlfindurl): Recognize <applet code=...> and <script
  2163.      src=...>
  2164.  
  2165. 1996-10-18  Hrvoje Niksic  <hniksic@srce.hr>
  2166.  
  2167.     * ftp.c (getftp): Do not line-break assert entries at all.
  2168.     (ftp_retrieve_dirs): docfix.
  2169.  
  2170.     * connect.c (select_fd): Use fd + 1 as nfds.
  2171.  
  2172.     * version.c: Changed version to 1.4b29.
  2173.  
  2174. 1996-10-18  Hrvoje Niksic  <hniksic@srce.hr>
  2175.  
  2176.     * version.c: "Released" 1.4b28.
  2177.  
  2178.     * ftp.c (ftp_loop_internal): Check whether f->size == len and
  2179.      don't continue the loop if it is.
  2180.     (ftp_get_listing): Remove list_filename on unsuccesful loop.
  2181.  
  2182. 1996-10-17  Hrvoje Niksic  <hniksic@srce.hr>
  2183.  
  2184.     * ftp.c (ftp_loop_internal): Use strcpy to initialize tmp.
  2185.     (getftp): Do not use multiline assert.
  2186.  
  2187.     * http.c (hparsestatline): Use mjr and mnr instead of major and
  2188.      minor, which don't compile on Ultrix.
  2189.     (http_loop): Use strcpy() to initialize tmp.
  2190.  
  2191.     * all: Geturl -> Fetch
  2192.  
  2193. 1996-10-17  Hrvoje Niksic  <hniksic@srce.hr>
  2194.  
  2195.     * recur.c (parse_robots): Fixed an off-by-one bug when looking for
  2196.      ':'.
  2197.  
  2198.     * html.c (htmlfindurl): Fixed several possible off-by-one bugs by
  2199.      moving `bufsize &&' to the beginning of each check in for-loops.
  2200.  
  2201.     * recur.c (parse_robots): Close fp on exit.
  2202.  
  2203.     * url.c (mymkdir): Check for each directory before creating.
  2204.  
  2205. 1996-10-16  Hrvoje Niksic  <hniksic@srce.hr>
  2206.  
  2207.     * version.c: Changed version to 1.4b28.
  2208.  
  2209. 1996-10-16  Hrvoje Niksic  <hniksic@srce.hr>
  2210.  
  2211.     * version.c: "Released" 1.4b27.
  2212.  
  2213.     * init.c (parse_line): Use isspace.
  2214.     (parse_line): Free *com on all errors.
  2215.  
  2216.     * ftp.c (ftp_loop): Change FTPOK to RETROK before exiting.
  2217.     (delelement): Use next instead of f->next and prev instead of
  2218.      f->prev.
  2219.     (delelement): Free the members of the deleted element.
  2220.  
  2221.     * http.c (http_loop): Do not return RETROK on code != 20x.
  2222.  
  2223.     * init.c (cleanup): Free opt.user_header.
  2224.     (cleanup): Free opt.domains.
  2225.  
  2226.     * url.c (freelists): Moved to cleanup().
  2227.  
  2228.     * http.c (hparsestatline): Docfix.
  2229.  
  2230.     * main.c (main): Return with error status on unsuccesful
  2231.      retrieval.
  2232.  
  2233.     * init.c (setval): Do not remove listing when mirroring.
  2234.  
  2235.     * url.c (url_filename): Use opt.fileprefix.
  2236.  
  2237.     * ftp.c (ftp_get_listing): Use url_filename to get filename for
  2238.      .listing.
  2239.  
  2240.     * main.c (main): New option: -rn.
  2241.  
  2242. 1996-10-15  Hrvoje Niksic  <hniksic@srce.hr>
  2243.  
  2244.     * Makefile.in (RM): Added RM = rm -f.
  2245.  
  2246.     * host.c (clean_hosts): New function.
  2247.     (free_hlist): Just free the list, no reset.
  2248.  
  2249.     * version.c: Changed version to 1.4b27.
  2250.  
  2251. 1996-10-13  Hrvoje Niksic  <hniksic@srce.hr>
  2252.  
  2253.     * version.c: "Released" 1.4b26.
  2254.  
  2255.     * retr.c (retrieve_from_file): If call get_urls_html with
  2256.      opt.spider to make it silent in spider mode.
  2257.  
  2258.     * url.c (str_url): Use CLEANDUP instead of URL_CLEANSE.
  2259.  
  2260.     * url.h (CLEANDUP): New macro.
  2261.  
  2262.     * http.c (gethttp): Fixed a bug that freed location only when it
  2263.      was NULL.
  2264.  
  2265.     * retr.c (retrieve_url): Free url if it will not be stored,
  2266.      i.e. newloc is NULL.
  2267.  
  2268.     * html.c (htmlfindurl): Handle exiting from quotes correctly; the
  2269.      old version would bug out on <a href="x#a"href="y">.
  2270.  
  2271.     * html.h (state_t): New member in_quote.
  2272.  
  2273.     * html.c (htmlfindurl): Free s->attr at the beginning of
  2274.      attr-loop.
  2275.  
  2276.     * recur.c (recursive_retrieve): Recognize RCLEANUP.
  2277.     (tried_robots): Make hosts a global variable.
  2278.     (recursive_retrieve): Free constr after URL host optimization.
  2279.     (tried_robots): Free urlinfo before exiting.
  2280.  
  2281.     * utils.c (free_slist): New function.
  2282.  
  2283.     * recur.c (recursive_retrieve): Use flags to add cleanup
  2284.      possibility.
  2285.  
  2286.     * main.c (main): Free filename after recursive_retrieve.
  2287.  
  2288.     * http.c (gethttp): Store successful responses too.
  2289.  
  2290. 1996-10-12  Hrvoje Niksic  <hniksic@srce.hr>
  2291.  
  2292.     * all: Constified the whole source.  This required some minor
  2293.      changes in many functions in url.c, possibly introducing bugs -- I
  2294.      hope not.
  2295.  
  2296.     * ftp-basic.c: Removed last_respline.
  2297.  
  2298.     * http.c (gethttp): Free type.
  2299.  
  2300.     * host.c (same_host): Free real1 and real2.
  2301.  
  2302.     * main.c (main): New option --spider.
  2303.  
  2304.     * retr.c (get_contents): Don't reset errno.
  2305.  
  2306.     * main.c (main): Sorted the options.
  2307.  
  2308.     * connect.c (iread): Set errno to ETIMEDOUT only if it was left
  2309.      uninitialized by select().
  2310.  
  2311.     * http.c (http_loop): Print the time when the connection is
  2312.      closed.
  2313.     (gethttp): Debug-print the HTTP request.
  2314.  
  2315. 1996-10-11  Hrvoje Niksic  <hniksic@srce.hr>
  2316.  
  2317.     * connect.c (iread): Do not try reading after timeout.
  2318.  
  2319.     * main.c (main): Would bug out on -T.
  2320.  
  2321.     * connect.c (select_fd): Do not use exceptfds.
  2322.     (iread): Set ETIMEDOUT on select_fd <= 0.
  2323.  
  2324.     * version.c: Changed version to 1.4b26.
  2325.  
  2326. 1996-10-10  Hrvoje Niksic  <hniksic@srce.hr>
  2327.  
  2328.     * version.c: "Released" 1.4b25.
  2329.  
  2330.     * ftp-unix.c (ftp_parse_unix_ls): Ignore lines without file name
  2331.      or link name.
  2332.  
  2333.     * http.c (gethttp): Add errcode to struct hstat.
  2334.     (http_loop): Use it.
  2335.  
  2336.     * url.c (no_proxy_match): Simplify using char** for no_proxy.
  2337.  
  2338.     * options.h (struct options): Make opt.no_proxy a vector.
  2339.  
  2340.     * utils.c (sepstring): Use !*s instead of !strlen(s).
  2341.  
  2342.     * init.c (setval): Set opt.maxreclevel to 0 on --mirror.
  2343.     (getperms): Use ISODIGIT instead of isdigit.
  2344.  
  2345.     * ftp.c (getftp): Print time.
  2346.  
  2347.     * main.c (main): Use legible output of downloaded quantity.
  2348.  
  2349.     * ftp.c (getftp): Use elapsed_time().
  2350.     (ftp_loop_internal): Use rate().
  2351.  
  2352.     * http.c (http_loop): Add download ratio output; Use rate().
  2353.  
  2354.     * utils.c (rate): New function.
  2355.  
  2356. 1996-10-09  Hrvoje Niksic  <hniksic@srce.hr>
  2357.  
  2358.     * http.c (http_loop): Use timer.
  2359.  
  2360.     * ftp.c: Split to ftp-basic.c and ftp.c
  2361.  
  2362.     * utils.c (reset_timer): New function.
  2363.     (elapsed_time): New function.
  2364.  
  2365.     * retr.c (show_progress): Make bytes_in_line and offs long; should
  2366.      work on 16-bit machines.
  2367.  
  2368. 1996-10-08  Hrvoje Niksic  <hniksic@srce.hr>
  2369.  
  2370.     * url.c (in_acclist): New argument backward.
  2371.  
  2372.     * ftp.c (ftp_retrieve_glob): Use acceptable() to determine whether
  2373.      a file should be retrieved according to suffix.
  2374.     (ftp_get_listing): Check the return value of unlink; Do not call
  2375.      ftp_retrieve_dirs if depth reached maxreclevel.
  2376.     (ftp_retrieve_dirs): Check whether the directory is in
  2377.      exclude-list.
  2378.  
  2379.     * main.c (main): Print the version number at the beginning of
  2380.      DEBUG output.
  2381.     (main): Use strrchr when creating exec_name.
  2382.  
  2383.     * ftp.c (ftp_retrieve_glob): Do not close control connection.
  2384.  
  2385.     * version.c: Changed version to 1.4b25.
  2386.  
  2387. 1996-10-07  Hrvoje Niksic  <hniksic@srce.hr>
  2388.  
  2389.     * version.c: "Released" 1.4b24.
  2390.  
  2391.     * Makefile.in: Rewrite.
  2392.  
  2393.     * ftp.c (ftp_loop_internal): Likewise.
  2394.  
  2395.     * retr.c (time_str): Check for failed time().
  2396.  
  2397.     * html.c (htmlfindurl): Recognize <fig src> and <overlay src> from
  2398.      HTML3.0.
  2399.  
  2400.     * retr.c (time_str): Return time_t *.
  2401.  
  2402.     * connect.c (bindport): Close msock on unsuccesful bind.
  2403.     (bindport): The same for getsockname and listen.
  2404.  
  2405.     * retr.c (retrieve_url): Allow any number of retries on
  2406.     proxy.
  2407.  
  2408.     * http.c (gethttp): Do not treat errno == 0 as timeout.
  2409.     (http_loop): Likewise.
  2410.     (http_loop): Cosmetic changes.
  2411.  
  2412.     * connect.c (iread): Set errno to ETIMEDOUT in case of timeout.
  2413.  
  2414.     * retr.c (get_contents): Reset errno.
  2415.  
  2416.     * ftp.c (getftp): Minor fixes.
  2417.  
  2418. 1996-10-06  Hrvoje Niksic  <hniksic@srce.hr>
  2419.  
  2420.     * http.c: Do not use backups.
  2421.  
  2422.     * geturl.1 (WARNING): Warn that man-page could be obsolete.
  2423.  
  2424.     * getopt.c (getopt_long): Moved to getopt.c
  2425.  
  2426.     * geturl.texi: Enhanced.
  2427.  
  2428.     * main.c (main): Use it.
  2429.  
  2430.     * recur.c (convert_all_links): New function.
  2431.  
  2432.     * utils.c (add_slist): New argument flags.
  2433.  
  2434.     * recur.c (recursive_retrieve): Update a list of downloaded URLs.
  2435.     (parse_robots): Do not chuck out empty value fields.
  2436.     (parse_robots): Make yourself welcome on empty Disallow.
  2437.  
  2438.     * version.c: Changed version to 1.4b24.
  2439.  
  2440. 1996-10-06  Hrvoje Niksic  <hniksic@srce.hr>
  2441.  
  2442.     * version.c: "Released" 1.4b23.
  2443.  
  2444.     * ftp.c (ftp_loop_internal): Get the time after getftp.
  2445.  
  2446.     * Makefile.in (install.info): New target.
  2447.     (install): Use it.
  2448.  
  2449.     * http.c (http_loop): Fix output when doing -O.
  2450.  
  2451. 1996-10-05  Hrvoje Niksic  <hniksic@srce.hr>
  2452.  
  2453.     * geturl.texi: New file.
  2454.  
  2455.     * main.c (main): Do not print the warnings and download summary if
  2456.      opt.quiet is set.
  2457.  
  2458.     * version.c: Changed version to 1.4b23.
  2459.  
  2460. 1996-10-05  Hrvoje Niksic  <hniksic@srce.hr>
  2461.  
  2462.     * "Released" 1.4b22.
  2463.  
  2464.     * atotm.c (atotm): Use True and False instead of TRUE and FALSE,
  2465.      to avoid redefinition warnings.
  2466.  
  2467.     * host.c (store_hostaddress): Use memcpy() to copy the address
  2468.      returned by inet_addr.
  2469.  
  2470.     * version.c: Changed version to 1.4b22.
  2471.  
  2472. 1996-10-04  Hrvoje Niksic  <hniksic@srce.hr>
  2473.  
  2474.     * version.c: "Released" 1.4b21.
  2475.  
  2476.     * ftp-unix.c (ftp_parse_ls): Renamed to ftp_parse_unix_ls.
  2477.  
  2478.     * ftp.c (ftp_port): Use conaddr.
  2479.     (getftp): Print the file length.
  2480.     (ftp_retrieve_list): Check the stamps of plain files only.
  2481.  
  2482.     * connect.c (closeport): Do not call shutdown().
  2483.     (conaddr): New function.
  2484.  
  2485.     * html.c (ftp_index): Made it dfp-aware.
  2486.  
  2487.     * init.c (cleanup): New name of freemem. Close opt.dfp.
  2488.  
  2489.     * ftp.c (getftp): Use opt.dfp if it is set.
  2490.  
  2491.     * ftp-unix.c (ftp_parse_ls): Recognize time in h:mm format.
  2492.  
  2493.     * ftp.c (ftp_retrieve_dirs): Fixed a bug that caused incorrect
  2494.      CWDs to be sent with recursive FTP retrievals.
  2495.  
  2496. 1996-10-03  Hrvoje Niksic  <hniksic@srce.hr>
  2497.  
  2498.     * recur.c (parse_robots): Made it more compliant with "official"
  2499.      specifications.
  2500.  
  2501.     * http.c: New function.
  2502.  
  2503.     * ftp-unix.c (ftp_parse_ls): Added better debug output.
  2504.  
  2505.     * ftp.c (getftp): Print out the LIST in case of
  2506.      opt.print_server_response.
  2507.  
  2508.     * version.c: Changed version to 1.4b21.
  2509.  
  2510. 1996-10-01  Hrvoje Niksic  <hniksic@srce.hr>
  2511.  
  2512.     * version.c: "Released" 1.4b20.
  2513.  
  2514.     * README: Update.
  2515.  
  2516.     * http.c (gethttp): Preset lengths of various headers instead of
  2517.      calculating them dynamically.
  2518.     (gethttp): Check for 206 partial contents.
  2519.  
  2520. 1996-09-30  Hrvoje Niksic  <hniksic@srce.hr>
  2521.  
  2522.     * configure.in: Set SYSTEM_GETURLRC to $libdir/geturlrc
  2523.  
  2524.     * http.c (gethttp): Send the port number in the Host: header.
  2525.  
  2526. 1996-09-29  Hrvoje Niksic  <hniksic@srce.hr>
  2527.  
  2528.     * http.c (gethttp): Send host: header.
  2529.     (gethttp): Add the possibility of user-defined headers.
  2530.     (gethttp): Move decision about pragma: no-cache to http_loop,
  2531.      where it belongs.
  2532.     (gethttp): Pass a struct instead of enormous argument list.
  2533.     (http_loop): Use a new, fancier display format.
  2534.     (ftp_loop): Likewise.
  2535.  
  2536.     * main.c: (hangup): Turn off buffering of the new log file.
  2537.  
  2538.     * install-sh: Likewise.
  2539.  
  2540.     * config.sub: Replace with the one in autoconf-2.10
  2541.  
  2542.     * geturl.1: Update.
  2543.  
  2544.     * init.c: New options httpuser and httppasswd.
  2545.  
  2546.     * http.c: (base64_encode_line): New function.
  2547.     (gethttp): Send authentication.
  2548.  
  2549.     * connect.c (make_connection): Use store_hostaddress.
  2550.  
  2551. 1996-09-28  Hrvoje Niksic  <hniksic@srce.hr>
  2552.  
  2553.     * host.c (store_hostaddress): New function.
  2554.  
  2555.     * NEWS: Update.
  2556.  
  2557.     * http.c (hgetrange): New function.
  2558.     (gethttp): Use ranges.
  2559.  
  2560.     * utils.c (numdigit): Accept long instead of int.
  2561.  
  2562.     * http.c (http_loop): Add restart capabilities.
  2563.  
  2564.     * ftp.c (ftp_retrieve_glob): Fixed a bug that could cause matchres
  2565.      being used uninitialized.
  2566.     (ftp_retrieve_list): Similar fix.
  2567.  
  2568.     * host.c (add_hlist): Fixed a bug that could cause cmp being used
  2569.      uninitialized.
  2570.  
  2571.     * url.c (construct_relative): New function.
  2572.  
  2573.     * recur.c (recursive_retrieve): Use it.
  2574.  
  2575.     * retr.c (convert_links): New function.
  2576.  
  2577. 1996-09-27  Hrvoje Niksic  <hniksic@srce.hr>
  2578.  
  2579.     * url.c (free_urlpos): New function.
  2580.  
  2581.     * recur.c (recursive_retrieve): Adapt.
  2582.  
  2583.     * url.c (get_urls_html): Return a linked list instead of a vector.
  2584.  
  2585.     * url.c (get_urls_file): Return a linked list instead of a vector.
  2586.  
  2587.     * geturl.1: Update.
  2588.  
  2589.     * http.c (gethttp): Implement it.
  2590.  
  2591.     * init.c (setval): New option: SAVEHEADERS
  2592.  
  2593.     * ftp.c (ftp_loop_internal): Do not set restval if listing is to
  2594.      be retrieved. Lack of this test caused bugs when the connection
  2595.      was lost during listing.
  2596.  
  2597.     * retr.c (retrieve_url): Fixed a bug that caused
  2598.      coredumps. *newloc is now reset by default.
  2599.     (retrieve_url): Lift the twenty-tries limit on proxies.
  2600.  
  2601.     * version.c: Changed version to 1.4b20.
  2602.  
  2603. 1996-09-20  Hrvoje Niksic  <hniksic@srce.hr>
  2604.  
  2605.     * version.c: "Released" 1.4b19.
  2606.  
  2607. 1996-09-19  Hrvoje Niksic  <hniksic@srce.hr>
  2608.  
  2609.     * ftp.c (ftp_loop_internal): Renamed from ftp_1fl_loop.
  2610.     (getftp): Changed prototype to accept ccon *.
  2611.  
  2612. 1996-09-17  Hrvoje Niksic  <hniksic@srce.hr>
  2613.  
  2614.     * ftp.c (ftp_retrieve_list): Fixed a bug that caused setting
  2615.      incorrect values to files pointed to by symbolic links.
  2616.     (ftp_1fl_loop): Do not count listings among the downloaded URL-s.
  2617.  
  2618. 1996-09-16  Hrvoje Niksic  <hniksic@srce.hr>
  2619.  
  2620.     * url.c (mkstruct): Do not prepend "./" in front of a pathname.
  2621.  
  2622.     * main.c (main): New option: --user-agent.
  2623.  
  2624.     * geturl.1: Ditto.
  2625.  
  2626.     * init.h: Ditto.
  2627.  
  2628.     * init.c (setval): Ditto.
  2629.  
  2630.     * main.c (main): Rename "server-headers" to "server-response".
  2631.  
  2632.     * ftp-unix.c (ftp_parse_ls): Check for asterisks at the end of
  2633.      executables in 'ls -F' listings.
  2634.  
  2635. 1996-09-15  Hrvoje Niksic  <hniksic@srce.hr>
  2636.  
  2637.     * url.c (parseurl): Remove realloc() and sprintf().
  2638.     (str_url): Get rid of sprintf().
  2639.  
  2640.     * recur.c (recursive_retrieve): Enable FTP recursion through proxy
  2641.      servers.
  2642.  
  2643.     * url.h (URL_CLEANSE): Made it else-resistant.
  2644.     (USE_PROXY): New macro.
  2645.  
  2646. 1996-09-14  Hrvoje Niksic  <hniksic@srce.hr>
  2647.  
  2648.     * NEWS: Update.
  2649.  
  2650.     * version.c: Changed version to 1.4b19.
  2651.  
  2652. 1996-09-14  Hrvoje Niksic  <hniksic@srce.hr>
  2653.  
  2654.     * version.c: "Released" 1.4b18.
  2655.  
  2656.     * url.c: Made it reallocate space exponentially.
  2657.  
  2658. 1996-09-14  Drazen Kacar  <dave@fly.cc.fer.hr>
  2659.  
  2660.     * html.c (htmlfindurl): Added <frame src> and <iframe src> among
  2661.      the list of stuff to fetch.
  2662.  
  2663. 1996-09-13  Hrvoje Niksic  <hniksic@srce.hr>
  2664.  
  2665.     * url.c (get_urls_html): Fixed a bug that caused SIGSEGV's with
  2666.      -Fi.
  2667.  
  2668.     * html.c (htmlfindurl): Rewrite.
  2669.  
  2670.     * http.c (gethttp): Use opt.proxy_cache.
  2671.  
  2672.     * main.c (main): Added --cache option.
  2673.  
  2674.     * ftp.c (ftp_response): Print server response if opt.print_server
  2675.      response is set.
  2676.     (getftp): Print newlines after each request if the server response
  2677.      is to be printed.
  2678.     (ftp_response): Copy the last response line to last_respline.
  2679.  
  2680.     * http.c (gethttp): Add Pragma: nocache for retried
  2681.      proxy-retrievals.
  2682.  
  2683.     * ftp.c (getftp): Use it.
  2684.  
  2685.     * retr.c (buf_discard): New function.
  2686.  
  2687.     * ftp.c (ftp_response): Use buf_readchar().
  2688.     (getftp): Flush the control connection buffer before calling
  2689.      get_contents().
  2690.  
  2691.     * retr.c (buf_readchar): New function.
  2692.     (buf_flush): New function.
  2693.     (get_contents): Use buf_readchar() instead of read(x, x, 1).
  2694.     (get_contents): Use buf_flush.
  2695.  
  2696. 1996-09-12  Hrvoje Niksic  <hniksic@srce.hr>
  2697.  
  2698.     * ftp.c: Incorporate changes to ftp_response.
  2699.  
  2700.     * ftp.c (ftp_response): Allocate the server response dynamically,
  2701.      as in read_whole_line and fetch_next_header.
  2702.  
  2703.     * utils.c (read_whole_line): Fixed a bug that prevented reading
  2704.      the last line if it is not \n-terminated. Also fixed a possible
  2705.      memory overflow.
  2706.  
  2707.     * http.c (fetch_next_header): Return malloc-ed string as large as
  2708.      needed.
  2709.     (gethttp): Use new fetch_next_header.
  2710.  
  2711. 1996-09-12  Hrvoje Niksic  <hniksic@srce.hr>
  2712.  
  2713.     * http.c (hgetlen): Compute the header length the first time only.
  2714.     (hgettype): Ditto.
  2715.     (hgetlocation): Ditto.
  2716.     (hgetmodified): Ditto.
  2717.  
  2718. 1996-09-11  Hrvoje Niksic  <hniksic@srce.hr>
  2719.  
  2720.     * sample.geturlrc: Update.
  2721.  
  2722. 1996-09-10  Hrvoje Niksic  <hniksic@srce.hr>
  2723.  
  2724.     * http.c (http_loop): Ditto.
  2725.  
  2726.     * ftp.c (getftp): Open the output file as binary.
  2727.  
  2728.     * version.c: Changed version to 1.4b18.
  2729.  
  2730. 1996-09-10  Hrvoje Niksic  <hniksic@srce.hr>
  2731.  
  2732.     * version.c: "Released" 1.4b17.
  2733.  
  2734.     * ftp-unix.c (ftp_parse_ls): If unable to open file, return NULL
  2735.      instead of failed assertion.
  2736.  
  2737. 1996-09-09  Hrvoje Niksic  <hniksic@srce.hr>
  2738.  
  2739.     * ftp.c (ftp_get_listing): Add a numbered suffix to LIST_FILENAME
  2740.      if a file of that name already exists.
  2741.  
  2742. 1996-09-05  Hrvoje Niksic  <hniksic@srce.hr>
  2743.  
  2744.     * ftp.c (ftp_1fl_loop): Handler FTPPORTERR and FOPENERR correctly.
  2745.  
  2746.     * config.h.in: Define gethostbyname as Rgethostbyname when using
  2747.      Socks.
  2748.  
  2749.     * configure.in: Check for -lresolv if using Socks.
  2750.  
  2751.     * version.c: Changed version to 1.4b17.
  2752.  
  2753. 1996-07-15  Hrvoje Niksic  <hniksic@srce.hr>
  2754.  
  2755.     * version.c: "Released" 1.4b16.
  2756.  
  2757.     * http.c (gethttp): More intelligent check for first line of HTTP
  2758.      response.
  2759.     (gethttp): Would bug out on time-stamping.
  2760.  
  2761.     * version.c: Changed version to 1.4b16.
  2762.  
  2763. 1996-07-11  Hrvoje Niksic  <hniksic@srce.hr>
  2764.  
  2765.     * version.c: Released 1.4b15.
  2766.  
  2767.     * http.c (http_loop): Print \n after the loop entry, not before.
  2768.  
  2769.     * url.c (url_filename): Use ISDOT.
  2770.  
  2771.     * url.h (ISDOT): New macro.
  2772.  
  2773.     * recur.c (recursive_retrieve): Change only opt.recursive for
  2774.      following FTP.
  2775.  
  2776. 1996-07-11  Antonio Rosella <antonio.rosella@agip.it>
  2777.  
  2778.     * socks/geturl.cgi: Fixed version No.
  2779.  
  2780.     * socks/download-netscape.html: Ditto.
  2781.  
  2782.     * socks/download.html: Changed socks.html to download.html.
  2783.  
  2784. 1996-07-11  Hrvoje Niksic  <hniksic@srce.hr>
  2785.  
  2786.     * url.c (url_filename): Check for opt.dirstruct instead for
  2787.      opt.recursive && opt.dirstruct.
  2788.  
  2789.     * init.c (defaults): Ditto.
  2790.     (defaults): Reset dirstruct by default.
  2791.     (setval): Set opt.dirstruct whenever setting recursive.
  2792.  
  2793.     * init.h: Removed FORCEDIRHIER.
  2794.  
  2795.     * INSTALL: Added -L to socks-description.
  2796.  
  2797.     * version.c: Changed version to 1.4b15.
  2798.  
  2799. 1996-07-10  Hrvoje Niksic  <hniksic@srce.hr>
  2800.  
  2801.     * version.c: "Released" 1.4b14.
  2802.  
  2803.     * geturl.1: Update AUTHOR to include Rosella as contributor.
  2804.  
  2805.     * NEWS: Update.
  2806.  
  2807.     * socks/geturl.cgi: Simplified command creation, nuked <blink>.
  2808.  
  2809.     * socks/geturl.cgi: Wrap nutscape extensions within if $netscape.
  2810.     (cal_time): Fix == to eq.
  2811.  
  2812.     * socks/geturl.cgi: GPL-ized with permission of A. Rosella.
  2813.  
  2814.     * geturl.1 (hostname): Moved URL CONVENTIONS to the beginning.
  2815.  
  2816.     * Makefile.in: Use @VERSION@.
  2817.  
  2818.     * configure.in: Check version from version.c.
  2819.  
  2820.     * socks/geturl.cgi: Changed /pub/bin/perl to /usr/bin/perl.
  2821.  
  2822.     * socks/download.html: Created from download-netscape.html, made
  2823.      HTML-2.0 compliant.
  2824.  
  2825.     * recur.c (recursive_retrieve): Set opt.force_dir_hier when
  2826.      following FTP links from recursions.
  2827.  
  2828. 1996-07-09  Hrvoje Niksic  <hniksic@srce.hr>
  2829.  
  2830.     * url.c (mymkdir): Fixed a bug that prevented mymkdir() to create
  2831.      absolute directories correctly.
  2832.  
  2833.     * version.c: Changed version to 1.4b14.
  2834.  
  2835. 1996-07-09  Hrvoje Niksic  <hniksic@srce.hr>
  2836.  
  2837.     * version.c: "Released" 1.4b13.
  2838.  
  2839.     * url.c (make_backup): New function.
  2840.  
  2841.     * http.c (http_loop): Make a backup copy of the local file (using
  2842.      rename(2)) before opening it.
  2843.  
  2844.     * main.c (main): Added --backups.
  2845.  
  2846.     * host.c (ftp_getaddress): Bail out on failed mycuserid().
  2847.     (ftp_getaddress): Check for leading dot on MY_DOMAIN.
  2848.     (ftp_getaddress): Check for empty, null or (null) domain.
  2849.  
  2850.     * url.c (get_urls_html): If this_url is NULL, the base must have a
  2851.      protocol.
  2852.     (parseurl): Use has_proto.
  2853.  
  2854.     * retr.c (retrieve_url): Warn when proxy is used with more than 20
  2855.      retries.
  2856.  
  2857.     * url.c (mkstruct): Create the directory (calling mymkdir()) only
  2858.      if it is not already there.
  2859.     (has_proto): New function.
  2860.     (get_urls_html): Eliminate the remaining call to findurl -- use
  2861.      has_proto.
  2862.  
  2863.     * geturl.1: Ditto.
  2864.  
  2865.     * main.c: Change -X to -x.
  2866.  
  2867.     * url.c (url_filename): Simplify creation of filename if
  2868.      prefix_files is set.
  2869.     (url_filename): Simplify everything. And I do mean *everything*.
  2870.     (mkstruct): Add dir_prefix before hostname.
  2871.     (path_simplify): Fixed a bug that caused writing outside the path
  2872.      string in case of "." and ".." path strings.
  2873.  
  2874. 1996-07-06  Hrvoje Niksic  <hniksic@srce.hr>
  2875.  
  2876.     * init.c: Added --mirror.
  2877.  
  2878.     * main.c (main): Added -X to force saving of directory hierarchy.
  2879.  
  2880.     * ftp.c (ftp_retrieve_list): Added recursion depth counter.
  2881.     (ftp_retrieve_list): Check whether quota is exceeded.
  2882.  
  2883.     * url.c (get_urls_html): Skip leading blanks for absolute URIs.
  2884.  
  2885.     * http.c (gethttp): Use referer if present.
  2886.  
  2887.     * recur.c (recursive_retrieve): Set u->referer before calling
  2888.      retrieve_url.
  2889.  
  2890.     * url.c (newurl): Use memset to nullify the struct members.
  2891.     (freeurl): Free the referer field too.
  2892.  
  2893.     * url.h: Added referer to urlinfo.
  2894.  
  2895.     * geturl.1: Updated the manual to document some of the new features.
  2896.  
  2897.     * utils.c (numdigit): Moved from url.c.
  2898.  
  2899.     * README: Rewritten.
  2900.  
  2901.     * config.h.in: Add the support for socks.
  2902.  
  2903.     * configure.in: Add the support for socks.
  2904.  
  2905.     * url.c (url_filename): If the dir_prefix is ".", work with just
  2906.      the file name.
  2907.     (url_filename): Do not look for .n extensions if timestamping if
  2908.      turned on.
  2909.  
  2910.     * retr.c (show_progress): Skip the over-abundant restval data, and
  2911.      print the rest of it with ',' instead of '.'.
  2912.  
  2913. 1996-07-05  Hrvoje Niksic  <hniksic@srce.hr>
  2914.  
  2915.     * retr.c (show_progress): Changed second arg. to long (as it
  2916.      should be).
  2917.     (show_progress): Moved to retr.c.
  2918.     (get_contents): Moved to retr.c.
  2919.  
  2920.     * version.c: Change version to 1.4b13.
  2921.  
  2922. 1996-07-05  Hrvoje Lacko <hlacko@fly.cc.fer.hr>
  2923.  
  2924.     * url.c (in_acclist): Would return after the first suffix.
  2925.  
  2926. 1996-07-04  Hrvoje Niksic  <hniksic@srce.hr>
  2927.  
  2928.     * version.c: "Released" 1.4b12.
  2929.  
  2930.     * url.c (path_simplify): More kludgifications.
  2931.     (get_urls_html): Use new parameters for htmlfindurl.
  2932.  
  2933.     * html.c: Removed memorizing "parser states", since the new
  2934.      organization does not require them.
  2935.  
  2936.     * init.c (run_geturlrc): Use read_whole_line.
  2937.  
  2938.     * ftp-unix.c (ftp_parse_ls): Use read_whole_line.
  2939.  
  2940.     * recur.c (parse_robots): Use read_whole_line.
  2941.  
  2942.     * utils.c (read_whole_line): New function.
  2943.  
  2944.     * recur.c (tried_robots): Use add_slist/in_slist, *much* cleaner.
  2945.  
  2946.     * host.c (ngethostbyname): Call inet_addr just once. Yet to be
  2947.      tested on OSF and Ultrix.
  2948.     (add_hlist): New function.
  2949.     (free_hlist): New function.
  2950.     (search_host): New function.
  2951.     (search_address): New function.
  2952.     (realhost): Use search_host, search_address and add_hlist.
  2953.     (same_host): Replaced realloc() with strdupdelim(), made
  2954.      case-insensitive, fixed a memory leak.
  2955.  
  2956.     * html.c (ftp_index): Fixed tm_min and tm_sec to be tm_hour and
  2957.      tm_min, like intended.
  2958.  
  2959.     * version.c: Change user agent information to
  2960.      Geturl/version.
  2961.  
  2962. 1996-07-03  Hrvoje Niksic  <hniksic@srce.hr>
  2963.  
  2964.     * utils.c: Renamed nmalloc.c to utils.c, .h likewise.
  2965.  
  2966.     * url.c (acceptable): Always accept directories.
  2967.  
  2968.     * ftp-unix.c (ftp_parse_ls): Support brain-damaged "ls -F"-loving
  2969.      servers by stripping trailing @ from symlinks and trailing / from
  2970.      directories.
  2971.  
  2972.     * ftp.c (ftp_loop): Debugged the "enhanced" heuristics. :-)
  2973.  
  2974.     * url.c (skip_url): Use toupper instead of UCASE.
  2975.  
  2976.     * host.c (sufmatch): Made it case-insensitive.
  2977.  
  2978.     * url.c (match_backwards_or_pattern): Fixed i == -1 to j == -1.
  2979.     (match_backwards): New function, instead of
  2980.      match_backwards_or_pattern.
  2981.  
  2982.     * recur.c (recursive_retrieve): Increased performance by
  2983.      introducing inl, which reduces number of calls to in_slist to only
  2984.      one.
  2985.  
  2986.     * ftp.c (ftp_loop): Enhanced the heuristics that decides which
  2987.      routine to use.
  2988.  
  2989.     * main.c (printhelp): Removed the warranty stuff.
  2990.  
  2991. 1996-07-02  Hrvoje Niksic  <hniksic@srce.hr>
  2992.  
  2993.     * url.c (add_slist): Simplify.
  2994.     (match_backwards_or_pattern): New function.
  2995.     (in_acclist): Use match_backwards_or_pattern.
  2996.     (matches): Remove.
  2997.  
  2998. 1996-06-30  Hrvoje Niksic  <hniksic@srce.hr>
  2999.  
  3000.     * ftp.c (ftp_loop): Call ftp_index on empty file names, if not
  3001.      recursive.
  3002.  
  3003.     * html.c (ftp_index): Fixed to work. Beautified the output.
  3004.  
  3005.     * ftp.c (ftp_retrieve_glob): Another argument to control whether
  3006.      globbing is to be used.
  3007.     (ftp_retrieve_list): Compare the time-stamps of local and remote
  3008.      files to determine whether to download.
  3009.  
  3010. 1996-06-29  Hrvoje Niksic  <hniksic@srce.hr>
  3011.  
  3012.     * ftp.c (rel_constr): New function.
  3013.  
  3014.     * retr.c (retrieve_from_file): Check for text/html before
  3015.      retrieving recursively.
  3016.  
  3017.     * main.c (main): Check whether the file is HTML before going into
  3018.      recursive HTML retrieving.
  3019.  
  3020.     * ftp.c (ftp_retrieve_list): Manage directories.
  3021.     (ftp_retrieve_glob): Pass all the file-types to ftp_retrieve_list.
  3022.     (ftp_1fl_loop): Fixed a bug that caused con->com to be incorrectly
  3023.      initialized, causing bugchecks in getftp to fail.
  3024.  
  3025.     * configure.in: Check for symlink.
  3026.  
  3027.     * ftp.c (ftp_retrieve_list): Added support for symlinks.
  3028.  
  3029.     * version.c: "Released" 1.4b10.
  3030.  
  3031.     * atotm.c (atotm): Redeclared as time_t.
  3032.  
  3033.     * init.c: New variable "timestamping".
  3034.  
  3035.     * main.c (main): New option 'N'.
  3036.  
  3037.     * http.c (hgetlocation): Case-insensitive match.
  3038.     (hgetmodified): New function.
  3039.     (http_loop): Implement time-stamping.
  3040.  
  3041. 1996-06-28  Hrvoje Niksic  <hniksic@srce.hr>
  3042.  
  3043.     * version.c: Changed version to 1.4b10
  3044.  
  3045.     * atotm.c: New file, from phttpd.
  3046.  
  3047.     * options.h (struct options): New parameter timestamping.
  3048.  
  3049.     * version.c: 1.4b9 "released".
  3050.  
  3051.     * recur.c (recursive_retrieve): Used linked list (ulist) for
  3052.      faster storing of URLs.
  3053.  
  3054.     * url.c (get_urls_html): Removed the old kludge with comparing the
  3055.      outputs of htmlfindurl and findurl.
  3056.     (get_urls_html): Added better protocol support here.
  3057.     (create_hash): Removed, as well as add_hash and in_hash.
  3058.     (addslist): New function.
  3059.     (in_slist): ditto
  3060.  
  3061.     * version.c: Released 1.4b8, changed version to b9.
  3062.  
  3063. 1996-06-27  Hrvoje Niksic  <hniksic@srce.hr>
  3064.  
  3065.     * ftp.c (freefileinfo): New function.
  3066.     (delelement): New function.
  3067.  
  3068.     * everywhere: GPL!
  3069.  
  3070.     * ftp.c (ftp_loop): Use ccon.
  3071.     (ftp_retrieve_glob): Likewise.
  3072.  
  3073.     * ftp.h: Define ccon, to define status of control connection.
  3074.  
  3075.     * ftp.c (ftp_get_listing): New function.
  3076.     (ftp_retrieve_more): New function.
  3077.     (ftp_retrieve_glob): New function.
  3078.  
  3079. 1996-06-25  Hrvoje Niksic  <hniksic@srce.hr>
  3080.  
  3081.     * configure.in: Removed the search for cuserid().
  3082.  
  3083.     * init.c (getmode): Renamed to getperms.
  3084.  
  3085. 1996-06-24  Hrvoje Niksic  <hniksic@srce.hr>
  3086.  
  3087.     * version.c: New version.
  3088.  
  3089.     * main.c (hangup): New function, that handles hangup. Hangup
  3090.         signal now causes geturl to stop writing on stdout, and to write
  3091.         to a log file.
  3092.  
  3093.     * ftp.c (getftp): "Released" 1.4b7.
  3094.  
  3095.     * html.c (htmlfindurl): Ignore everything inside <head>...</head>.
  3096.     (ftp_index): Use fileinfo/urlinfo.
  3097.  
  3098.     * ftp-unix.c (ftp_parse_ls): New function.
  3099.     (symperms): New function.
  3100.  
  3101.     * ftp.c (ftp_1fl_loop): New function, to handle 1-file loops.
  3102.  
  3103.     * retr.c (retrieve_url): Added FTP support.
  3104.  
  3105. 1996-06-23  Hrvoje Niksic  <hniksic@srce.hr>
  3106.  
  3107.     * geturl.h: Removed NOTFTP2HTML enum.
  3108.     Added DO_LOGIN, DO_CWD and DO_LIST. LIST_ONLY is obsolete.
  3109.  
  3110.     * ftp.c (getftp): Resynched with urlinfo.
  3111.     (getftp): Removed HMTL-ization of index.html from getftp.
  3112.  
  3113.     * version.c: 1.4b6 "released".
  3114.  
  3115.     * options.h (options): New struct, to keep options in.
  3116.  
  3117.     * http.c (http_loop,gethttp): Synched with proxy.
  3118.  
  3119.     * retr.c (retrieve_url): Implemented proxy retrieval.
  3120.  
  3121.     * main.c (main): Use retrieve_from_file.
  3122.  
  3123. 1996-06-22  Hrvoje Niksic  <hniksic@srce.hr>
  3124.  
  3125.     * retr.c (retrieve_from_file): New function.
  3126.  
  3127.     * url.c (parseurl): Modified to return URLOK if all OK. Protocol
  3128.         can be found in u->proto.
  3129.  
  3130.     * ftp.c (ftp_response): Fixed to accept multi-line responses as
  3131.         per RFC 959.
  3132.  
  3133.     * recr.c (recursive_retrieve): Take newloc from retrieve_url.
  3134.  
  3135.     * url.c (mymkdir): Removed the file of the same name, if one
  3136.         exists.
  3137.     (isfile): New function.
  3138.     (mkstruct): Fixed the '/' glitches.
  3139.     (path_simplify): Hacked to treat something/.. correctly.
  3140.  
  3141. 1996-06-21  Hrvoje Niksic  <hniksic@srce.hr>
  3142.  
  3143.     * http.c (gethttp): Close the socket after error in headers.
  3144.     (http_loop): HEOF no longer a fatal header.
  3145.  
  3146.     * loop.c (retrieve_url): When dt is NULL, do not modify it. This
  3147.         simplifies the syntax of calling retrieve_url.
  3148.  
  3149.     * recr.c (recursive_retrieve): Modified to use get_urls_html.
  3150.  
  3151.     * url.c (get_urls_file): New function.
  3152.     (get_urls_html): New function.
  3153.  
  3154.     * recr.c (recursive_retrieve): Patched up to conform to the
  3155.         standards.
  3156.  
  3157.     * http.c (gethttp): Synched with the rest...
  3158.     (gethttp): Treat only CONREFUSED specially, with connection
  3159.     errors.
  3160.  
  3161.     * init.c,geturl.1,http.c (http_loop): Removed kill_error.
  3162.  
  3163. 1996-06-20  Hrvoje Niksic  <hniksic@srce.hr>
  3164.  
  3165.     * http.c (http_loop): New function.
  3166.  
  3167.     * loop.c: Removed *lots* of stuff from retrieve_url.
  3168.  
  3169.     * url.c (parseurl): Changed to work with urlinfo. Integrated
  3170.         username finding and path parsing.
  3171.     (newurl): New function.
  3172.     (freeurl): New function.
  3173.     (mkstruct): Removed the old bogosities, made it urlinfo-compliant.
  3174.     (url_filename): Likewise.
  3175.     (path_simplify): Accept relative paths too.
  3176.     (opt_url): Made urlinfo-compliant, removed bogosities.
  3177.     (path_simplify): Expanded to accept relative paths.
  3178.     (str_url): A replacement for hide_url
  3179.     (decode_string): Fixed a bug that caused malfunctioning when
  3180.     encountering an illegal %.. combination.
  3181.     (opt_url): Removed the argument. Dot-optimizations are now default.
  3182.  
  3183.     * nmalloc.c (strdupdelim): New function.
  3184.  
  3185.     * url.h: Added the urlinfo structure
  3186.  
  3187. 1996-06-19  Hrvoje Niksic  <hniksic@srce.hr>
  3188.  
  3189.     * url.c (hide_url): Thrown out the protocol assertion. Do not
  3190.         change the URL if the protocol if not recognized.
  3191.     (findurl): Put continue instead of break.
  3192.  
  3193. 1996-06-18  Hrvoje Niksic  <hniksic@srce.hr>
  3194.  
  3195.     * sample.geturlrc: Changed the defaults to be commented out and
  3196.         harmless (previous defaults caused pains if copied to
  3197.         ~/.geturlrc).
  3198.  
  3199.     * http.c (gethttp): Print the HTTP request in debug mode.
  3200.  
  3201.     * connect.c (iread): Added EINTR check loop to select-ing
  3202.         too. EINTR is now correctly handled with select().
  3203.  
  3204.     * TODO: new file
  3205.  
  3206. 1996-05-07  Hrvoje Niksic  <hniksic@srce.hr>
  3207.  
  3208.     * host.c (same_host): Made the function a little bit more
  3209.         intelligent regarding diversified URL syntaxes.
  3210.  
  3211.     * url.c (skip_url): Spaces are now skipped after URL:
  3212.  
  3213.     * Released 1.3.1 with the patch to prevent crashing when sending
  3214.         NULL to robot* functions and the patch to compile "out of the box"
  3215.         on AIX.
  3216.  
  3217.     * recr.c (recursive_retrieve): Added checking whether this_url is
  3218.     NULL when calling the robot functions.
  3219.  
  3220.     * ChangeLog: New file.
  3221.