[PATCH setup] Fix error with gcc 10.2 and -Werror=format

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[PATCH setup] Fix error with gcc 10.2 and -Werror=format

Jon TURNEY
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=]
---
 archive_tar.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/archive_tar.cc b/archive_tar.cc
index 05c3f6e..c359238 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 ();
--
2.28.0