Looking through glibc sources I run against such a code:
double
erand48 (xsubi)
unsigned short int xsubi[3];
{
double result;
(void) __erand48_r (xsubi, &__libc_drand48_data, &result);
return result;
}
Could you explain what does that xsubi declaration between function's header and body mean?
unsigned short int xsubi[3];
The same thing is with drand48_r:
int
drand48_r (buffer, result)
struct drand48_data *buffer;
double *result;
{
return __erand48_r (buffer->__x, buffer, result);
}