Lines Matching refs:entry

344 	 * The entry below combines two previously separate entries for
489 * to search the hash table for the appropriate timezone entry. If
490 * the entry for zonename is found in the hash table, return a pointer
491 * to the entry.
854 init_state(state_t *entry, const char *zonename, int vers)
858 entry->zonename = NULL;
859 entry->chars = NULL;
868 entry->vers = vers;
869 entry->max_vers = V2;
871 entry->ats = (timeINT_t *)(entry + 1);
872 entry->prev = (prev_t *)(entry->ats + MAX_TIMES(vers));
873 entry->types = (uchar_t *)(entry->prev + MAX_TIMES(vers));
875 entry->zonerules = ZONERULES_INVALID;
876 entry->charsbuf_size = TZ_MAX_CHARS;
877 entry->chars = charsbuf;
878 entry->default_tzname0 = _tz_gmt;
879 entry->default_tzname1 = _tz_spaces;
880 entry->zonename = newzonename;
881 entry->last_ats_idx = -1;
883 entry->invalid = !TZSYNC_READY();
889 fini_state(state_t *entry)
891 libc_free((char *)entry->zonename);
892 libc_free((char *)entry->chars);
909 state_t *entry, *new_entry, *unused_entry;
939 entry = find_zone(zonename);
941 if (entry != NULL && entry->invalid) {
942 if (entry->zonerules == ZONEINFO && check_zoneinfo(entry)) {
946 unreg_zone(entry);
947 fini_state(entry);
948 new_entry = entry;
949 entry = NULL;
951 entry->invalid = 0;
955 if (entry == NULL) {
970 entry = find_zone(zonename);
974 if (entry != NULL &&
975 entry->zonerules == ZONEINFO &&
976 entry->vers < vers && entry->vers < entry->max_vers) {
981 unreg_zone(entry);
982 fini_state(entry);
987 new_entry = realloc(entry, STATE_SZ(vers));
990 entry = NULL;
994 * If someone has allocated the entry while
998 entry = find_zone(zonename);
999 if (entry != NULL) {
1000 if (entry->vers < vers) {
1001 unreg_zone(entry);
1002 fini_state(entry);
1003 unused_entry = entry;
1004 entry = NULL;
1012 if (entry != NULL)
1018 * new_entry points newly allocated entry. If it was NULL, it
1021 if (entry == NULL) {
1024 * No timezone entry found in hash table, so load it,
1025 * and create a new timezone entry.
1028 entry = new_entry;
1030 if (entry == NULL || init_state(entry, zonename, vers) < 0) {
1043 return (entry);
1068 if (load_zoneinfo(zonename + 1, entry) != 0) {
1069 (void) load_posixinfo(_posix_gmt0, entry);
1071 } else if (load_posixinfo(zonename, entry) != 0) {
1072 if (load_zoneinfo(zonename, entry) != 0) {
1073 (void) load_posixinfo(_posix_gmt0, entry);
1076 reg_zone(entry);
1079 curr_zonerules = entry->zonerules;
1080 namecache = entry->zonename;
1081 daylight = entry->daylight;
1082 lclzonep = entry;
2757 /* no TZ entry in the file */
2830 * allocate new entry. This entry is never freed, so use lmalloc