Definition at line 937 of file localtime.c.
938{
948
951 {
952
956 }
957 else
958 {
960 {
965 return false;
968 }
969 else
970 {
973 }
975 return false;
978 return false;
979 }
982 return false;
983
984
985
986
987
988
989
990
991
992
994 sp->goback =
sp->goahead =
false;
996
998 {
1000 {
1004 return false;
1007 }
1008 else
1009 {
1013 }
1015 return false;
1018 return false;
1020 {
1023 return false;
1024 }
1025 else
1030 {
1033 int year;
1039
1042 return false;
1044 return false;
1046 return false;
1048 return false;
1050
1051
1052
1053
1056 sp->defaulttype = 0;
1060
1061 do
1062 {
1065
1068 {
1070 break;
1071 }
1073
1076 {
1084
1086 {
1088
1091 }
1097 {
1099 break;
1109 {
1112 }
1113 }
1116 break;
1118 }
1121 {
1122 sp->ttis[0] =
sp->ttis[1];
1124 }
1126 sp->goback =
sp->goahead =
true;
1127 }
1128 else
1129 {
1136
1138 return false;
1139
1140
1141
1142
1144 for (
i = 0;
i <
sp->timecnt; ++
i)
1145 {
1147 if (!
sp->ttis[
j].tt_isdst)
1148 {
1150 -
sp->ttis[
j].tt_utoff;
1151 break;
1152 }
1153 }
1155 for (
i = 0;
i <
sp->timecnt; ++
i)
1156 {
1158 if (
sp->ttis[
j].tt_isdst)
1159 {
1161 -
sp->ttis[
j].tt_utoff;
1162 break;
1163 }
1164 }
1165
1166
1167
1168
1171
1172
1173
1174
1175
1176 for (
i = 0;
i <
sp->timecnt; ++
i)
1177 {
1179 sp->types[
i] =
sp->ttis[
j].tt_isdst;
1180 if (
sp->ttis[
j].tt_ttisut)
1181 {
1182
1183 }
1184 else
1185 {
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197 if (
isdst && !
sp->ttis[
j].tt_ttisstd)
1198 {
1201 }
1202 else
1203 {
1206 }
1207 }
1209 if (
sp->ttis[
j].tt_isdst)
1211 else
1213 }
1214
1215
1216
1217
1221 sp->defaulttype = 0;
1222 }
1223 }
1224 else
1225 {
1230 sp->defaulttype = 0;
1231 }
1238 {
1241 }
1242 return true;
1243}
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, name, SECSPERDAY, SECSPERHOUR, start, timecnt, transtime(), TZ_MAX_TIMES, TZDEFRULESTRING, year_lengths, and YEARSPERREPEAT.
Referenced by gmtload(), pg_load_tz(), pg_tzset(), and tzloadbody().