Index | Thread | Search

From:
Stuart Henderson <stu@spacehopper.org>
Subject:
pgpool still broken; needs strchrnul() [Re: CVS: cvs.openbsd.org: ports]
To:
Landry Breuil <landry@cvs.openbsd.org>
Cc:
ports@openbsd.org
Date:
Sat, 6 Jun 2026 13:14:44 +0100

Download raw body.

Thread
On 2026/06/05 02:24, Landry Breuil wrote:
> CVSROOT:	/cvs
> Module name:	ports
> Changes by:	landry@cvs.openbsd.org	2026/06/05 02:24:15
> 
> Modified files:
> 	databases/pgpool: Makefile distinfo 
> Removed files:
> 	databases/pgpool/patches: patch-src_include_utils_fe_ports_h 
> 	                          patch-src_include_watchdog_wd_utils_h 
> 	                          patch-src_utils_json_writer_c 
> 	                          patch-src_utils_ssl_utils_c 
> 	                          patch-src_watchdog_wd_escalation_c 
> 
> Log message:
> databases/pgpool: update to 4.6.7 and unbreak with llvm 22
> 

this wants strchrnul() which we don't have - an implementation is
available from Crystal though;
https://research.exoticsilicon.com/downloads/strchrnul_patchset_7.8.sig)

this is broken on all archs, but only actually breaks the build on i386:

utils/pool_process_reporting.c:805:57: warning: format specifies type 'long' but the argument has type 'int64'
      (aka 'long long') [-Wformat]
  805 |         snprintf(status[i].value, POOLCONFIG_MAXVALLEN, "%ld", pool_config->relcache_expire);
      |                                                          ~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                          %lld
utils/pool_process_reporting.c:1079:57: warning: format specifies type 'long' but the argument has type 'int64'
      (aka 'long long') [-Wformat]
 1079 |         snprintf(status[i].value, POOLCONFIG_MAXVALLEN, "%ld", pool_config->memqcache_total_size);
      |                                                          ~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                          %lld
utils/pool_process_reporting.c:1116:4: warning: call to undeclared function 'strchrnul'; ISO C99 and later do not support
      implicit function declarations [-Wimplicit-function-declaration]
 1116 |         *(strchrnul(status[i].value, '\n')) = '\0';
      |           ^
utils/pool_process_reporting.c:1116:2: error: indirection requires pointer operand ('int' invalid)
 1116 |         *(strchrnul(status[i].value, '\n')) = '\0';
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 warnings and 1 error generated.