--- lynx-2.8.5/WWW/Library/Implementation/HTFile.c.orig 2004-03-11 23:00:54.000000000 -0800 +++ lynx-2.8.5/WWW/Library/Implementation/HTFile.c 2004-03-11 23:02:59.000000000 -0800 @@ -207,6 +207,7 @@ PRIVATE void LYListFmtParse ARGS5( char *datestr; #ifdef S_IFLNK int len; + struct stat st; #endif #define SEC_PER_YEAR (60 * 60 * 24 * 365) @@ -278,7 +279,8 @@ PRIVATE void LYListFmtParse ARGS5( END(HTML_A); *buf = '\0'; #ifdef S_IFLNK - if (c != 'A' && S_ISLNK(data->file_info.st_mode) && + if (lstat(file, &st)<0) st=data->file_info; + if (c != 'A' && S_ISLNK(st.st_mode) && (len = readlink(file, tmp, sizeof(tmp) - 1)) >= 0) { PUTS(" -> "); tmp[len] = '\0'; @@ -1788,7 +1790,7 @@ PRIVATE int print_local_dir ARGS5( /* FIXME */ } LYTrimPathSep (tmpfilename); - if (lstat(tmpfilename, &(data->file_info)) < 0) + if (stat(tmpfilename, &(data->file_info)) < 0) data->file_info.st_mode = 0; strcpy(data->file_name, dirbuf->d_name);