From: Sergey Poznyakoff Date: Tue, 20 Jun 2006 15:14:19 +0000 (+0000) Subject: (name_next_elt): Call register_individual_file X-Git-Url: https://git.dogcows.com/gitweb?a=commitdiff_plain;h=693134a4e7c6d41a73f2932e8cb4b93f77dac9f9;p=chaz%2Ftar (name_next_elt): Call register_individual_file (namelist_match): Remove third argument (name_match): Change return type to bool (name_scan): Remove second argument --- diff --git a/src/names.c b/src/names.c index 234ac42..936d7fd 100644 --- a/src/names.c +++ b/src/names.c @@ -471,7 +471,6 @@ addname (char const *string, int change_dir) name->matching_flags = matching_flags; name->change_dir = change_dir; name->dir_contents = NULL; - name->explicit = 1; *nametail = name; nametail = &name->next; @@ -481,7 +480,7 @@ addname (char const *string, int change_dir) /* Find a match for FILE_NAME (whose string length is LENGTH) in the name list. */ static struct name * -namelist_match (char const *file_name, size_t length, bool exact) +namelist_match (char const *file_name, size_t length) { struct name *p; @@ -497,7 +496,7 @@ namelist_match (char const *file_name, size_t length, bool exact) /* Return true if and only if name FILE_NAME (from an archive) matches any name from the namelist. */ -int +bool name_match (const char *file_name) { size_t length = strlen (file_name); @@ -507,17 +506,17 @@ name_match (const char *file_name) struct name *cursor = namelist; if (!cursor) - return 1; - + return true; + if (cursor->name[0] == 0) { chdir_do (cursor->change_dir); namelist = 0; nametail = &namelist; - return 1; + return true; } - cursor = namelist_match (file_name, length, false); + cursor = namelist_match (file_name, length); if (cursor) { if (!(ISSLASH (file_name[cursor->length]) && recursion_option) @@ -544,10 +543,10 @@ name_match (const char *file_name) { name_gather (); /* read one more */ if (namelist->found_count) - return 0; + return false; } else - return 0; + return false; } } @@ -781,7 +780,6 @@ add_hierarchy_to_namelist (struct name *name, dev_t device) } strcpy (namebuf + name_length, string + 1); np = addname (namebuf, change_dir); - np->explicit = 0; add_hierarchy_to_namelist (np, device); } } @@ -856,18 +854,15 @@ collect_and_sort_names (void) 1. It returns a pointer to the name it matched, and doesn't set FOUND in structure. The caller will have to do that if it wants to. 2. If the namelist is empty, it returns null, unlike name_match, which - returns TRUE. - 3. The second argument (EXACT) controls matching algorithm. If it - is TRUE, the exact matching is used. However, regular expressions are - always matched as such, no matter what the value of EXACT is. */ + returns TRUE. */ struct name * -name_scan (const char *file_name, bool exact) +name_scan (const char *file_name) { size_t length = strlen (file_name); while (1) { - struct name *cursor = namelist_match (file_name, length, exact); + struct name *cursor = namelist_match (file_name, length); if (cursor) return cursor;