#define SMALLEST(a, b) (((a) < (b)) ? (a) : (b)) #define BIGGEST(a, b) (((a) > (b)) ? (a) : (b))
struct ttinfo
{ /* time type information */
int32 tt_utoff; /* UT offset in seconds */ bool tt_isdst; /* used to set tm_isdst */ int tt_desigidx; /* abbreviation list index */ bool tt_ttisstd; /* transition is std time */ bool tt_ttisut; /* transition is UT */
};
struct lsinfo
{ /* leap second information */
pg_time_t ls_trans; /* transition time */
int64 ls_corr; /* correction to apply */
};
struct state
{ int leapcnt; int timecnt; int typecnt; int charcnt; bool goback; bool goahead;
pg_time_t ats[TZ_MAX_TIMES]; unsignedchar types[TZ_MAX_TIMES]; struct ttinfo ttis[TZ_MAX_TYPES]; char chars[BIGGEST(BIGGEST(TZ_MAX_CHARS + 1, 4/* sizeof gmt */ ),
(2 * (TZ_STRLEN_MAX + 1)))]; struct lsinfo lsis[TZ_MAX_LEAPS];
/* *Thetimetypetouseforearlytimesorifnotransitions.Itisalways *zeroforrecenttzdbreleases.Itmightbenonzerofordatafromtzdb *2018eorearlier.
*/ int defaulttype;
};
struct pg_tz
{ /* TZname contains the canonically-cased name of the timezone */ char TZname[TZ_STRLEN_MAX + 1]; struct state state;
};
/* in pgtz.c */ externint pg_open_tzfile(constchar *name, char *canonname);
/* in localtime.c */ externint tzload(constchar *name, char *canonname, struct state *sp, bool doextend); externbool tzparse(constchar *name, struct state *sp, bool lastditch);
#endif/* _PGTZ_H */
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-08-04)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.