GraphicsMagick: coders/bmp.c Remove code duplicity and evaluate ...

GraphicsMagick Commits <[email protected]> Mon, 28 Aug 2023 09:12:35 -0500
Newsgroups gmane.comp.video.graphicsmagick.cvs
Message-ID <mailman.12141.1693231963.1761.graphicsmagick-commit@lists.sourceforge.net>
changeset ba126f50f253 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=ba126f50f253
summary: coders/bmp.c Remove code duplicity and evaluate BiCompression only on one place.

diffstat:

 ChangeLog    |    5 ++
 coders/bmp.c |  111 ++++++++++++++--------------------------------------------
 2 files changed, 32 insertions(+), 84 deletions(-)

diffs (149 lines):

diff -r bb42cd90ce6f -r ba126f50f253 ChangeLog
--- a/ChangeLog	Sun Aug 27 19:51:44 2023 -0500
+++ b/ChangeLog	Mon Aug 28 16:12:15 2023 +0200
@@ -1,3 +1,8 @@
+2023-08-28  Fojtik Jaroslav  <[email protected]>
+
+	* coders/bmp.c Remove code duplicity and evaluate BiCompression
+        only on one place.
+
 2023-08-27  Bob Friesenhahn  <[email protected]>
 
 	* magick/attribute.c (GetImageInfoAttribute): For the "name" key,
diff -r bb42cd90ce6f -r ba126f50f253 coders/bmp.c
--- a/coders/bmp.c	Sun Aug 27 19:51:44 2023 -0500
+++ b/coders/bmp.c	Mon Aug 28 16:12:15 2023 +0200
@@ -510,6 +510,23 @@
     return(True);
   return(False);
 }
+
+
+static const char *DecodeBiCompression(const int BiCompression)
+{
+  switch(BiCompression)
+  {
+    case BI_RGB:  return "BI_RGB";	/* uncompressed */
+    case BI_RLE4: return "BI_RLE4";	/* 4 bit RLE */
+    case BI_RLE8: return "BI_RLE8";	/* 8 bit RLE */
+    case BI_BITFIELDS: return "BI_BITFIELDS";
+    case BI_PNG:  return  "BI_PNG";
+    case BI_JPEG: return "BI_JPEG";
+    case BI_ALPHABITFIELDS: return "BI_ALPHABITFIELDS";
+  }
+  return "UNKNOWN";
+}
+
 
 /*
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -767,59 +784,12 @@
                                     "  Planes: %u",bmp_info.planes);
               (void) LogMagickEvent(CoderEvent,GetMagickModule(),
                                     "  Bits per pixel: %u",bmp_info.bits_per_pixel);
-              switch ((int) bmp_info.compression)
-                {
-                case BI_RGB:
-                  {
-                    /* uncompressed */
-                    (void) LogMagickEvent(CoderEvent,GetMagickModule(),
-                                          "  Compression: BI_RGB");
-                    break;
-                  }
-                case BI_RLE4:
-                  {
-                    /* 4 bit RLE */
-                    (void) LogMagickEvent(CoderEvent,GetMagickModule(),
-                                          "  Compression: BI_RLE4");
-                    break;
-                  }
-                case BI_RLE8:
-                  {
-                    /* 8 bit RLE */
-                    (void) LogMagickEvent(CoderEvent,GetMagickModule(),
-                                          "  Compression: BI_RLE8");
-                    break;
-                  }
-                case BI_BITFIELDS:
-                  {
-                    (void) LogMagickEvent(CoderEvent,GetMagickModule(),
-                                          "  Compression: BI_BITFIELDS");
-                    break;
-                  }
-                case BI_PNG:
-                  {
-                    (void) LogMagickEvent(CoderEvent,GetMagickModule(),
-                                          "  Compression: BI_PNG");
-                    break;
-                  }
-                case BI_JPEG:
-                  {
-                    (void) LogMagickEvent(CoderEvent,GetMagickModule(),
-                                          "  Compression: BI_JPEG");
-                    break;
-                  }
-                case BI_ALPHABITFIELDS:
-                  {
-                    (void) LogMagickEvent(CoderEvent,GetMagickModule(),
-                                          "  Compression: BI_ALPHABITFIELDS");
-                    break;
-                  }
-                default:
-                  {
-                    (void) LogMagickEvent(CoderEvent,GetMagickModule(),
+              if(bmp_info.compression <= BI_ALPHABITFIELDS)
+                  (void) LogMagickEvent(CoderEvent,GetMagickModule(),
+                                          "  Compression: %s", DecodeBiCompression(bmp_info.compression));
+              else
+                  (void) LogMagickEvent(CoderEvent,GetMagickModule(),
                                           "  Compression: UNKNOWN (%u)",bmp_info.compression);
-                  }
-                }
               (void) LogMagickEvent(CoderEvent,GetMagickModule(),
                                     "  Number of colors: %u",bmp_info.number_colors);
               (void) LogMagickEvent(CoderEvent,GetMagickModule(),
@@ -2277,39 +2247,12 @@
           (void) LogMagickEvent(CoderEvent,GetMagickModule(),
                                 "   BMP file_size=%" MAGICK_SIZE_T_F "u bytes",
                                 (MAGICK_SIZE_T) bmp_info.file_size);
-          switch (bmp_info.compression)
-            {
-            case BI_RGB:
-              {
-                (void) LogMagickEvent(CoderEvent,GetMagickModule(),
-                                      "   Compression=BI_RGB");
-                break;
-              }
-            case BI_RLE8:
-              {
-                (void) LogMagickEvent(CoderEvent,GetMagickModule(),
-                                      "   Compression=BI_RLE8");
-                break;
-              }
-            case BI_BITFIELDS:
-              {
-                (void) LogMagickEvent(CoderEvent,GetMagickModule(),
-                                      "   Compression=BI_BITFIELDS");
-                break;
-              }
-            case BI_ALPHABITFIELDS:
-              {
-                (void) LogMagickEvent(CoderEvent,GetMagickModule(),
-                                      "   Compression=BI_ALPHABITFIELDS");
-                break;
-              }
-            default:
-              {
-                (void) LogMagickEvent(CoderEvent,GetMagickModule(),
+          if(bmp_info.compression <=BI_ALPHABITFIELDS)
+              (void) LogMagickEvent(CoderEvent,GetMagickModule(),
+                                      "   Compression=%s", DecodeBiCompression(bmp_info.compression));
+          else
+              (void) LogMagickEvent(CoderEvent,GetMagickModule(),
                                       "   Compression=UNKNOWN (%u)",bmp_info.compression);
-                break;
-              }
-            }
           if (bmp_info.number_colors == 0)
             (void) LogMagickEvent(CoderEvent,GetMagickModule(),
                                   "   Number_colors=unspecified");