From: Chris Allegretta Date: Thu, 4 Jan 2001 02:49:56 +0000 (+0000) Subject: use lstat instead of stat in filestat, so we can check for if the file is a symlink... X-Git-Tag: v0.9.25~22 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=f0999a18f0ef7a5084c03dca518ab25f7de7ef33;p=nano.git use lstat instead of stat in filestat, so we can check for if the file is a symlink in the browser git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@438 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- diff --git a/files.c b/files.c index 90872778..5e1fd5f6 100644 --- a/files.c +++ b/files.c @@ -1054,7 +1054,7 @@ char *input_tab(char *buf, int place, int *lastWasTab, int *newplace) struct stat filestat(const char *path) { struct stat st; - stat(path, &st); + lstat(path, &st); return st; } @@ -1327,7 +1327,9 @@ char *do_browser(char *inpath) if (S_ISDIR(st.st_mode)) strcpy(foo + longest - 5, "(dir)"); else { - if (st.st_size < 1024) /* less than 1 K */ + if (S_ISLNK(st.st_mode)) + strcpy(foo + longest - 2, "--"); + else if (st.st_size < 1024) /* less than 1 K */ sprintf(foo + longest - 7, "%4d B", (int) st.st_size); else if (st.st_size > 1073741824) /* at least 1 gig */ sprintf(foo + longest - 7, "%4d GB", (int) st.st_size / 1073741824);