diff options
author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2012-05-03 08:51:02 +0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-05-03 10:22:56 -0700 |
commit | 853907097af803c595f0c12fc355c907702eb7c8 (patch) | |
tree | 0f8da316310b0d1c334f3bf962b2c92b66148a7a /archive-tar.c | |
parent | d240d4102103215e9fe38431b1702a4024d2f1a7 (diff) | |
download | git-853907097af803c595f0c12fc355c907702eb7c8.tar.gz |
archive-tar: unindent write_tar_entry by one level
It's used to be
if (!sha1) {
...
} else if (!path) {
...
} else {
...
}
Now that the first two blocks are no-op. We can remove the if/else
skeleton and put the else block back by one indent level.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'archive-tar.c')
-rw-r--r-- | archive-tar.c | 56 |
1 files changed, 25 insertions, 31 deletions
diff --git a/archive-tar.c b/archive-tar.c index 1727ab90ae..6c8a0bd3bf 100644 --- a/archive-tar.c +++ b/archive-tar.c @@ -170,40 +170,34 @@ static int write_tar_entry(struct archiver_args *args, memset(&header, 0, sizeof(header)); - if (!sha1) { - die("BUG: sha1 == NULL is not supported"); - } else if (!path) { - die("BUG: path == NULL is not supported"); + if (S_ISDIR(mode) || S_ISGITLINK(mode)) { + *header.typeflag = TYPEFLAG_DIR; + mode = (mode | 0777) & ~tar_umask; + } else if (S_ISLNK(mode)) { + *header.typeflag = TYPEFLAG_LNK; + mode |= 0777; + } else if (S_ISREG(mode)) { + *header.typeflag = TYPEFLAG_REG; + mode = (mode | ((mode & 0100) ? 0777 : 0666)) & ~tar_umask; } else { - if (S_ISDIR(mode) || S_ISGITLINK(mode)) { - *header.typeflag = TYPEFLAG_DIR; - mode = (mode | 0777) & ~tar_umask; - } else if (S_ISLNK(mode)) { - *header.typeflag = TYPEFLAG_LNK; - mode |= 0777; - } else if (S_ISREG(mode)) { - *header.typeflag = TYPEFLAG_REG; - mode = (mode | ((mode & 0100) ? 0777 : 0666)) & ~tar_umask; + return error("unsupported file mode: 0%o (SHA1: %s)", + mode, sha1_to_hex(sha1)); + } + if (pathlen > sizeof(header.name)) { + size_t plen = get_path_prefix(path, pathlen, + sizeof(header.prefix)); + size_t rest = pathlen - plen - 1; + if (plen > 0 && rest <= sizeof(header.name)) { + memcpy(header.prefix, path, plen); + memcpy(header.name, path + plen + 1, rest); } else { - return error("unsupported file mode: 0%o (SHA1: %s)", - mode, sha1_to_hex(sha1)); + sprintf(header.name, "%s.data", + sha1_to_hex(sha1)); + strbuf_append_ext_header(&ext_header, "path", + path, pathlen); } - if (pathlen > sizeof(header.name)) { - size_t plen = get_path_prefix(path, pathlen, - sizeof(header.prefix)); - size_t rest = pathlen - plen - 1; - if (plen > 0 && rest <= sizeof(header.name)) { - memcpy(header.prefix, path, plen); - memcpy(header.name, path + plen + 1, rest); - } else { - sprintf(header.name, "%s.data", - sha1_to_hex(sha1)); - strbuf_append_ext_header(&ext_header, "path", - path, pathlen); - } - } else - memcpy(header.name, path, pathlen); - } + } else + memcpy(header.name, path, pathlen); if (S_ISLNK(mode) && buffer) { if (size > sizeof(header.linkname)) { |