struct name *name_scan (const char *name);
struct name const *name_from_list (void);
void blank_name_list (void);
-char *new_name (const char *dir_name, const char *name);
+char *make_file_name (const char *dir_name, const char *name);
size_t stripped_prefix_len (char const *file_name, size_t num);
bool all_names_found (struct tar_stat_info *st);
const char *entry;
struct stat st;
free (p);
- p = new_name (directory_name, cur);
+ p = make_file_name (directory_name, cur);
if (deref_stat (p, &st) != 0)
{
return;
}
- *pfile_name = new_name (one_top_level_dir, file_name);
+ *pfile_name = make_file_name (one_top_level_dir, file_name);
normalize_filename_x (*pfile_name);
}
else
(entrylen = strlen (entry)) != 0;
entry += entrylen + 1)
{
- char *file_name_buffer = new_name (file_name, entry);
+ char *file_name_buffer = make_file_name (file_name, entry);
int r = remove_any_file (file_name_buffer,
RECURSIVE_REMOVE_OPTION);
int e = errno;
name->found_count = 0;
}
-/* Yield a newly allocated file name consisting of FILE_NAME concatenated to
- NAME, with an intervening slash if FILE_NAME does not already end in one. */
+/* Yield a newly allocated file name consisting of DIR_NAME concatenated to
+ NAME, with an intervening slash if DIR_NAME does not already end in one. */
char *
-new_name (const char *file_name, const char *name)
+make_file_name (const char *directory_name, const char *name)
{
- size_t file_name_len = strlen (file_name);
- size_t namesize = strlen (name) + 1;
- int slash = file_name_len && ! ISSLASH (file_name[file_name_len - 1]);
- char *buffer = xmalloc (file_name_len + slash + namesize);
- memcpy (buffer, file_name, file_name_len);
- buffer[file_name_len] = '/';
- memcpy (buffer + file_name_len + slash, name, namesize);
+ size_t dirlen = strlen (directory_name);
+ size_t namelen = strlen (name) + 1;
+ int slash = dirlen && ! ISSLASH (directory_name[dirlen - 1]);
+ char *buffer = xmalloc (dirlen + slash + namelen);
+ memcpy (buffer, directory_name, dirlen);
+ buffer[dirlen] = '/';
+ memcpy (buffer + dirlen + slash, name, namelen);
return buffer;
}