Definition at line 939 of file localtime.c.
940{
950
953 {
954
958 }
959 else
960 {
962 {
967 return false;
970 }
971 else
972 {
975 }
977 return false;
980 return false;
981 }
984 return false;
985
986
987
988
989
990
991
992
993
994
996 sp->goback =
sp->goahead =
false;
998
1000 {
1002 {
1006 return false;
1009 }
1010 else
1011 {
1015 }
1017 return false;
1020 return false;
1022 {
1025 return false;
1026 }
1027 else
1032 {
1035 int year;
1041
1044 return false;
1046 return false;
1048 return false;
1050 return false;
1052
1053
1054
1055
1058 sp->defaulttype = 0;
1062
1063 do
1064 {
1067
1070 {
1072 break;
1073 }
1075
1078 {
1086
1088 {
1090
1093 }
1099 {
1101 break;
1111 {
1114 }
1115 }
1118 break;
1120 }
1123 {
1124 sp->ttis[0] =
sp->ttis[1];
1126 }
1128 sp->goback =
sp->goahead =
true;
1129 }
1130 else
1131 {
1138
1140 return false;
1141
1142
1143
1144
1146 for (
i = 0;
i <
sp->timecnt; ++
i)
1147 {
1149 if (!
sp->ttis[
j].tt_isdst)
1150 {
1152 -
sp->ttis[
j].tt_utoff;
1153 break;
1154 }
1155 }
1157 for (
i = 0;
i <
sp->timecnt; ++
i)
1158 {
1160 if (
sp->ttis[
j].tt_isdst)
1161 {
1163 -
sp->ttis[
j].tt_utoff;
1164 break;
1165 }
1166 }
1167
1168
1169
1170
1173
1174
1175
1176
1177
1178 for (
i = 0;
i <
sp->timecnt; ++
i)
1179 {
1181 sp->types[
i] =
sp->ttis[
j].tt_isdst;
1182 if (
sp->ttis[
j].tt_ttisut)
1183 {
1184
1185 }
1186 else
1187 {
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199 if (
isdst && !
sp->ttis[
j].tt_ttisstd)
1200 {
1203 }
1204 else
1205 {
1208 }
1209 }
1211 if (
sp->ttis[
j].tt_isdst)
1213 else
1215 }
1216
1217
1218
1219
1223 sp->defaulttype = 0;
1224 }
1225 }
1226 else
1227 {
1232 sp->defaulttype = 0;
1233 }
1240 {
1243 }
1244 return true;
1245}
memcpy(sums, checksumBaseOffsets, sizeof(checksumBaseOffsets))
static const char * getqzname(const char *strp, const int delim)
static bool increment_overflow_time(pg_time_t *tp, int_fast32_t j)
static void init_ttinfo(struct ttinfo *s, int_fast32_t utoff, bool isdst, int desigidx)
static int_fast32_t transtime(const int year, const struct rule *const rulep, const int_fast32_t offset)
static const char * getzname(const char *strp)
static const int year_lengths[2]
static const char * getrule(const char *strp, struct rule *const rulep)
static const char * getoffset(const char *strp, int_fast32_t *const offsetp)
References charcnt, EPOCH_YEAR, fb(), getoffset(), getqzname(), getrule(), getzname(), i, increment_overflow_time(), init_ttinfo(), isleap, j, memcpy(), name, SECSPERDAY, SECSPERHOUR, start, timecnt, transtime(), TZ_MAX_TIMES, TZDEFRULESTRING, year_lengths, and YEARSPERREPEAT.
Referenced by gmtload(), pg_load_tz(), pg_tzset(), and tzloadbody().