+ lastdir_depth = count_dir_elements(lastdir);
+ file->dir.depth = lastdir_depth + 1;
+ } else if (dirname) {
+ file->dirname = dirname; /* we're reusing lastname */
+ file->dir.depth = lastdir_depth + 1;
+ } else
+ file->dir.depth = 1;
+
+ if (S_ISDIR(mode)) {
+ if (basename_len == 1+1 && *basename == '.') /* +1 for '\0' */
+ file->dir.depth--;
+ if (flags & XMIT_TOP_DIR) {
+ in_del_hier = 1;
+ del_hier_name_len = file->dir.depth == 0 ? 0 : l1 + l2;
+ if (relative_paths && del_hier_name_len > 2
+ && basename_len == 1+1 && *basename == '.')
+ del_hier_name_len -= 2;
+ file->flags |= FLAG_TOP_DIR | FLAG_DEL_HERE;
+ } else if (in_del_hier) {
+ if (!relative_paths || !del_hier_name_len
+ || (l1 >= del_hier_name_len
+ && thisname[del_hier_name_len] == '/'))
+ file->flags |= FLAG_DEL_HERE;
+ else
+ in_del_hier = 0;
+ }
+ }