GraphicsMagick: 5 new changesets

GraphicsMagick Commits <[email protected]> Fri, 05 Jul 2024 17:07:31 -0500
Newsgroups gmane.comp.video.graphicsmagick.cvs
Message-ID <mailman.21255.1720217261.8076.graphicsmagick-commit@lists.sourceforge.net>
changeset 1e2e1e97f834 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=1e2e1e97f834
summary: magick/tiff.c: Possible division by 0 fixed.

changeset 5a86024b2a52 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=5a86024b2a52
summary: PixelSetQuantumColor() argument is now a const pointer.

changeset 6a0c52c0b629 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=6a0c52c0b629
summary: Try to intuit better MinGW printf syntax based on host_vendor setting

changeset c9d3e917d6d3 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=c9d3e917d6d3
summary: Remove mention of the dead MinGW at OSDN project.

changeset 804a3a07dbe8 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=804a3a07dbe8
summary: ReadFITSImage(): Report an error if FITS frames have zero dimensions or contain no pixels.

diffstat:

 ChangeLog                              |   40 ++++++++-
 VisualMagick/installer/inc/version.isx |    4 +-
 coders/fits.c                          |   24 ++++-
 coders/tiff.c                          |   15 ++-
 configure                              |   38 +++++---
 configure.ac                           |   40 +++++---
 magick/colormap.c                      |    4 +-
 magick/magick.c                        |    2 +-
 magick/version.h                       |    4 +-
 wand/pixel_wand.c                      |  113 ++++++++++++-------------
 wand/pixel_wand.h                      |    8 +-
 www/ChangeLog.html                     |   41 +++++++++-
 www/INSTALL-unix.html                  |  111 ++++++------------------
 www/INSTALL-unix.rst                   |  115 ++++++-------------------
 www/contribute.html                    |   16 +-
 www/contribute.rst                     |   16 +-
 www/wand/pixel_wand.html               |  146 +++++++++++++++++---------------
 17 files changed, 375 insertions(+), 362 deletions(-)

diffs (truncated from 1685 to 500 lines):

diff -r 491d8e1de716 -r 804a3a07dbe8 ChangeLog
--- a/ChangeLog	Thu Jun 27 17:16:18 2024 -0500
+++ b/ChangeLog	Fri Jul 05 17:05:11 2024 -0500
@@ -1,3 +1,41 @@
+2024-07-05  Bob Friesenhahn  <[email protected]>
+
+	* coders/fits.c (ReadFITSImage): Report an error if FITS frames
+	have zero dimensions or contain no pixels.  Addresses core issue
+	which resulted in oss-fuzz issue 69925:
+	"graphicsmagick:coder_TIFF_any_fuzzer: Floating-point-exception in
+	WriteTIFFImage".
+
+	* www/INSTALL-unix.rst: Remove mention of the original MinGW which
+	became dead and unusable at OSDN a couple of years ago.  It is not
+	even possible to download the installer program.  The old version
+	at SourceForge is all which remains working.
+
+2024-07-04  Bob Friesenhahn  <[email protected]>
+
+	* configure.ac: Assume that targets matching *-w64-mingw* are
+	capable of supporting 'C99 printf syntax.
+	(INT64_F, UINT64_F, MAGICK_SIZE_T_F, MAGICK_SSIZE_T_F): Try to
+	intuit better MinGW printf syntax based on host_vendor setting.
+
+	* wand/pixel_wand.c (ClonePixelWands): Eliminate GCC 14
+	warning about MagickAllocateArray() argument order.
+
+	* magick/magick.c (GetMagickInfoArray): Eliminate GCC 14
+	warning about MagickAllocateArray() argument order.
+
+	* magick/colormap.c (ReplaceImageColormap): Eliminate GCC 14
+	warning about MagickAllocateArray() argument order.
+
+	* wand/pixel_wand.c (PixelSetQuantumColor): Color argument is now
+	a const pointer.
+	* wand/pixel_wand.c Tidy and correct errors in the documentation
+	text.
+
+2024-06-28 Fojtik Jaroslav  <[email protected]>
+
+	* magick/tiff.c: Possible division by 0 fixed.
+
 2024-06-27  Bob Friesenhahn  <[email protected]>
 
 	* www/INSTALL-unix.rst: Add mention of --without-libzip.
@@ -11,7 +49,7 @@
 
 	* www/formats.rst: Add an entry for HRZ format.
 
-2024-06-24  Fojtik Jaroslav  <[email protected]>
+2024-06-26  Fojtik Jaroslav  <[email protected]>
 
 	* configure.ac: Typo fixed in library name.
 
diff -r 491d8e1de716 -r 804a3a07dbe8 VisualMagick/installer/inc/version.isx
--- a/VisualMagick/installer/inc/version.isx	Thu Jun 27 17:16:18 2024 -0500
+++ b/VisualMagick/installer/inc/version.isx	Fri Jul 05 17:05:11 2024 -0500
@@ -10,5 +10,5 @@
 
 #define public MagickPackageName "GraphicsMagick"
 #define public MagickPackageVersion "1.4"
-#define public MagickPackageVersionAddendum ".020240627"
-#define public MagickPackageReleaseDate "snapshot-20240627"
+#define public MagickPackageVersionAddendum ".020240705"
+#define public MagickPackageReleaseDate "snapshot-20240705"
diff -r 491d8e1de716 -r 804a3a07dbe8 coders/fits.c
--- a/coders/fits.c	Thu Jun 27 17:16:18 2024 -0500
+++ b/coders/fits.c	Fri Jul 05 17:05:11 2024 -0500
@@ -688,8 +688,28 @@
 
   CloseBlob(image);
 
-  while (image->previous != (Image *) NULL)
-    image=image->previous;
+  /*
+    Verify frames
+  */
+  image=GetFirstImageInList(image);
+  do
+    {
+      if ((image->columns == 0) || (image->rows == 0) || !GetPixelCachePresent(image))
+        {
+          if (logging)
+            (void) LogMagickEvent(CoderEvent,GetMagickModule(),
+                                  "Scene %lu: Image columns=%lu, rows=%lu, pixel-cache=%s",
+                                  image->scene, image->columns, image->rows,
+                                  GetPixelCachePresent(image) ? "Present" : "Missing!");
+          ThrowReaderException(CorruptImageError,ImproperImageHeader,image);
+        }
+      if (image->next)
+        image=image->next;
+      else
+        break;
+    } while (1);
+
+  image=GetFirstImageInList(image);
 
   if (logging) (void)LogMagickEvent(CoderEvent,GetMagickModule(),"return");
   return(image);
diff -r 491d8e1de716 -r 804a3a07dbe8 coders/tiff.c
--- a/coders/tiff.c	Thu Jun 27 17:16:18 2024 -0500
+++ b/coders/tiff.c	Fri Jul 05 17:05:11 2024 -0500
@@ -6105,12 +6105,17 @@
           }
         }
 
-      if (scanline_size < (tsize_t) bytes_per_strip_target)
-        rows_per_strip *= (uint32) ((size_t) bytes_per_strip_target / ((size_t) rows_per_strip*scanline_size));
-      if (rows_per_strip > image->rows)
-        rows_per_strip=image->rows;
-      if (rows_per_strip < 1)
+      if(rows_per_strip==0 || scanline_size==0)
         rows_per_strip=1;
+      else
+      {
+        if (scanline_size < (tsize_t) bytes_per_strip_target)
+          rows_per_strip *= (uint32) ((size_t) bytes_per_strip_target / ((size_t) rows_per_strip*scanline_size));
+        if (rows_per_strip > image->rows)
+          rows_per_strip=image->rows;
+        if (rows_per_strip < 1)
+          rows_per_strip=1;
+      }
 
       /*
         It seems that some programs fail to handle more than 32K or
diff -r 491d8e1de716 -r 804a3a07dbe8 configure
--- a/configure	Thu Jun 27 17:16:18 2024 -0500
+++ b/configure	Fri Jul 05 17:05:11 2024 -0500
@@ -21518,8 +21518,13 @@
 fi
 case "${host_os}" in
   mingw* )
-    INT64_F='"I64"'
-    ;;
+    # Note that config.guess sets vendor to 'pc' but mingw-w64
+    # config.site overrides it and sets host_vendor to 'w64'.
+    case "${host_vendor}" in
+      'pc' ) # Original MinGW, use Microsoft syntax
+        INT64_F='"I64"'
+        ;;
+    esac
 esac
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INT64_T" >&5
 $as_echo "$INT64_T" >&6; }
@@ -21542,8 +21547,11 @@
 fi
 case "${host_os}" in
   mingw* )
-    UINT64_F='"I64"'
-    ;;
+    case "${host_vendor}" in
+      'pc' ) # Original MinGW, use Microsoft syntax
+        UINT64_F='"I64"'
+        ;;
+    esac
 esac
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $UINT64_T" >&5
 $as_echo "$UINT64_T" >&6; }
@@ -21623,19 +21631,19 @@
 elif test $ac_cv_sizeof_size_t -eq $ac_cv_sizeof_unsigned_long_long
 then
   # Maybe a LLP64 architecture like WIN64
+  MAGICK_SIZE_T='unsigned long long'
+  MAGICK_SIZE_T_F='"ll"'
+  MAGICK_SSIZE_T='signed long long'
+  MAGICK_SSIZE_T_F='"ll"'
   case "${host_os}" in
     mingw* )
-      MAGICK_SIZE_T='unsigned long long'
-      MAGICK_SIZE_T_F='"I64"'
-      MAGICK_SSIZE_T='signed long long'
-      MAGICK_SSIZE_T_F='"I64"'
-    ;;
-    *)
-      MAGICK_SIZE_T='unsigned long long'
-      MAGICK_SIZE_T_F='"ll"'
-      MAGICK_SSIZE_T='signed long long'
-      MAGICK_SSIZE_T_F='"ll"'
-    ;;
+      case "${host_vendor}" in
+        'pc' ) # Original MinGW, use Microsoft syntax
+          MAGICK_SIZE_T_F='"I64"'
+          MAGICK_SSIZE_T_F='"I64"'
+          ;;
+      esac
+      ;;
   esac
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGICK_SIZE_T_F" >&5
diff -r 491d8e1de716 -r 804a3a07dbe8 configure.ac
--- a/configure.ac	Thu Jun 27 17:16:18 2024 -0500
+++ b/configure.ac	Fri Jul 05 17:05:11 2024 -0500
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2023 GraphicsMagick Group
+# Copyright (C) 2003-2024 GraphicsMagick Group
 # Copyright (C) 2002 ImageMagick Studio
 # Copyright (C) 1998, 1999 E. I. du Pont de Nemours and Company
 #
@@ -1183,8 +1183,13 @@
 fi
 case "${host_os}" in
   mingw* )
-    INT64_F='"I64"'
-    ;;
+    # Note that config.guess sets vendor to 'pc' but mingw-w64
+    # config.site overrides it and sets host_vendor to 'w64'.
+    case "${host_vendor}" in
+      'pc' ) # Original MinGW, use Microsoft syntax
+        INT64_F='"I64"'
+        ;;
+    esac
 esac
 AC_MSG_RESULT([$INT64_T])
 AC_SUBST([INT64_T])
@@ -1205,8 +1210,11 @@
 fi
 case "${host_os}" in
   mingw* )
-    UINT64_F='"I64"'
-    ;;
+    case "${host_vendor}" in
+      'pc' ) # Original MinGW, use Microsoft syntax
+        UINT64_F='"I64"'
+        ;;
+    esac
 esac
 AC_MSG_RESULT([$UINT64_T])
 AC_SUBST([UINT64_T])
@@ -1278,19 +1286,19 @@
 elif test $ac_cv_sizeof_size_t -eq $ac_cv_sizeof_unsigned_long_long
 then
   # Maybe a LLP64 architecture like WIN64
+  MAGICK_SIZE_T='unsigned long long'
+  MAGICK_SIZE_T_F='"ll"'
+  MAGICK_SSIZE_T='signed long long'
+  MAGICK_SSIZE_T_F='"ll"'
   case "${host_os}" in
     mingw* )
-      MAGICK_SIZE_T='unsigned long long'
-      MAGICK_SIZE_T_F='"I64"'
-      MAGICK_SSIZE_T='signed long long'
-      MAGICK_SSIZE_T_F='"I64"'
-    ;;
-    *)
-      MAGICK_SIZE_T='unsigned long long'
-      MAGICK_SIZE_T_F='"ll"'
-      MAGICK_SSIZE_T='signed long long'
-      MAGICK_SSIZE_T_F='"ll"'
-    ;;
+      case "${host_vendor}" in
+        'pc' ) # Original MinGW, use Microsoft syntax
+          MAGICK_SIZE_T_F='"I64"'
+          MAGICK_SSIZE_T_F='"I64"'
+          ;;
+      esac
+      ;;
   esac
 fi
 AC_MSG_RESULT([$MAGICK_SIZE_T_F])
diff -r 491d8e1de716 -r 804a3a07dbe8 magick/colormap.c
--- a/magick/colormap.c	Thu Jun 27 17:16:18 2024 -0500
+++ b/magick/colormap.c	Fri Jul 05 17:05:11 2024 -0500
@@ -1,5 +1,5 @@
 /*
-% Copyright (C) 2003 - 2019 GraphicsMagick Group
+% Copyright (C) 2003 - 2024 GraphicsMagick Group
 % Copyright (C) 2003 ImageMagick Studio
 % Copyright 1991-1999 E. I. du Pont de Nemours and Company
 %
@@ -435,7 +435,7 @@
     Allocate replacement colormap
   */
   new_colormap=MagickAllocateArray(PixelPacket *,
-                                   sizeof(PixelPacket),colors);
+                                   colors,sizeof(PixelPacket));
   if (new_colormap == (PixelPacket *) NULL)
     {
       MagickFreeMemory(colormap_index);
diff -r 491d8e1de716 -r 804a3a07dbe8 magick/magick.c
--- a/magick/magick.c	Thu Jun 27 17:16:18 2024 -0500
+++ b/magick/magick.c	Fri Jul 05 17:05:11 2024 -0500
@@ -544,7 +544,7 @@
   /*
     Allocate array memory
   */
-  array=MagickAllocateArray(MagickInfo **,sizeof(MagickInfo *),(entries+1));
+  array=MagickAllocateArray(MagickInfo **,(entries+1),sizeof(MagickInfo *));
   if (!array)
     {
       UnlockSemaphoreInfo(magick_semaphore);
diff -r 491d8e1de716 -r 804a3a07dbe8 magick/version.h
--- a/magick/version.h	Thu Jun 27 17:16:18 2024 -0500
+++ b/magick/version.h	Fri Jul 05 17:05:11 2024 -0500
@@ -38,8 +38,8 @@
 #define MagickLibVersion  0x282500
 #define MagickLibVersionText  "1.4"
 #define MagickLibVersionNumber 28,25,0
-#define MagickChangeDate   "20240627"
-#define MagickReleaseDate  "snapshot-20240627"
+#define MagickChangeDate   "20240705"
+#define MagickReleaseDate  "snapshot-20240705"
 
 /*
   The MagickLibInterfaceNewest and MagickLibInterfaceOldest defines
diff -r 491d8e1de716 -r 804a3a07dbe8 wand/pixel_wand.c
--- a/wand/pixel_wand.c	Thu Jun 27 17:16:18 2024 -0500
+++ b/wand/pixel_wand.c	Fri Jul 05 17:05:11 2024 -0500
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003-2014 GraphicsMagick Group */
+/* Copyright (C) 2003-2024 GraphicsMagick Group */
 /*
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %                                                                             %
@@ -157,7 +157,7 @@
 %                                                                             %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
-%  ClonePixelWands creates a deep-copy an array of PixelWands.
+%  ClonePixelWands creates a deep-copy of an array of PixelWands.
 %
 %  The format of the ClonePixelWands method is:
 %
@@ -168,7 +168,7 @@
 %
 %    o wands: The pixel wands to clone.
 %
-%    o number_wands: The number of wands in the array
+%    o number_wands: The number of wands in the array.
 %
 */
 WandExport PixelWand **
@@ -184,7 +184,7 @@
   assert(number_wands > 0);
 
   clone_wands=MagickAllocateArray(PixelWand **,
-                                  sizeof(PixelWand *),number_wands);
+                                  number_wands,sizeof(PixelWand *));
   if (clone_wands == (PixelWand **) NULL)
     MagickFatalError3(ResourceLimitFatalError,MemoryAllocationFailed,
                       UnableToAllocateWand);
@@ -210,7 +210,7 @@
 %
 %  The format of the DestroyPixelWand method is:
 %
-%      unsigned int DestroyPixelWand(PixelWand *wand)
+%      void DestroyPixelWand(PixelWand *wand)
 %
 %  A description of each parameter follows:
 %
@@ -240,7 +240,7 @@
 %
 %  The format of the NewPixelWand method is:
 %
-%      PixelWand NewPixelWand(void)
+%      PixelWand *NewPixelWand(void)
 %
 %
 */
@@ -291,7 +291,7 @@
 %
 %  The format of the NewPixelWand method is:
 %
-%      PixelWand NewPixelWands(const unsigned long number_wands)
+%      PixelWand **NewPixelWands(const unsigned long number_wands)
 %
 %  A description of each parameter follows:
 %
@@ -406,7 +406,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 %  PixelGetBlackQuantum() returns the black color of the pixel wand.  The
-%  color is in the range of [0..MaxRGB]
+%  color is in the range of [0..MaxRGB].
 %
 %  The format of the PixelGetBlackQuantum method is:
 %
@@ -435,7 +435,7 @@
 %                                                                             %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
-%  PixelGetBlue(const) returns the normalized blue color of the pixel wand.
+%  PixelGetBlue() returns the normalized blue color of the pixel wand.
 %
 %  The format of the PixelGetBlue method is:
 %
@@ -464,8 +464,8 @@
 %                                                                             %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
-%  PixelGetBlueQuantum(const ) returns the blue color of the pixel wand.  The
-%  color is in the range of [0..MaxRGB]
+%  PixelGetBlueQuantum() returns the blue color of the pixel wand.  The
+%  color is in the range of [0..MaxRGB].
 %
 %  The format of the PixelGetBlueQuantum method is:
 %
@@ -494,7 +494,8 @@
 %                                                                             %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
-%  PixelGetColorAsString() gets the color of the pixel wand.
+%  PixelGetColorAsString() gets the color of the pixel wand expressed as
+%  a string.
 %
 %  The format of the PixelGetColorAsString method is:
 %
@@ -595,7 +596,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 %  PixelGetCyanQuantum() returns the cyan color of the pixel wand.  The color
-%  is in the range of [0..MaxRGB]
+%  is in the range of [0..MaxRGB].
 %
 %  The format of the PixelGetCyanQuantum method is:
 %
@@ -624,7 +625,7 @@
 %                                                                             %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
-%  PixelGetGreen(const ) returns the normalized green color of the pixel wand.
+%  PixelGetGreen() returns the normalized green color of the pixel wand.
 %
 %  The format of the PixelGetGreen method is:
 %
@@ -653,8 +654,8 @@
 %                                                                             %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
-%  PixelGetGreenQuantum(const ) returns the green color of the pixel wand.  The
-%  color is in the range of [0..MaxRGB]
+%  PixelGetGreenQuantum() returns the green color of the pixel wand.  The
+%  color is in the range of [0..MaxRGB].
 %
 %  The format of the PixelGetGreenQuantum method is:
 %
@@ -713,7 +714,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 %  PixelGetMagentaQuantum() returns the magenta color of the pixel wand.  The
-%  color is in the range of [0..MaxRGB]
+%  color is in the range of [0..MaxRGB].
 %
 %  The format of the PixelGetMagentaQuantum method is:
 %
@@ -742,7 +743,7 @@
 %                                                                             %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
-%  PixelGetOpacity(const ) returns the normalized opacity color of the pixel
+%  PixelGetOpacity() returns the normalized opacity color of the pixel
 %  wand.
 %
 %  The format of the PixelGetOpacity method is:
@@ -772,8 +773,8 @@
 %                                                                             %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
-%  PixelGetOpacityQuantum(const ) returns the opacity color of the pixel wand.
-%  The color is in the range of [0..MaxRGB]
+%  PixelGetOpacityQuantum() returns the opacity color of the pixel wand.
+%  The color is in the range of [0..MaxRGB].
 %
 %  The format of the PixelGetOpacityQuantum method is:
 %
@@ -806,7 +807,7 @@
 %
 %  The format of the PixelGetQuantumColor method is:
 %
-%      PixelGetQuantumColor(PixelWand *wand,PixelPacket *color)
+%      void PixelGetQuantumColor(PixelWand *wand,PixelPacket *color)
 %
 %  A description of each parameter follows:
 %
@@ -837,7 +838,7 @@
 %                                                                             %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
-%  PixelGetRed(const ) returns the normalized red color of the pixel wand.
+%  PixelGetRed() returns the normalized red color of the pixel wand.
 %
 %  The format of the PixelGetRed method is:
 %
@@ -866,8 +867,8 @@
 %                                                                             %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
-%  PixelGetRedQuantum(const ) returns the red color of the pixel wand.  The
-%  color is in the range of [0..MaxRGB]
+%  PixelGetRedQuantum() returns the red color of the pixel wand.  The
+%  color is in the range of [0..MaxRGB].
 %
 %  The format of the PixelGetRedQuantum method is:
 %
@@ -926,7 +927,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 %  PixelGetYellowQuantum() returns the yellow color of the pixel wand.  The
-%  color is in the range of [0..MaxRGB]
+%  color is in the range of [0..MaxRGB].
 %