Mail Archives: djgpp-workers/2001/06/07/12:19:53
This version fixes a missing path in the _CS_PATH case and an off-by-one
error in the returned buffer length.
Eli, do you still believe the value of DJDIR at startup should be stashed
away?
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
size_t
confstr(int name, char *buf, size_t len)
{
size_t out_len = 0;
switch (name)
{
case _CS_PATH:
{
char *djdir = getenv("DJDIR");
if (djdir)
{
out_len = snprintf(buf, len, "%s/bin", djdir);
/* snprintf excludes the null terminator from its return value,
but confstr includes it. */
++out_len;
}
break;
}
default:
{
errno = EINVAL;
}
}
return out_len;
}
- Raw text -