<pre style='margin:0'>
Ryan Carsten Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/9103af9f7d7950b347687f4dcf510b15983850c1">https://github.com/macports/macports-ports/commit/9103af9f7d7950b347687f4dcf510b15983850c1</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 9103af9f7d7 libiconv: Update utf8mac patch from Apple libiconv 41
</span>9103af9f7d7 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 9103af9f7d7950b347687f4dcf510b15983850c1
</span>Author: Ryan Carsten Schmidt <ryandesign@macports.org>
AuthorDate: Wed Mar 13 21:51:37 2024 -0500
<span style='display:block; white-space:pre;color:#404040;'> libiconv: Update utf8mac patch from Apple libiconv 41
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Fixes build with newer versions of clang.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Closes: https://trac.macports.org/ticket/69462
</span>---
textproc/libiconv/files/patch-utf8mac.diff | 36 +++++++++++++++---------------
1 file changed, 18 insertions(+), 18 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/textproc/libiconv/files/patch-utf8mac.diff b/textproc/libiconv/files/patch-utf8mac.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index f82c27a7aeb..0a14f1623f6 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/textproc/libiconv/files/patch-utf8mac.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/textproc/libiconv/files/patch-utf8mac.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -23,11 +23,11 @@
</span> DEFENCODING(( "UCS-2", /* glibc */
"ISO-10646-UCS-2", /* IANA */
"csUnicode", /* IANA */
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- lib/utf8mac.h.orig 1970-01-01 09:00:00.000000000 +0900
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ lib/utf8mac.h 2007-11-13 17:42:39.000000000 +0900
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null 2024-03-13 21:28:55.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ lib/utf8mac.h 2024-03-13 21:32:26.000000000 -0500
</span> @@ -0,0 +1,1608 @@
+/*
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * Copyright (C) 2003 Apple Computer, Inc. All rights reserved.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Copyright (C) 2003, 2013 Apple Computer, Inc. All rights reserved.
</span> + *
+ * This file is part of the GNU LIBICONV Library.
+ *
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -57,7 +57,7 @@
</span> +
+#include <libkern/OSByteOrder.h>
+#include <errno.h>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <string.h> /* bzero() */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <strings.h> /* bzero() */
</span> +
+#define UTF_REVERSE_ENDIAN 0x01 /* reverse UCS-2 byte order */
+#define UTF_NO_NULL_TERM 0x02 /* do not add null termination */
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1066,13 +1066,13 @@
</span> +
+/* Surrogate Pair Constants */
+#define SP_HALF_SHIFT 10
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_HALF_BASE 0x0010000UL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_HALF_MASK 0x3FFUL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SP_HALF_BASE 0x0010000U
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SP_HALF_MASK 0x3FFU
</span> +
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_HIGH_FIRST 0xD800UL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_HIGH_LAST 0xDBFFUL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_LOW_FIRST 0xDC00UL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SP_LOW_LAST 0xDFFFUL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SP_HIGH_FIRST 0xD800U
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SP_HIGH_LAST 0xDBFFU
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SP_LOW_FIRST 0xDC00U
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SP_LOW_LAST 0xDFFFU
</span> +
+/*
+ * Test for a combining character.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1159,7 +1159,7 @@
</span> + u_int16_t * chp = NULL;
+ u_int16_t sequence[8];
+ int extra = 0;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+ int charcnt;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ size_t charcnt;
</span> + int swapbytes = (flags & UTF_REVERSE_ENDIAN);
+ int nullterm = ((flags & UTF_NO_NULL_TERM) == 0);
+ int decompose = (flags & UTF_DECOMPOSED);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1305,7 +1305,7 @@
</span> + if ((byte >> 6) != 2)
+ goto invalid;
+ ch += byte;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ch -= 0x00003080UL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ch -= 0x00003080U;
</span> + if (ch < 0x0080)
+ goto invalid;
+ ucs_ch = ch;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1320,7 +1320,7 @@
</span> + if ((byte >> 6) != 2)
+ goto invalid;
+ ch += byte;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ch -= 0x000E2080UL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ch -= 0x000E2080U;
</span> + if (ch < 0x0800)
+ goto invalid;
+ if (ch >= 0xD800) {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1345,7 +1345,7 @@
</span> + if ((byte >> 6) != 2)
+ goto invalid;
+ ch += byte;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ch -= 0x03C82080UL + SP_HALF_BASE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ch -= 0x03C82080U + SP_HALF_BASE;
</span> + ucs_ch = (ch >> SP_HALF_SHIFT) + SP_HIGH_FIRST;
+ if (ucs_ch < SP_HIGH_FIRST || ucs_ch > SP_HIGH_LAST)
+ goto invalid;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1586,7 +1586,7 @@
</span> +}
+
+static int
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+utf8mac_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++utf8mac_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, size_t n)
</span> +{
+ u_int16_t ucsp[13];
+ size_t ucslen = 0, consumed = 0;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1612,11 +1612,11 @@
</span> + if((ret = ucs2_mbtowc(conv, pwc, (const unsigned char *) ucsp, ucslen)) < 0)
+ return ret;
+
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return consumed;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return (int)consumed;
</span> +}
+
+static int
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+utf8mac_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n) /* n == 0 is acceptable */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++utf8mac_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, size_t n) /* n == 0 is acceptable */
</span> +{
+ int ret;
+ size_t len;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1632,5 +1632,5 @@
</span> +#endif
+ utf8_encodestr(ucs_string, ret, r, &len, n, 0, flags);
+
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return len;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return (int)len;
</span> +}
</pre><pre style='margin:0'>
</pre>