diff options
author | sumikawa <sumikawa@FreeBSD.org> | 2012-08-23 16:59:30 +0800 |
---|---|---|
committer | sumikawa <sumikawa@FreeBSD.org> | 2012-08-23 16:59:30 +0800 |
commit | 1fcec923fcd1cd27d599e9715a1cbaed2e8f3db9 (patch) | |
tree | 17b7efdf7bed52d4fc60bcb9e7963df15f2d0d07 /misc | |
parent | 8705899fb9c43f38a55249bce33b1e0ff1d8ab13 (diff) | |
download | freebsd-ports-gnome-1fcec923fcd1cd27d599e9715a1cbaed2e8f3db9.tar.gz freebsd-ports-gnome-1fcec923fcd1cd27d599e9715a1cbaed2e8f3db9.tar.zst freebsd-ports-gnome-1fcec923fcd1cd27d599e9715a1cbaed2e8f3db9.zip |
Show error when opening a directory'. It's the same behavior with less.
PR: 162050
Submitted by: Koichiro IWAO <meta@club.kyutech.ac.jp>
Diffstat (limited to 'misc')
-rw-r--r-- | misc/lv/Makefile | 2 | ||||
-rw-r--r-- | misc/lv/files/patch-src_lv.c | 49 |
2 files changed, 50 insertions, 1 deletions
diff --git a/misc/lv/Makefile b/misc/lv/Makefile index d43c96580005..ea44b43a140f 100644 --- a/misc/lv/Makefile +++ b/misc/lv/Makefile @@ -7,7 +7,7 @@ PORTNAME= lv PORTVERSION= 4.51 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= misc MASTER_SITES= http://www.ff.iij4u.or.jp/~nrt/freeware/ DISTNAME= lv451 diff --git a/misc/lv/files/patch-src_lv.c b/misc/lv/files/patch-src_lv.c new file mode 100644 index 000000000000..5922497d86ef --- /dev/null +++ b/misc/lv/files/patch-src_lv.c @@ -0,0 +1,49 @@ +--- lv.c.orig 2004-01-05 16:30:15.000000000 +0900 ++++ lv.c 2012-08-23 16:49:46.728726453 +0900 +@@ -2,6 +2,7 @@ + * lv.c + * + * All rights reserved. Copyright (C) 1996 by NARITA Tomio. ++ * Copyright (C) Oct 27, 2011 Koichiro IWAO. All rights reserved. + * $Id: lv.c,v 1.10 2004/01/05 07:30:15 nrt Exp $ + */ + /* +@@ -89,16 +90,35 @@ + grep_mode = FALSE; + } + ++private boolean_t isDirectory(byte **file) { ++ struct stat buf; ++ stat((unsigned char *)file, &buf); ++ if (S_ISDIR(buf.st_mode)) { ++ fprintf(stderr, "%s is a directory\n", file); ++ return TRUE; ++ } else { ++ return FALSE; ++ } ++} ++ + private boolean_t LvOpen( conf_t *conf ) + { ++ boolean_t flagIsDirectory = FALSE; ++ + if( NULL != conf->file ){ ++ if( TRUE == isDirectory( *conf->file ) ){ ++ flagIsDirectory = TRUE; ++ } + if( NULL == (conf->st = StreamOpen( *conf->file )) ){ + while( NULL != *(++conf->file) ){ +- if( NULL != (conf->st = StreamOpen( *conf->file )) ) +- return TRUE; ++ if( NULL != (conf->st = StreamOpen( *conf->file )) ){ ++ if( TRUE == isDirectory( *conf->file ) ){ ++ flagIsDirectory = TRUE; ++ } ++ } + } +- return FALSE; + } ++ return (TRUE == flagIsDirectory ? FALSE : TRUE); + } else { + conf->st = StreamReconnectStdin(); + } |