* src/function.c (abspath): len is now ptrdiff_t,
to avoid GCC warning about comparing signed to unsigned.
It really is a pointer difference, after all.
Rejigger comparision to avoid undefined behavior
if dest + len is an invalid pointer.
for (start = end = name; *start != '\0'; start = end)
{
- size_t len;
+ ptrdiff_t len;
/* Skip sequence of multiple path-separators. */
while (ISDIRSEP (*start))
if (! ISDIRSEP (dest[-1]))
*dest++ = '/';
- if (dest + len >= apath_limit)
+ if (apath_limit - dest <= len)
return NULL;
dest = mempcpy (dest, start, len);