https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/setup.git;h=da31ad359bcb61a6d824732c0093a1138e613db6 commit da31ad359bcb61a6d824732c0093a1138e613db6 Author: Jon Turney Date: Wed Sep 23 22:43:30 2020 +0100 Fix error with gcc 10.2 and -Werror=format archive_tar.cc: In member function ‘virtual const string archive_tar::next_file_name()’: archive_tar.cc:161:37: error: 'I' flag used with ‘%o’ gnu_scanf format [-Werror=format=] archive_tar.cc:161:37: error: format ‘%o’ expects argument of type ‘unsigned int*’, but argument 3 has type ‘size_t*’ {aka ‘long long unsigned int*’} [-Werror=format=] archive_tar.cc:181:38: error: 'I' flag used with ‘%o’ gnu_scanf format [-Werror=format=] archive_tar.cc:181:38: error: format ‘%o’ expects argument of type ‘unsigned int*’, but argument 3 has type ‘size_t*’ {aka ‘long long unsigned int*’} [-Werror=format=] Diff: --- archive_tar.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/archive_tar.cc b/archive_tar.cc index 05c3f6e8..c3592386 100644 --- a/archive_tar.cc +++ b/archive_tar.cc @@ -158,7 +158,7 @@ archive_tar::next_file_name () else if (state.have_longname) state.have_longname = 0; - sscanf (state.tar_header.size, "%Io", &state.file_length); + sscanf (state.tar_header.size, "%zo", &state.file_length); state.file_offset = 0; if (_tar_verbose) @@ -178,7 +178,7 @@ archive_tar::next_file_name () CYG_PATH_MAX); err++; state.parent->read (&state.tar_header, 512); - sscanf (state.tar_header.size, "%Io", &state.file_length); + sscanf (state.tar_header.size, "%zo", &state.file_length); state.file_offset = 0; skip_file (); return next_file_name ();