Support GCC 10+.
authorAaron M. Ucko <ucko@debian.org>
Mon, 7 Sep 2020 02:57:35 +0000 (22:57 -0400)
committerAaron M. Ucko <ucko@debian.org>
Sun, 4 Aug 2024 20:04:32 +0000 (16:04 -0400)
Debian-Bug: 957581.

* ncbifile.cpp (s_GetFileSystemInfo): Formally cast st.f_type to avoid
  narrowing errors for cases with the high bit set when that field is
  a 32-bit signed integer (as on i386).

Gbp-Pq: Name support_gcc10

c++/src/corelib/ncbifile.cpp

index 8736c5a3cda5122c4fb7908823fb63a063509308..4808ea94fc4429182274aa34b2774dd15cab49d2 100644 (file)
@@ -5178,7 +5178,7 @@ void s_GetFileSystemInfo(const string&               path,
     
     GET_STATFS_INFO;
     if (flags & (fFSI_Type | fFSI_DiskSpace)) {
-        switch (st.f_type) {
+        switch (static_cast<Uint4>(st.f_type)) {
             case 0xADF5:      info->fs_type = CFileUtil::eADFS;     break;
             case 0xADFF:      info->fs_type = CFileUtil::eAFFS;     break;
             case 0x5346414F:  info->fs_type = CFileUtil::eAFS;      break;