Mail Archives: cygwin-developers/2000/04/17/09:43:44
Hi,
Below is a patch which solves some of problems I met while trying
to install the new net release.
Problems were caused by Novel Border Manager which was used as ftp proxy.
I found that it generates quite hmm... uncommon ftp listing and the setup
program was a bit confused with it.
The ftp listing contains <BASE> element defining base url and <A> elements
with relative path names in their href attributes. In addition each line
in the listing begins with '\0'.
Finally, after I got through it my drive got cluttered with all these miserable
ftp listings, so I added a couple of unlink calls.
Then all went smooth until I found that the small white-blue icon I used to see
since B20 times got lost and cygwin console window is now uglified with MSDOS
icon. What one can expect to see though such a window? I believe that it may
result in numerous hard to find bugs, performance degradation and overall
unstability.
One more thing - uninstall script hasn't deleted
/usr/lib/gcc-lib/i686-pc-cygwin/2.95.2libstdc++.a which is a symlik to
../../../libstdc++.a.2.10.0
--
Regards,
Vadim Egorov
Index: setup.c
===================================================================
RCS file: /cvs/src/src/winsup/cinstall/setup.c,v
retrieving revision 1.19
diff -c -r1.19 setup.c
*** setup.c 2000/04/17 04:01:31 1.19
--- setup.c 2000/04/17 12:10:44
***************
*** 21,27 ****
#define CYGNUS_KEY "Software\\Cygnus Solutions"
#define DEF_ROOT "C:\\cygwin"
! #define DOWNLOAD_SUBDIR "latest"
#define SCREEN_LINES 25
#define COMMAND9X "command.com /E:4096 /c "
--- 21,27 ----
#define CYGNUS_KEY "Software\\Cygnus Solutions"
#define DEF_ROOT "C:\\cygwin"
! #define DOWNLOAD_SUBDIR "latest/"
#define SCREEN_LINES 25
#define COMMAND9X "command.com /E:4096 /c "
***************
*** 580,589 ****
char *
findhref (char *buffer)
{
! char *ref = strstr (buffer, "href=");
if (!ref)
! ref = strstr (buffer, "HREF=");
if (ref)
{
--- 580,598 ----
char *
findhref (char *buffer)
{
! char *ref;
! char *anchor = strstr (buffer, "<A");
+ if (!anchor)
+ anchor = strstr (buffer, "<a");
+
+ if (!anchor)
+ return 0;
+
+ ref = strstr (anchor, "href=");
+
if (!ref)
! ref = strstr (anchor, "HREF=");
if (ref)
{
***************
*** 609,615 ****
while (fgets (buffer, sizeof (buffer), in))
{
! char *ref = findhref (buffer);
if (ref)
{
--- 618,624 ----
while (fgets (buffer, sizeof (buffer), in))
{
! char *ref = findhref (buffer[0] ? buffer : buffer + 1);
if (ref)
{
***************
*** 708,714 ****
--- 717,726 ----
char *file = tmpfilename ();
if (geturl (session, url, file, 1))
+ {
retval = processdirlisting (session, url, file);
+ unlink (file);
+ }
xfree (file);
return retval;
***************
*** 735,741 ****
char *file = tmpfilename ();
if (geturl (session, url, file, 1))
! retval = processdirlisting (session, url, file);
xfree (file);
--- 747,756 ----
char *file = tmpfilename ();
if (geturl (session, url, file, 1))
! {
! retval = processdirlisting (session, url, file);
! unlink (file);
! }
xfree (file);
- Raw text -