Re: Exim 4.100-RC1 released

Evgeniy Berdnikov via Exim-users <[email protected]> Sun, 2 Aug 2026 15:32:34 +0300
Newsgroups gmane.mail.exim.user
Message-ID <[email protected]>
On Thu, Jul 30, 2026 at 08:47:59PM +0100, Jeremy Harris via Exim-users wrote:
> My system here has:
> /usr/include/string.h  303:   extern char *strpbrk (char *__s, const char *__accept) /*assorted attributes*/ ;
> 
> The manpage matches that.
> 
> Fedora 43.
> glibc-devel-2.42-13.fc43.x86_64.
> 
> 
> Has the definition of Glibc's strpbrk() changed over time?  Is yours some other libc?

 Debian, libc6-dev:amd64 2.42-17, /usr/include/string.h:

#ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
extern "C++"
{
extern char *strpbrk (char *__s, const char *__accept)
     __THROW __asm ("strpbrk") __attribute_pure__ __nonnull ((1, 2));
extern const char *strpbrk (const char *__s, const char *__accept)
     __THROW __asm ("strpbrk") __attribute_pure__ __nonnull ((1, 2));

# ifdef __OPTIMIZE__
__extern_always_inline char *
strpbrk (char *__s, const char *__accept) __THROW
{
  return __builtin_strpbrk (__s, __accept);
}

__extern_always_inline const char *
strpbrk (const char *__s, const char *__accept) __THROW
{
  return __builtin_strpbrk (__s, __accept);
}
# endif
}
#else
extern char *strpbrk (const char *__s, const char *__accept)
     __THROW __attribute_pure__ __nonnull ((1, 2));
#endif

 Cutting out "extern C++ {..}" with two different definitions of strpbrk(),
 we have last "const char * strpbrk (const char *, const char *)".
-- 
 Eugene Berdnikov

-- 
## subscription configuration (requires account):
##   https://lists.exim.org/mailman3/postorius/lists/exim-users.lists.exim.org/
## unsubscribe (doesn't require an account):
##   [email protected]
## Exim details at https://www.exim.org/
## Please use the Wiki with this list - https://code.exim.org/exim/wiki/wiki