From: Junio C Hamano Date: Thu, 10 Jan 2013 21:47:35 +0000 (-0800) Subject: Merge branch 'rs/leave-base-name-in-name-field-of-tar' X-Git-Tag: v1.8.2-rc0~144 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/f12f3af72677c966b0c485f7b0d4cf8ac25a032c?hp=63d1cf6526a51d72f5c14cf9f8c72d3cc37762bb Merge branch 'rs/leave-base-name-in-name-field-of-tar' Improve compatibility with implementations of "tar" that do not like empty name field in header (with the additional prefix field holding everything). * rs/leave-base-name-in-name-field-of-tar: archive-tar: split long paths more carefully --- diff --git a/archive-tar.c b/archive-tar.c index 0ba3f25cf5..d1cce46e33 100644 --- a/archive-tar.c +++ b/archive-tar.c @@ -153,6 +153,8 @@ static unsigned int ustar_header_chksum(const struct ustar_header *header) static size_t get_path_prefix(const char *path, size_t pathlen, size_t maxlen) { size_t i = pathlen; + if (i > 1 && path[i - 1] == '/') + i--; if (i > maxlen) i = maxlen; do {