#include <sys/time.h>
{
memset(mem, 0, type->value_size);
}
{
}
{
struct timezone *tzsrc = (struct timezone *)src;
struct timezone *tzdst = dst;
*tzdst = *tzsrc;
}
static int
{
struct timezone tza = *(struct timezone*)a;
struct timezone tzb = *(struct timezone*)b;
if (tza.tz_minuteswest < tzb.tz_minuteswest)
return -1;
else if (tza.tz_minuteswest > tzb.tz_minuteswest)
return 1;
return 0;
}
{
*(struct timezone*)mem = *(struct timezone*)ptr;
}
{
const struct timezone tz = va_arg(args, struct timezone);
return _tz_pset(type, mem, &tz);
}
{
memcpy(ptr, mem, type->value_size);
}
{
struct timezone v = *(struct timezone*)type_mem;
{
unsigned char other_mem = v.tz_minuteswest;
}
{
unsigned short other_mem = v.tz_minuteswest;
}
{
unsigned int other_mem = v.tz_minuteswest;
}
{
unsigned long other_mem = v.tz_minuteswest;
}
{
uint64_t other_mem = v.tz_minuteswest;
}
{
char other_mem = v.tz_minuteswest;
}
{
short other_mem = v.tz_minuteswest;
}
{
int other_mem = v.tz_minuteswest;
}
{
long other_mem = v.tz_minuteswest;
}
{
int64_t other_mem = v.tz_minuteswest;
}
{
const char *other_mem;
char buf[64];
snprintf(buf, sizeof(buf), "%d", v.tz_minuteswest);
other_mem = buf;
}
}
sizeof(struct timezone),
"struct timezone",
_tz_setup,
_tz_flush,
_tz_copy,
_tz_compare,
_tz_convert_to,
NULL,
_tz_vset,
_tz_pset,
_tz_pget
};
{
struct timeval tv;
struct timezone tz;
char *s;
gettimeofday(&tv, &tz);
printf("time: %s\n", s);
free(s);
printf("timezone: %s\n", s);
free(s);
}