GraphicsMagick: VisualMagick/magick/magick_types.h.in: Declare a...

GraphicsMagick Commits <[email protected]>
Newsgroups gmane.comp.video.graphicsmagick.cvs
Message-ID <mailman.19860.1668986052.1459.graphicsmagick-commit@lists.sourceforge.net>
changeset 5376192bebf1 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=5376192bebf1
summary: VisualMagick/magick/magick_types.h.in: Declare a ssize_t typedef in VisualStudio's <magick/magick_types.h>

diffstat:

 ChangeLog                             |   6 ++++++
 VisualMagick/magick/magick_types.h.in |  12 ++++++++++--
 magick/nt_base.h                      |   4 ++++
 www/Changelog.html                    |   5 +++++
 4 files changed, 25 insertions(+), 2 deletions(-)

diffs (68 lines):

diff -r 7b5914f1e022 -r 5376192bebf1 ChangeLog
--- a/ChangeLog	Sun Nov 20 11:19:06 2022 -0600
+++ b/ChangeLog	Sun Nov 20 17:13:58 2022 -0600
@@ -1,5 +1,11 @@
 2022-11-20  Bob Friesenhahn  <[email protected]>
 
+	* VisualMagick/magick/magick_types.h.in: Declare a ssize_t typedef
+	in VisualStudio's <magick/magick_types.h> due to the unfortunate
+	accidental use of ssize_t in Wand's MagickExtentImage()
+	declaration.  This should address SourceForge issue #673 "visual
+	studio include error ssize_t redefinition".
+
 	* coders/wpg.c: Fix definition and use of LogHeaderWPG(),
 	LogWPGBitmapType1(), and LogWPGBitmapType2() macros.
 	
diff -r 7b5914f1e022 -r 5376192bebf1 VisualMagick/magick/magick_types.h.in
--- a/VisualMagick/magick/magick_types.h.in	Sun Nov 20 11:19:06 2022 -0600
+++ b/VisualMagick/magick/magick_types.h.in	Sun Nov 20 17:13:58 2022 -0600
@@ -85,10 +85,18 @@
   typedef unsigned long magick_uintptr_t;
 #  define MAGICK_SIZE_T_F "l"
 #  define MAGICK_SIZE_T unsigned long
-#  define MAGICK_SSIZE_T_F "l"
-#  define MAGICK_SSIZE_T long
+#  define MAGICK_SSIZE_T_F ""
+#  define MAGICK_SSIZE_T int
 #  endif // defined(WIN64)
 
+#if !defined(ssize_t) && !defined(__MINGW32__) && !defined(__MINGW64__)
+#  if defined(WIN64)
+  typedef __int64 ssize_t;
+#  else
+  typedef int ssize_t;
+#  endif
+#endif /* !defined(ssize_t) && !defined(__MINGW32__) && !defined(__MINGW64__)*/
+
 #else
 
   /* The following typedefs are subtituted when using Unixish configure */
diff -r 7b5914f1e022 -r 5376192bebf1 magick/nt_base.h
--- a/magick/nt_base.h	Sun Nov 20 11:19:06 2022 -0600
+++ b/magick/nt_base.h	Sun Nov 20 17:13:58 2022 -0600
@@ -322,6 +322,10 @@
   Note that under WIN64 read/write appear to still return 'int' and use
   'unsigned int' rather than 'size_t' to specify the I/O size.  This really
   sucks!
+
+  The Windows <BaseTsd.h> header defines the type SSIZE_T which may be used to
+  typedef ssize_t but it is not known how it behaves.
+
  */
 #if !defined(ssize_t) && !defined(__MINGW32__) && !defined(__MINGW64__)
 #  if defined(WIN64)
diff -r 7b5914f1e022 -r 5376192bebf1 www/Changelog.html
--- a/www/Changelog.html	Sun Nov 20 11:19:06 2022 -0600
+++ b/www/Changelog.html	Sun Nov 20 17:13:58 2022 -0600
@@ -40,6 +40,11 @@
 <p>2022-11-20  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
 <blockquote>
 <ul>
+<li><p>VisualMagick/magick/magick_types.h.in: Declare a ssize_t typedef
+in VisualStudio's &lt;magick/magick_types.h&gt; due to the unfortunate
+accidental use of ssize_t in Wand's MagickExtentImage()
+declaration.  This should address SourceForge issue #673 &quot;visual
+studio include error ssize_t redefinition&quot;.</p></li>
 <li><p>coders/wpg.c: Fix definition and use of LogHeaderWPG(),
 LogWPGBitmapType1(), and LogWPGBitmapType2() macros.</p>
 <p>Replace use of ReallocColormap() with previously existing
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.