summaryrefslogtreecommitdiffhomepage
path: root/archival
diff options
context:
space:
mode:
Diffstat (limited to 'archival')
-rw-r--r--archival/tar.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/archival/tar.c b/archival/tar.c
index 4ab38db29..4f2564813 100644
--- a/archival/tar.c
+++ b/archival/tar.c
@@ -297,7 +297,8 @@ static void writeLongname(int fd, int type, const char *name, int dir)
header.typeflag = type;
strcpy(header.name, "././@LongLink");
/* This sets mode/uid/gid/mtime to "00...00<NUL>" strings */
- memset(header.mode, '0', sizeof(struct prefilled));
+ memset((char*)&header + offsetof(struct tar_header_t, mode), /* make gcc-9.x happy */
+ '0', sizeof(struct prefilled));
header.mode [sizeof(header.mode ) - 1] = '\0';
header.uid [sizeof(header.uid ) - 1] = '\0';
header.gid [sizeof(header.gid ) - 1] = '\0';