]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
COMP: explicitly handle all enum cases in switch 1395/head
authorSteve Pieper <pieper@isomics.com>
Sun, 7 Jun 2020 14:25:31 +0000 (10:25 -0400)
committerSteve Pieper <pieper@isomics.com>
Sun, 14 Jun 2020 18:23:47 +0000 (14:23 -0400)
In VisualStudio 2019 error C4061 happens if you don't
have a case statement for every value of an enum.
The default condition is not enough.

This fix avoids error like this:

25>C:\sq5\LibArchive\libarchive\archive_read_support_format_warc.c(344,2): error C4061: enumerator 'WT_NONE' in switch of enum 'warc_type_t' is not explicitly handled by a case label [C:\sq5\LibArchive-build\libarchive\archive.vcxproj]

libarchive/archive_read_support_format_warc.c
libarchive/archive_write_set_format_zip.c

index 72977b8e0739dd4873a2fb6272e92cadc400e81a..25c651564d260ed8814d371fed76a9178b1eff6f 100644 (file)
@@ -337,6 +337,14 @@ start_over:
                        mtime = rtime;
                }
                break;
+       case WT_NONE:
+       case WT_INFO:
+       case WT_META:
+       case WT_REQ:
+       case WT_RVIS:
+       case WT_CONV:
+       case WT_CONT:
+       case LAST_WT:
        default:
                fnam.len = 0U;
                fnam.str = NULL;
@@ -361,6 +369,14 @@ start_over:
                        break;
                }
                /* FALLTHROUGH */
+       case WT_NONE:
+       case WT_INFO:
+       case WT_META:
+       case WT_REQ:
+       case WT_RVIS:
+       case WT_CONV:
+       case WT_CONT:
+       case LAST_WT:
        default:
                /* consume the content and start over */
                _warc_skip(a);
index 6d485295d50ff1bac6f4fe915a6fcf95a4d4e7c1..f4352d5a9f78f93da50a068555f752dc276f73ea 100644 (file)
@@ -584,6 +584,7 @@ archive_write_zip_header(struct archive_write *a, struct archive_entry *entry)
                        zip->entry_flags |= ZIP_ENTRY_FLAG_ENCRYPTED;
                        zip->entry_encryption = zip->encryption_type;
                        break;
+               case ENCRYPTION_NONE:
                default:
                        break;
                }
@@ -710,6 +711,7 @@ archive_write_zip_header(struct archive_write *a, struct archive_entry *entry)
                                    + AUTH_CODE_SIZE;
                                version_needed = 20;
                                break;
+                       case ENCRYPTION_NONE:
                        default:
                                break;
                        }
@@ -762,6 +764,7 @@ archive_write_zip_header(struct archive_write *a, struct archive_entry *entry)
                                if (version_needed < 20)
                                        version_needed = 20;
                                break;
+                       case ENCRYPTION_NONE:
                        default:
                                break;
                        }
@@ -1029,6 +1032,7 @@ archive_write_zip_data(struct archive_write *a, const void *buff, size_t s)
                                zip->cctx_valid = zip->hctx_valid = 1;
                        }
                        break;
+               case ENCRYPTION_NONE:
                default:
                        break;
                }
@@ -1117,6 +1121,7 @@ archive_write_zip_data(struct archive_write *a, const void *buff, size_t s)
                break;
 #endif
 
+       case COMPRESSION_UNSPECIFIED:
        default:
                archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
                    "Invalid ZIP compression type");