From d704dc661acf0cb720439429a49609f73e33178b Mon Sep 17 00:00:00 2001
From: bug1 <bug1@69ca8d6d-28ef-0310-b511-8ec308f3f277>
Date: Sat, 13 Oct 2001 06:53:34 +0000
Subject: match exclude/include names with trailing '/'

git-svn-id: svn://busybox.net/trunk/busybox@3513 69ca8d6d-28ef-0310-b511-8ec308f3f277
---
 libbb/unarchive.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/libbb/unarchive.c b/libbb/unarchive.c
index 3bf79d646..37ab67aff 100644
--- a/libbb/unarchive.c
+++ b/libbb/unarchive.c
@@ -21,6 +21,7 @@
 
 #include <stdio.h>
 #include <errno.h>
+#include <fnmatch.h>
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
@@ -242,7 +243,7 @@ char *unarchive(FILE *src_stream, FILE *out_stream, file_header_t *(*get_headers
 		if (extract_names != NULL) {
 			int found_flag = FALSE;
 			for(i = 0; extract_names[i] != 0; i++) {
-				if (fnmatch(extract_names[i], file_entry->name, 0) == 0) {
+				if (fnmatch(extract_names[i], file_entry->name, FNM_LEADING_DIR) == 0) {
 					found_flag = TRUE;
 					break;
 				}
@@ -506,8 +507,8 @@ file_header_t *get_header_tar(FILE *tar_stream)
 		} formated;
 	} tar;
 	file_header_t *tar_entry = NULL;
-	long i;
 	long sum = 0;
+	long i;
 
 	if (archive_offset % 512 != 0) {
 		seek_sub_file(tar_stream, 512 - (archive_offset % 512));
-- 
cgit v1.2.3-55-g6feb