EV-ClickHouse
view release on metacpan or search on metacpan
buf[n++] = fracbuf[fi];
}
return newSVpvn(buf, n);
}
/* Set TZ env var and tzset(); returns saved old TZ (caller frees).
* Safe because EV is single-threaded and the set_tz / decode / restore_tz
* window contains no Perl callback dispatch. */
static char* set_tz(const char *tz) {
char *saved = safe_strdup(getenv("TZ"));
setenv("TZ", tz, 1);
tzset();
return saved;
}
/* Restore TZ from saved value (which may be NULL), then free saved */
static void restore_tz(char *saved) {
if (saved) {
setenv("TZ", saved, 1);
Safefree(saved);
} else {
unsetenv("TZ");
}
tzset();
}
/* Compute 10^n as double */
static double pow10_int(int n) {
double r = 1.0;
int i;
for (i = 0; i < n; i++) r *= 10.0;
return r;
( run in 1.394 second using v1.01-cache-2.11-cpan-140bd7fdf52 )