(exclusion_tag_warning, check_exclusion_tags): Remove static qualifier.

(check_exclusion_tags): account for dirname without terminating
slash.
(dump_dir0): exclusion_tag_all is handled elsewhere.
This commit is contained in:
Sergey Poznyakoff
2007-09-26 22:07:44 +00:00
parent a1b1b7cc8a
commit b0d5935cb0

View File

@@ -58,7 +58,7 @@ add_exclusion_tag (const char *name, enum exclusion_tag_type type,
exclusion_tags = tag;
}
static void
void
exclusion_tag_warning (const char *dirname, const char *tagname,
const char *message)
{
@@ -70,18 +70,19 @@ exclusion_tag_warning (const char *dirname, const char *tagname,
message));
}
static enum exclusion_tag_type
enum exclusion_tag_type
check_exclusion_tags (char *dirname, const char **tag_file_name)
{
static char *tagname;
static size_t tagsize;
struct exclusion_tag *tag;
size_t dlen = strlen (dirname);
int addslash = dirname[dlen-1] != '/';
char *nptr = NULL;
for (tag = exclusion_tags; tag; tag = tag->next)
{
size_t size = dlen + tag->length + 1;
size_t size = dlen + addslash + tag->length + 1;
if (size > tagsize)
{
tagsize = size;
@@ -92,6 +93,8 @@ check_exclusion_tags (char *dirname, const char **tag_file_name)
{
strcpy (tagname, dirname);
nptr = tagname + dlen;
if (addslash)
*nptr++ = '/';
}
strcpy (nptr, tag->name);
if (access (tagname, F_OK) == 0
@@ -1182,8 +1185,11 @@ dump_dir0 (char *directory,
switch (check_exclusion_tags (st->orig_file_name, &tag_file_name))
{
case exclusion_tag_none:
case exclusion_tag_all:
/* Handled in dump_file0 */
break;
case exclusion_tag_none:
{
char const *entry;
size_t entry_len;