sbase/util/apathmax.c

25 lines
430 B
C
Raw Normal View History

2011-06-25 12:26:44 -04:00
/* See LICENSE file for copyright and license details. */
#include <errno.h>
#include <limits.h>
#include <stdlib.h>
#include <unistd.h>
#include "../util.h"
void
apathmax(char **p, long *size)
{
#ifdef PATH_MAX
*size = PATH_MAX;
#else
errno = 0;
if((*size = pathconf(".", _PC_PATH_MAX)) == -1) {
if(errno == 0)
*size = BUFSIZ;
else
eprintf("pathconf:");
}
#endif
if(!(*p = malloc(*size)))
eprintf("malloc:");
}