aboutsummaryrefslogtreecommitdiffstats
path: root/misc
diff options
context:
space:
mode:
Diffstat (limited to 'misc')
-rw-r--r--misc/lv/Makefile2
-rw-r--r--misc/lv/files/patch-src_lv.c49
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();
+ }