pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/chat/libpurple



Module Name:    pkgsrc
Committed By:   wiz
Date:           Sun Oct  5 16:01:16 UTC 2025

Modified Files:
        pkgsrc/chat/libpurple: Makefile distinfo
Added Files:
        pkgsrc/chat/libpurple/patches: patch-libpurple_plugins_log_reader.c
            patch-libpurple_protocols_gg_lib_dcc.c
            patch-libpurple_protocols_gg_lib_events.c
            patch-libpurple_protocols_gg_lib_handlers.c
            patch-libpurple_protocols_gg_lib_message.c
            patch-libpurple_protocols_irc_msgs.c
            patch-libpurple_protocols_irc_parse.c
            patch-libpurple_protocols_novell_nmconn.c
            patch-libpurple_protocols_zephyr_ZVariables.c
            patch-libpurple_protocols_zephyr_zephyr.c patch-libpurple_util.c
            patch-pidgin_gtkthemes.c

Log Message:
libpurple: more ctype(3) fixes from Anthony Mallet.

Bump PKGREVISION.


To generate a diff of this commit:
cvs rdiff -u -r1.136 -r1.137 pkgsrc/chat/libpurple/Makefile
cvs rdiff -u -r1.60 -r1.61 pkgsrc/chat/libpurple/distinfo
cvs rdiff -u -r0 -r1.1 \
    pkgsrc/chat/libpurple/patches/patch-libpurple_plugins_log_reader.c \
    pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_gg_lib_dcc.c \
    pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_gg_lib_events.c \
    pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_gg_lib_handlers.c \
    pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_gg_lib_message.c \
    pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_irc_msgs.c \
    pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_irc_parse.c \
    pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_novell_nmconn.c \
    pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_zephyr_ZVariables.c \
    pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_zephyr_zephyr.c \
    pkgsrc/chat/libpurple/patches/patch-libpurple_util.c \
    pkgsrc/chat/libpurple/patches/patch-pidgin_gtkthemes.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/chat/libpurple/Makefile
diff -u pkgsrc/chat/libpurple/Makefile:1.136 pkgsrc/chat/libpurple/Makefile:1.137
--- pkgsrc/chat/libpurple/Makefile:1.136        Sun Oct  5 07:39:53 2025
+++ pkgsrc/chat/libpurple/Makefile      Sun Oct  5 16:01:15 2025
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.136 2025/10/05 07:39:53 wiz Exp $
+# $NetBSD: Makefile,v 1.137 2025/10/05 16:01:15 wiz Exp $
 
 PKGNAME=       libpurple-${PIDGIN_VERSION}
-PKGREVISION=   3
+PKGREVISION=   4
 
 COMMENT=       Plugin-based multi-protocol instant messaging library
 

Index: pkgsrc/chat/libpurple/distinfo
diff -u pkgsrc/chat/libpurple/distinfo:1.60 pkgsrc/chat/libpurple/distinfo:1.61
--- pkgsrc/chat/libpurple/distinfo:1.60 Sun Oct  5 07:39:53 2025
+++ pkgsrc/chat/libpurple/distinfo      Sun Oct  5 16:01:15 2025
@@ -1,7 +1,19 @@
-$NetBSD: distinfo,v 1.60 2025/10/05 07:39:53 wiz Exp $
+$NetBSD: distinfo,v 1.61 2025/10/05 16:01:15 wiz Exp $
 
 BLAKE2s (pidgin-2.14.14.tar.bz2) = 0cd37c6b2632abbbf98df254f1c7dc8478bbdaba1ddca897ca508b20b0c123e3
 SHA512 (pidgin-2.14.14.tar.bz2) = 2d1ee55e701983871762b5307a2c13fa4431b388229aee7c27522ba593a4c79df729be04cda91f44b3cc9663ca0579bf66b722cdcbd71cae3b8c2dbe75c1f24d
 Size (pidgin-2.14.14.tar.bz2) = 8121174 bytes
+SHA1 (patch-libpurple_plugins_log_reader.c) = e75dfd2c29fa99293ef007f51f2f0416069dcabc
 SHA1 (patch-libpurple_plugins_perl_common_Makefile.PL.in) = 4fc1c7cc2df8f4cf179d00fe3bcf5b2ab0c5adbd
+SHA1 (patch-libpurple_protocols_gg_lib_dcc.c) = 395d873d339b1f39bda6019e12af364bbca7d8cd
+SHA1 (patch-libpurple_protocols_gg_lib_events.c) = 90e81a179f77a375907571d548537ea7059a83ff
+SHA1 (patch-libpurple_protocols_gg_lib_handlers.c) = 85b07ec94e96978c961b26992e589882c4be271d
+SHA1 (patch-libpurple_protocols_gg_lib_message.c) = dce2aac28a9a593cc3943f416db978d70618369f
+SHA1 (patch-libpurple_protocols_irc_msgs.c) = a7e395ba0ad7b52a74de480127572bcda6558e2e
+SHA1 (patch-libpurple_protocols_irc_parse.c) = 32b6578b67881ff4578dfd8f5ed3a23cbe7df9a0
+SHA1 (patch-libpurple_protocols_novell_nmconn.c) = a49cb0cd662e769bc62643c514b728da1c6d5860
+SHA1 (patch-libpurple_protocols_zephyr_ZVariables.c) = 56cf153ed471ddd0f4d64caeaeef69bd19bc2d16
+SHA1 (patch-libpurple_protocols_zephyr_zephyr.c) = 10612b4d08f88187b9f9cbda792a6e94bd4c7b7c
+SHA1 (patch-libpurple_util.c) = 49b4600574c0cb1158b7988e0e00b80a7b696577
 SHA1 (patch-pidgin_gtkimhtml.c) = 54af515155ae2d3326b405516158865d365102c7
+SHA1 (patch-pidgin_gtkthemes.c) = ac07d18d74745afdaf6bae2aee67d8fbc0753a36

Added files:

Index: pkgsrc/chat/libpurple/patches/patch-libpurple_plugins_log_reader.c
diff -u /dev/null pkgsrc/chat/libpurple/patches/patch-libpurple_plugins_log_reader.c:1.1
--- /dev/null   Sun Oct  5 16:01:16 2025
+++ pkgsrc/chat/libpurple/patches/patch-libpurple_plugins_log_reader.c  Sun Oct  5 16:01:15 2025
@@ -0,0 +1,67 @@
+$NetBSD: patch-libpurple_plugins_log_reader.c,v 1.1 2025/10/05 16:01:15 wiz Exp $
+
+Fix -Wchar-subscripts in ctype(3) functions
+
+--- libpurple/plugins/log_reader.c~    2024-09-17 21:31:28.000000000 +0200
++++ libpurple/plugins/log_reader.c     2025-10-05 15:09:15.646785462 +0200
+@@ -998,15 +998,15 @@
+                                * ^(friendly_name|alias)([^a-zA-Z0-9].*)?$
+                                */
+                               from_name_matches = (purple_str_has_prefix(from_name, friendly_name) &&
+-                                                    !isalnum(*(from_name + friendly_name_length))) ||
++                                                    !isalnum((unsigned char)*(from_name + friendly_name_length))) ||
+                                                    (purple_str_has_prefix(from_name, alias) &&
+-                                                    !isalnum(*(from_name + alias_length)));
++                                                    !isalnum((unsigned char)*(from_name + alias_length)));
+ 
+                               to_name_matches = to_name != NULL && (
+                                                  (purple_str_has_prefix(to_name, friendly_name) &&
+-                                                  !isalnum(*(to_name + friendly_name_length))) ||
++                                                  !isalnum((unsigned char)*(to_name + friendly_name_length))) ||
+                                                  (purple_str_has_prefix(to_name, alias) &&
+-                                                  !isalnum(*(to_name + alias_length))));
++                                                  !isalnum((unsigned char)*(to_name + alias_length))));
+ 
+                               if (from_name_matches) {
+                                       if (!to_name_matches) {
+@@ -1024,7 +1024,7 @@
+                                                * character. The idea is to relax the comparison.
+                                                */
+                                               for (temp = alias; *temp ; temp++) {
+-                                                      if (!isalnum(*temp)) {
++                                                      if (!isalnum((unsigned char)*temp)) {
+                                                               *temp = '\0';
+                                                               break;
+                                                       }
+@@ -1038,12 +1038,12 @@
+                                                */
+                                               from_name_matches = (purple_str_has_prefix(
+                                                               from_name, alias) &&
+-                                                              !isalnum(*(from_name +
++                                                              !isalnum((unsigned char)*(from_name +
+                                                               alias_length)));
+ 
+                                               to_name_matches = to_name && (purple_str_has_prefix(
+                                                               to_name, alias) &&
+-                                                              !isalnum(*(to_name +
++                                                              !isalnum((unsigned char)*(to_name +
+                                                               alias_length)));
+ 
+                                               g_free(alias);
+@@ -1067,13 +1067,14 @@
+                                                       from_name_matches = (purple_str_has_prefix(
+                                                                       from_name,
+                                                                       server_alias) &&
+-                                                                      !isalnum(*(from_name +
++                                                                      !isalnum((unsigned char)*(from_name +
+                                                                       friendly_name_length)));
+ 
+                                                       to_name_matches = to_name && (
+                                                                       (purple_str_has_prefix(
+                                                                       to_name, server_alias) &&
+-                                                                      !isalnum(*(to_name +
++                                                                                !isalnum((unsigned char)*(to_name
++                                                                                +
+                                                                       friendly_name_length))));
+ 
+                                                       if (from_name_matches) {
Index: pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_gg_lib_dcc.c
diff -u /dev/null pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_gg_lib_dcc.c:1.1
--- /dev/null   Sun Oct  5 16:01:16 2025
+++ pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_gg_lib_dcc.c        Sun Oct  5 16:01:15 2025
@@ -0,0 +1,24 @@
+$NetBSD: patch-libpurple_protocols_gg_lib_dcc.c,v 1.1 2025/10/05 16:01:15 wiz Exp $
+
+Fix -Wchar-subscripts in ctype(3) functions
+
+--- libpurple/protocols/gg/lib/dcc.c~  2024-09-17 10:52:23.000000000 +0200
++++ libpurple/protocols/gg/lib/dcc.c   2025-10-05 15:11:48.358953003 +0200
+@@ -180,7 +180,7 @@
+               ext = name + strlen(name);
+ 
+       for (i = 0, p = name; i < 8 && p < ext; i++, p++)
+-              d->file_info.short_filename[i] = toupper(name[i]);
++              d->file_info.short_filename[i] = toupper((unsigned char)name[i]);
+ 
+       if (i == 8 && p < ext) {
+               d->file_info.short_filename[6] = '~';
+@@ -189,7 +189,7 @@
+ 
+       if (strlen(ext) > 0) {
+               for (j = 0; *ext && j < 4; j++, p++)
+-                      d->file_info.short_filename[i + j] = toupper(ext[j]);
++                      d->file_info.short_filename[i + j] = toupper((unsigned char)ext[j]);
+       }
+ 
+       for (q = d->file_info.short_filename; *q; q++) {
Index: pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_gg_lib_events.c
diff -u /dev/null pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_gg_lib_events.c:1.1
--- /dev/null   Sun Oct  5 16:01:16 2025
+++ pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_gg_lib_events.c     Sun Oct  5 16:01:15 2025
@@ -0,0 +1,15 @@
+$NetBSD: patch-libpurple_protocols_gg_lib_events.c,v 1.1 2025/10/05 16:01:15 wiz Exp $
+
+Fix -Wchar-subscripts in ctype(3) functions
+
+--- libpurple/protocols/gg/lib/events.c~       2024-09-17 10:52:23.000000000 +0200
++++ libpurple/protocols/gg/lib/events.c        2025-10-05 15:10:34.843089139 +0200
+@@ -874,7 +874,7 @@
+       int proxy;
+       size_t req_len;
+ 
+-      if (sess->client_version != NULL && isdigit(sess->client_version[0]))
++      if (sess->client_version != NULL && isdigit((unsigned char)sess->client_version[0]))
+               client = gg_urlencode(sess->client_version);
+       else if (sess->protocol_version <= GG_PROTOCOL_VERSION_100)
+               client = gg_urlencode(GG_DEFAULT_CLIENT_VERSION_100);
Index: pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_gg_lib_handlers.c
diff -u /dev/null pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_gg_lib_handlers.c:1.1
--- /dev/null   Sun Oct  5 16:01:16 2025
+++ pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_gg_lib_handlers.c   Sun Oct  5 16:01:15 2025
@@ -0,0 +1,24 @@
+$NetBSD: patch-libpurple_protocols_gg_lib_handlers.c,v 1.1 2025/10/05 16:01:15 wiz Exp $
+
+Fix -Wchar-subscripts in ctype(3) functions
+
+--- libpurple/protocols/gg/lib/handlers.c~     2024-09-17 10:52:23.000000000 +0200
++++ libpurple/protocols/gg/lib/handlers.c      2025-10-05 15:10:42.887977927 +0200
+@@ -117,7 +117,7 @@
+               return -1;
+       }
+ 
+-      if (gs->client_version != NULL && !isdigit(gs->client_version[0])) {
++      if (gs->client_version != NULL && !isdigit((unsigned char)gs->client_version[0])) {
+               client_name = "";
+               client_target = "";
+       }
+@@ -314,7 +314,7 @@
+       l80.image_size = gs->image_size;
+       l80.dunno2 = 0x64;
+ 
+-      if (gs->client_version != NULL && !isdigit(gs->client_version[0])) {
++      if (gs->client_version != NULL && !isdigit((unsigned char)gs->client_version[0])) {
+               client_name = "";
+               client_name_len = 0;
+       } else {
Index: pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_gg_lib_message.c
diff -u /dev/null pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_gg_lib_message.c:1.1
--- /dev/null   Sun Oct  5 16:01:16 2025
+++ pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_gg_lib_message.c    Sun Oct  5 16:01:15 2025
@@ -0,0 +1,42 @@
+$NetBSD: patch-libpurple_protocols_gg_lib_message.c,v 1.1 2025/10/05 16:01:15 wiz Exp $
+
+Fix -Wchar-subscripts in ctype(3) functions
+
+--- libpurple/protocols/gg/lib/message.c~      2024-09-17 10:52:23.000000000 +0200
++++ libpurple/protocols/gg/lib/message.c       2025-10-05 15:11:19.337069955 +0200
+@@ -694,7 +694,7 @@
+               *format_len = 0;
+ 
+       for (src = html; *src != 0; src++) {
+-              if (in_entity && !(isalnum(*src) || *src == '#' || *src == ';')) {
++              if (in_entity && !(isalnum((unsigned char)*src) || *src == '#' || *src == ';')) {
+                       int first = 1;
+                       size_t i, append_len = src - entity;
+ 
+@@ -738,7 +738,7 @@
+                                       int i, ok = 1;
+ 
+                                       for (i = 0; i < 16; i++) {
+-                                              if (!isxdigit(tag[i])) {
++                                              if (!isxdigit((unsigned char)tag[i])) {
+                                                       ok = 0;
+                                                       break;
+                                               }
+@@ -839,7 +839,7 @@
+                                                               break;
+ 
+                                                       for (i = 0; i < 6; i++) {
+-                                                              if (!isxdigit(tag[i])) {
++                                                              if (!isxdigit((unsigned char)tag[i])) {
+                                                                       ok = 0;
+                                                                       break;
+                                                               }
+@@ -914,7 +914,7 @@
+                       continue;
+               }
+ 
+-              if (in_entity && !(isalnum(*src) || *src == '#'))
++              if (in_entity && !(isalnum((unsigned char)*src) || *src == '#'))
+                       in_entity = 0;
+ 
+               if (in_entity)
Index: pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_irc_msgs.c
diff -u /dev/null pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_irc_msgs.c:1.1
--- /dev/null   Sun Oct  5 16:01:16 2025
+++ pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_irc_msgs.c  Sun Oct  5 16:01:15 2025
@@ -0,0 +1,17 @@
+$NetBSD: patch-libpurple_protocols_irc_msgs.c,v 1.1 2025/10/05 16:01:15 wiz Exp $
+
+Fix -Wchar-subscripts in ctype(3) functions
+
+--- libpurple/protocols/irc/msgs.c~    2024-09-17 10:52:23.000000000 +0200
++++ libpurple/protocols/irc/msgs.c     2025-10-05 15:12:52.281588294 +0200
+@@ -149,8 +149,8 @@
+               /* Check for 3-digit numeric in second position */
+               if (i == 1) {
+                       if (end - cur != 3
+-                          || !isdigit(cur[0]) || !isdigit(cur[1])
+-                          || !isdigit(cur[2])) {
++                          || !isdigit((unsigned char)cur[0]) || !isdigit((unsigned char)cur[1])
++                          || !isdigit((unsigned char)cur[2])) {
+                               goto undirected;
+                       }
+                       /* Save the numeric for printing to the channel */
Index: pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_irc_parse.c
diff -u /dev/null pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_irc_parse.c:1.1
--- /dev/null   Sun Oct  5 16:01:16 2025
+++ pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_irc_parse.c Sun Oct  5 16:01:15 2025
@@ -0,0 +1,47 @@
+$NetBSD: patch-libpurple_protocols_irc_parse.c,v 1.1 2025/10/05 16:01:15 wiz Exp $
+
+Fix -Wchar-subscripts in ctype(3) functions
+
+--- libpurple/protocols/irc/parse.c~   2024-10-25 09:38:45.000000000 +0200
++++ libpurple/protocols/irc/parse.c    2025-10-05 15:12:38.279670906 +0200
+@@ -408,15 +408,15 @@
+               case '\003':
+                       cur++;
+                       fg[0] = fg[1] = bg[0] = bg[1] = '\0';
+-                      if (isdigit(*cur))
++                      if (isdigit((unsigned char)*cur))
+                               fg[0] = *cur++;
+-                      if (isdigit(*cur))
++                      if (isdigit((unsigned char)*cur))
+                               fg[1] = *cur++;
+                       if (*cur == ',') {
+                               cur++;
+-                              if (isdigit(*cur))
++                              if (isdigit((unsigned char)*cur))
+                                       bg[0] = *cur++;
+-                              if (isdigit(*cur))
++                              if (isdigit((unsigned char)*cur))
+                                       bg[1] = *cur++;
+                       }
+                       if (font) {
+@@ -498,16 +498,16 @@
+               switch (result[i]) {
+               case '\003':
+                       /* Foreground color */
+-                      if (isdigit(result[i + 1]))
++                      if (isdigit((unsigned char)result[i + 1]))
+                               i++;
+-                      if (isdigit(result[i + 1]))
++                      if (isdigit((unsigned char)result[i + 1]))
+                               i++;
+                       /* Optional comma and background color */
+                       if (result[i + 1] == ',') {
+                               i++;
+-                              if (isdigit(result[i + 1]))
++                              if (isdigit((unsigned char)result[i + 1]))
+                                       i++;
+-                              if (isdigit(result[i + 1]))
++                              if (isdigit((unsigned char)result[i + 1]))
+                                       i++;
+                       }
+                       /* Note that i still points to the last character
Index: pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_novell_nmconn.c
diff -u /dev/null pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_novell_nmconn.c:1.1
--- /dev/null   Sun Oct  5 16:01:16 2025
+++ pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_novell_nmconn.c     Sun Oct  5 16:01:16 2025
@@ -0,0 +1,15 @@
+$NetBSD: patch-libpurple_protocols_novell_nmconn.c,v 1.1 2025/10/05 16:01:16 wiz Exp $
+
+Fix -Wchar-subscripts in ctype(3) functions
+
+--- libpurple/protocols/novell/nmconn.c~       2024-09-17 10:52:23.000000000 +0200
++++ libpurple/protocols/novell/nmconn.c        2025-10-05 15:13:26.469842018 +0200
+@@ -512,7 +512,7 @@
+                       ptr++;
+ 
+                       i = 0;
+-                      while (isdigit(*ptr) && (i < 3)) {
++                      while (isdigit((unsigned char)*ptr) && (i < 3)) {
+                               rtn_buf[i] = *ptr;
+                               i++;
+                               ptr++;
Index: pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_zephyr_ZVariables.c
diff -u /dev/null pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_zephyr_ZVariables.c:1.1
--- /dev/null   Sun Oct  5 16:01:16 2025
+++ pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_zephyr_ZVariables.c Sun Oct  5 16:01:16 2025
@@ -0,0 +1,24 @@
+$NetBSD: patch-libpurple_protocols_zephyr_ZVariables.c,v 1.1 2025/10/05 16:01:16 wiz Exp $
+
+Fix -Wchar-subscripts in ctype(3) functions
+
+--- libpurple/protocols/zephyr/ZVariables.c~   2025-01-21 17:44:24.000000000 +0100
++++ libpurple/protocols/zephyr/ZVariables.c    2025-10-05 15:14:01.480961180 +0200
+@@ -198,7 +198,7 @@
+       return (0);
+ 
+     cp = bfr;
+-    while (*cp && !isspace(*cp) && (*cp != '='))
++    while (*cp && !isspace((unsigned char)*cp) && (*cp != '='))
+       cp++;
+ 
+ #ifndef WIN32
+@@ -213,7 +213,7 @@
+     if (!cp)
+       return(0);
+     cp++;
+-    while (*cp && isspace(*cp))               /* space up to variable value */
++    while (*cp && isspace((unsigned char)*cp))                /* space up to variable value */
+       cp++;
+ 
+     return (cp - bfr);                        /* return index */
Index: pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_zephyr_zephyr.c
diff -u /dev/null pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_zephyr_zephyr.c:1.1
--- /dev/null   Sun Oct  5 16:01:16 2025
+++ pkgsrc/chat/libpurple/patches/patch-libpurple_protocols_zephyr_zephyr.c     Sun Oct  5 16:01:16 2025
@@ -0,0 +1,15 @@
+$NetBSD: patch-libpurple_protocols_zephyr_zephyr.c,v 1.1 2025/10/05 16:01:16 wiz Exp $
+
+Fix -Wchar-subscripts in ctype(3) functions
+
+--- libpurple/protocols/zephyr/zephyr.c~       2024-09-17 21:31:28.000000000 +0200
++++ libpurple/protocols/zephyr/zephyr.c        2025-10-05 15:14:28.248010827 +0200
+@@ -627,7 +627,7 @@
+                       message += 2;
+               } else if (*message == '@') {
+                       int end;
+-                      for (end = 1; message[end] && (isalnum(message[end]) || message[end] == '_'); end++);
++                      for (end = 1; message[end] && (isalnum((unsigned char)message[end]) || message[end] == '_'); end++);
+                       if (message[end] &&
+                           (message[end] == '{' || message[end] == '[' || message[end] == '(' ||
+                            !g_ascii_strncasecmp(message + end, "&lt;", 4))) {
Index: pkgsrc/chat/libpurple/patches/patch-libpurple_util.c
diff -u /dev/null pkgsrc/chat/libpurple/patches/patch-libpurple_util.c:1.1
--- /dev/null   Sun Oct  5 16:01:16 2025
+++ pkgsrc/chat/libpurple/patches/patch-libpurple_util.c        Sun Oct  5 16:01:16 2025
@@ -0,0 +1,72 @@
+$NetBSD: patch-libpurple_util.c,v 1.1 2025/10/05 16:01:16 wiz Exp $
+
+Fix -Wchar-subscripts in ctype(3) functions
+
+--- libpurple/util.c~  2024-09-17 10:52:23.000000000 +0200
++++ libpurple/util.c   2025-10-05 15:18:10.643015312 +0200
+@@ -215,11 +215,11 @@
+               else
+                       accumulator <<= 4;
+ 
+-              if (isdigit(str[i]))
++              if (isdigit((unsigned char)str[i]))
+                       accumulator |= str[i] - 48;
+               else
+               {
+-                      switch(tolower(str[i]))
++                      switch(tolower((unsigned char)str[i]))
+                       {
+                               case 'a':  accumulator |= 10;  break;
+                               case 'b':  accumulator |= 11;  break;
+@@ -310,8 +310,8 @@
+                               n -= 1;
+                               p += 1;
+                       } else if (p[1] && p[2]) {
+-                              char *nibble1 = strchr(xdigits, tolower(p[1]));
+-                              char *nibble2 = strchr(xdigits, tolower(p[2]));
++                              char *nibble1 = strchr(xdigits, tolower((unsigned char)p[1]));
++                              char *nibble2 = strchr(xdigits, tolower((unsigned char)p[2]));
+                               if (nibble1 && nibble2) { /* 5.1 #1 */
+                                       *n = ((nibble1 - xdigits) << 4) | (nibble2 - xdigits);
+                                       p += 2;
+@@ -362,11 +362,11 @@
+ 
+       /* token can be any CHAR (supposedly ISO8859-1/ISO2022), not just ASCII */
+       #define token_char_p(c) \
+-              (c != ' ' && !iscntrl(c) && !strchr("()<>@,;:\"/[]?.=", c))
++              (c != ' ' && !iscntrl((unsigned char)c) && !strchr("()<>@,;:\"/[]?.=", c))
+ 
+       /* But encoded-text must be ASCII; alas, isascii() may not exist */
+       #define encoded_text_char_p(c) \
+-              ((c & 0x80) == 0 && c != '?' && c != ' ' && isgraph(c))
++              ((c & 0x80) == 0 && c != '?' && c != ' ' && isgraph((unsigned char)c))
+ 
+       g_return_val_if_fail(str != NULL, NULL);
+ 
+@@ -4588,7 +4588,7 @@
+       */
+       while (p) {
+               if (*p != '#') {
+-                      while (isspace(*p))
++                      while (isspace((unsigned char)*p))
+                               p++;
+ 
+                       q = p;
+@@ -4597,7 +4597,7 @@
+ 
+                       if (q > p) {
+                               q--;
+-                              while (q > p && isspace(*q))
++                              while (q > p && isspace((unsigned char)*q))
+                                       q--;
+ 
+                               retval = (gchar*)g_malloc (q - p + 2);
+@@ -5124,7 +5124,7 @@
+       if (act && purple_strequal(protocol, "prpl-oscar")) {
+               int i;
+               for (i = 0; act[i] != '\0'; i++)
+-                      if (!isdigit(act[i]))
++                      if (!isdigit((unsigned char)act[i]))
+                               return "prpl-aim";
+               return "prpl-icq";
+       }
Index: pkgsrc/chat/libpurple/patches/patch-pidgin_gtkthemes.c
diff -u /dev/null pkgsrc/chat/libpurple/patches/patch-pidgin_gtkthemes.c:1.1
--- /dev/null   Sun Oct  5 16:01:16 2025
+++ pkgsrc/chat/libpurple/patches/patch-pidgin_gtkthemes.c      Sun Oct  5 16:01:16 2025
@@ -0,0 +1,33 @@
+$NetBSD: patch-pidgin_gtkthemes.c,v 1.1 2025/10/05 16:01:16 wiz Exp $
+
+Fix -Wchar-subscripts in ctype(3) functions
+
+--- pidgin/gtkthemes.c~        2024-09-17 10:52:23.000000000 +0200
++++ pidgin/gtkthemes.c 2025-10-05 15:02:26.450840225 +0200
+@@ -287,7 +287,7 @@
+               }
+ 
+               i = buf;
+-              while (isspace(*i))
++              while (isspace((unsigned char)*i))
+                       i++;
+ 
+               if (*i == '[' && strchr(i, ']') && load) {
+@@ -325,7 +325,7 @@
+                               char l[64];
+                               size_t li = 0;
+                               char *next;
+-                              while (*i && !isspace(*i) && li < sizeof(l) - 1) {
++                              while (*i && !isspace((unsigned char)*i) && li < sizeof(l) - 1) {
+                                       if (*i == '\\' && *(i+1) != '\0')
+                                               i++;
+                                       /* coverity[tainted_data] */
+@@ -343,7 +343,7 @@
+                                       GtkIMHtmlSmiley *smiley = gtk_imhtml_smiley_create(sfile, l, hidden, 0);
+                                       list->smileys = g_slist_prepend(list->smileys, smiley);
+                               }
+-                              while (isspace(*i))
++                              while (isspace((unsigned char)*i))
+                                       i++;
+ 
+                       }



Home | Main Index | Thread Index | Old Index