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>
Tue, 5 Sep 2023 02:40:42 +0000 (22:40 -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 211401685989af8619310ebaabab0445b3d67b97..2499e0ede31f216b0750d506667eb1778996dd0d 100644 (file)
@@ -5119,7 +5119,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;