maintainer-feedback requested: [Bug 271355] textproc/p5-XML-LibXML: fix build with clang 16

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 10 May 2023 19:24:06 UTC
Bugzilla Automation <bugzilla@FreeBSD.org> has asked freebsd-perl (Nobody)
<perl@FreeBSD.org> for maintainer-feedback:
Bug 271355: textproc/p5-XML-LibXML: fix build with clang 16
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271355



--- Description ---
Clang 16 has a new error about incompatible function types, which shows
up when building textproc/p5-XML-LibXML:

  perl-libxml-mm.c:142:18: error: incompatible function pointer types passing
'void (void *, void *, xmlChar *)' (aka 'void (void *, void *, unsigned char
*)') to parameter of type 'xmlHashScanner' (aka 'void (*)(void *, void *, const
unsigned char *)') [-Wincompatible-function-pointer-types]
		  xmlHashScan(r, PmmRegistryDumpHashScanner, NULL);
				 ^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/local/include/libxml2/libxml/hash.h:213:22: note: passing argument to
parameter 'f' here
					   xmlHashScanner f,
							  ^
  perl-libxml-mm.c:234:44: error: incompatible function pointer types passing
'void (void *, xmlChar *)' (aka 'void (void *, unsigned char *)') to parameter
of type 'xmlHashDeallocator' (aka 'void (*)(void *, const unsigned char *)')
[-Wincompatible-function-pointer-types]
	  if( xmlHashRemoveEntry(PmmREGISTRY, name, PmmRegistryHashDeallocator)
)
						    ^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/local/include/libxml2/libxml/hash.h:160:47: note: passing argument to
parameter 'f' here
			     xmlHashDeallocator f);
						^
  perl-libxml-mm.c:301:38: error: incompatible function pointer types passing
'void *(void *, xmlChar *)' (aka 'void *(void *, unsigned char *)') to
parameter of type 'xmlHashCopier' (aka 'void *(*)(void *, const unsigned char
*)') [-Wincompatible-function-pointer-types]
	  reg_copy = xmlHashCopy(PmmREGISTRY, PmmRegistryHashCopier);
					      ^~~~~~~~~~~~~~~~~~~~~
  /usr/local/include/libxml2/libxml/hash.h:208:21: note: passing argument to
parameter 'f' here
					   xmlHashCopier f);
							 ^

In all three cases, the libxml2 callback functions require const xmlChar
pointers, so fix the parameters in their definitions.