Wed Dec 16 15:29:49 2009 UTC ()
Fix the undocumented find_ignore_dirs option. Bump revision.


(joerg)
diff -r1.74 -r1.75 pkgsrc/sysutils/mc/Makefile
diff -r1.17 -r1.18 pkgsrc/sysutils/mc/distinfo
diff -r0 -r1.9 pkgsrc/sysutils/mc/patches/patch-ad

cvs diff -r1.74 -r1.75 pkgsrc/sysutils/mc/Makefile (expand / switch to unified diff)

--- pkgsrc/sysutils/mc/Makefile 2009/06/14 21:28:47 1.74
+++ pkgsrc/sysutils/mc/Makefile 2009/12/16 15:29:48 1.75
@@ -1,17 +1,17 @@ @@ -1,17 +1,17 @@
1# $NetBSD: Makefile,v 1.74 2009/06/14 21:28:47 joerg Exp $ 1# $NetBSD: Makefile,v 1.75 2009/12/16 15:29:48 joerg Exp $
2 2
3DISTNAME= mc-4.6.1 3DISTNAME= mc-4.6.1
4PKGREVISION= 4 4PKGREVISION= 5
5CATEGORIES= sysutils 5CATEGORIES= sysutils
6MASTER_SITES= http://www.ibiblio.org/pub/Linux/utils/file/managers/mc/ \ 6MASTER_SITES= http://www.ibiblio.org/pub/Linux/utils/file/managers/mc/ \
7 ${MASTER_SITE_SUNSITE:=utils/file/managers/mc/} 7 ${MASTER_SITE_SUNSITE:=utils/file/managers/mc/}
8 8
9MAINTAINER= pavel.arnost@clnet.cz 9MAINTAINER= pavel.arnost@clnet.cz
10HOMEPAGE= http://www.ibiblio.org/mc/ 10HOMEPAGE= http://www.ibiblio.org/mc/
11COMMENT= User-friendly file manager and visual shell 11COMMENT= User-friendly file manager and visual shell
12 12
13PKG_DESTDIR_SUPPORT= user-destdir 13PKG_DESTDIR_SUPPORT= user-destdir
14PKG_INSTALLATION_TYPES= overwrite pkgviews 14PKG_INSTALLATION_TYPES= overwrite pkgviews
15 15
16USE_TOOLS+= pkg-config unzip:run zip:run 16USE_TOOLS+= pkg-config unzip:run zip:run
17GNU_CONFIGURE= YES 17GNU_CONFIGURE= YES

cvs diff -r1.17 -r1.18 pkgsrc/sysutils/mc/distinfo (expand / switch to unified diff)

--- pkgsrc/sysutils/mc/distinfo 2008/02/14 12:26:56 1.17
+++ pkgsrc/sysutils/mc/distinfo 2009/12/16 15:29:48 1.18
@@ -1,9 +1,10 @@ @@ -1,9 +1,10 @@
1$NetBSD: distinfo,v 1.17 2008/02/14 12:26:56 drochner Exp $ 1$NetBSD: distinfo,v 1.18 2009/12/16 15:29:48 joerg Exp $
2 2
3SHA1 (mc-4.6.1.tar.gz) = 92be0802143245e0fb7e3847d70da614cad7d5fb 3SHA1 (mc-4.6.1.tar.gz) = 92be0802143245e0fb7e3847d70da614cad7d5fb
4RMD160 (mc-4.6.1.tar.gz) = d565ee95a8916d73fad5e0defeb9f2f57e50962b 4RMD160 (mc-4.6.1.tar.gz) = d565ee95a8916d73fad5e0defeb9f2f57e50962b
5Size (mc-4.6.1.tar.gz) = 3928370 bytes 5Size (mc-4.6.1.tar.gz) = 3928370 bytes
6SHA1 (patch-aa) = 7168617908acb8aead0109308845513316ff3f18 6SHA1 (patch-aa) = 7168617908acb8aead0109308845513316ff3f18
7SHA1 (patch-ab) = 11677a3029ee2669d8a74a47188cff728052f408 7SHA1 (patch-ab) = 11677a3029ee2669d8a74a47188cff728052f408
8SHA1 (patch-ac) = 9d35fbfb73a3c5b9bc7dff604599d63069fc62ab 8SHA1 (patch-ac) = 9d35fbfb73a3c5b9bc7dff604599d63069fc62ab
 9SHA1 (patch-ad) = 78e0c111ca92f55701a0963b049b1dfef9f06cf1
9SHA1 (patch-su) = adad37f777fd2db905108fbd8d1b1a139cf1352a 10SHA1 (patch-su) = adad37f777fd2db905108fbd8d1b1a139cf1352a

File Added: pkgsrc/sysutils/mc/patches/Attic/patch-ad
$NetBSD: patch-ad,v 1.9 2009/12/16 15:29:48 joerg Exp $

--- src/find.c.orig	2005-05-27 14:19:18.000000000 +0000
+++ src/find.c
@@ -606,18 +606,7 @@ do_search (struct Dlg_head *h)
 		    stop_idle (h);
 		    return 0;
 		}
-		if (find_ignore_dirs){
-                    int found;
-		    char *temp_dir = g_strconcat (":", tmp, ":", (char *) NULL);
-
-                    found = strstr (find_ignore_dirs, temp_dir) != 0;
-                    g_free (temp_dir);
-		    if (found)
-			g_free (tmp);
-		    else
-			break;
-		} else
-		    break;
+		break;
 	    } 
 
 	    g_free (directory);
@@ -652,14 +641,30 @@ do_search (struct Dlg_head *h)
 	return 1;
     }
 
-    if (subdirs_left && directory) { /* Can directory be NULL ? */
-	char *tmp_name = concat_dir_and_file (directory, dp->d_name);
-	if (!mc_lstat (tmp_name, &tmp_stat)
-	    && S_ISDIR (tmp_stat.st_mode)) {
-	    push_directory (tmp_name);
-	    subdirs_left--;
+    if (directory) { /* Can directory be NULL ? */
+	char *tmp_name;
+	if (find_ignore_dirs){
+	    int found;
+
+    	    tmp_name = g_strconcat (":", dp->d_name, ":", (char *) NULL);
+
+            found = strstr (find_ignore_dirs, tmp_name) != 0;
+            g_free (tmp_name);
+	    if (found) {
+		dp = mc_readdir (dirp);
+		return 1;
+	    }
+	}
+
+	if (subdirs_left) {
+	    tmp_name = concat_dir_and_file (directory, dp->d_name);
+	    if (!mc_lstat (tmp_name, &tmp_stat)
+		&& S_ISDIR (tmp_stat.st_mode)) {
+		push_directory (tmp_name);
+		subdirs_left--;
+	    }
+	    g_free (tmp_name);
 	}
-	g_free (tmp_name);
     }
 
     if (regexp_match (find_pattern, dp->d_name, match_file)){