#pragma ident "%Z%%M% %I% %E% SMI"
which builds after this directory. */
#include <stdarg.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <k5-err.h>
#include "k5-thread.h"
#include <k5-platform.h>
#include "supp-int.h"
#ifdef _WIN32
#ifndef vsnprintf
#endif
#endif
/* It would be nice to just use error_message() always. Pity that
it's defined in a library that depends on this one, and we're not
allowed to make circular dependencies. */
/* We really want a rwlock here, since we should hold it while calling
the function and copying out its results. But I haven't
implemented shims for rwlock yet. */
int
krb5int_err_init (void)
{
}
void
{
}
void
{
char *p;
}
#ifdef HAVE_VASPRINTF
{
return;
}
}
#endif
}
const char *
{
char *r, *r2;
if (r == NULL) {
r = ep->scratch_buf;
}
return r;
}
if (initialize() != 0) {
sizeof(ep->scratch_buf));
return ep->scratch_buf;
}
lock();
unlock();
#ifdef HAVE_STRERROR_R
if (p)
return p;
return ep->scratch_buf;
}
/* If strerror_r didn't work with the 1K buffer, we can try a
really big one. This seems kind of gratuitous though. */
r = malloc(BIG_ERR_BUFSIZ);
if (r) {
if (r2)
return r2;
return r;
}
free (r);
}
#endif
if (r) {
return ep->scratch_buf;
} else
return r2;
}
return ep->scratch_buf;
}
if (r == NULL) {
unlock();
goto format_number;
}
unlock();
return ep->scratch_buf;
} else {
unlock();
return r2;
}
}
void
{
}
void
{
}
void
{
initialize();
lock();
fptr = f;
unlock();
}