mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-13 08:13:22 +00:00
Grab timezone from system config
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1526 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -650,6 +650,9 @@ const int lastditch;
|
|||||||
register int load_result;
|
register int load_result;
|
||||||
|
|
||||||
stdname = name;
|
stdname = name;
|
||||||
|
#ifdef DEBUG
|
||||||
|
fprintf(stderr, "tzparse(): loading default rules\n");
|
||||||
|
#endif
|
||||||
load_result = tzload(TZDEFRULES, sp);
|
load_result = tzload(TZDEFRULES, sp);
|
||||||
if (load_result != 0)
|
if (load_result != 0)
|
||||||
sp->leapcnt = 0; /* so, we're off a little */
|
sp->leapcnt = 0; /* so, we're off a little */
|
||||||
@@ -858,7 +861,14 @@ ast_tzsetwall P((void))
|
|||||||
}
|
}
|
||||||
memset(cur_state,0,sizeof(struct state));
|
memset(cur_state,0,sizeof(struct state));
|
||||||
if (tzload((char *) NULL, cur_state) != 0)
|
if (tzload((char *) NULL, cur_state) != 0)
|
||||||
|
#ifdef DEBUG
|
||||||
|
{
|
||||||
|
fprintf(stderr, "ast_tzsetwall: calling gmtload()\n");
|
||||||
|
#endif
|
||||||
gmtload(cur_state);
|
gmtload(cur_state);
|
||||||
|
#ifdef DEBUG
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (last_lclptr)
|
if (last_lclptr)
|
||||||
last_lclptr->next = cur_state;
|
last_lclptr->next = cur_state;
|
||||||
@@ -920,8 +930,14 @@ ast_tzset P((const char *name))
|
|||||||
cur_state->ttis[0].tt_abbrind = 0;
|
cur_state->ttis[0].tt_abbrind = 0;
|
||||||
(void) strcpy(cur_state->chars, gmt);
|
(void) strcpy(cur_state->chars, gmt);
|
||||||
} else if (tzload(name, cur_state) != 0)
|
} else if (tzload(name, cur_state) != 0)
|
||||||
if (name[0] == ':' || tzparse(name, cur_state, FALSE) != 0)
|
if (name[0] == ':') {
|
||||||
(void) gmtload(cur_state);
|
(void) gmtload(cur_state);
|
||||||
|
} else if (tzparse(name, cur_state, FALSE) != 0) {
|
||||||
|
/* If not found, load localtime */
|
||||||
|
if (tzload("/etc/localtime", cur_state) != 0)
|
||||||
|
/* Last ditch, get GMT */
|
||||||
|
(void) gmtload(cur_state);
|
||||||
|
}
|
||||||
strncpy(cur_state->name,name,sizeof(cur_state->name));
|
strncpy(cur_state->name,name,sizeof(cur_state->name));
|
||||||
if (last_lclptr)
|
if (last_lclptr)
|
||||||
last_lclptr->next = cur_state;
|
last_lclptr->next = cur_state;
|
||||||
@@ -971,6 +987,18 @@ const char * const zone;
|
|||||||
sp = sp->next;
|
sp = sp->next;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (sp == NULL) {
|
||||||
|
ast_tzsetwall();
|
||||||
|
sp = lclptr;
|
||||||
|
/* Find the default zone record */
|
||||||
|
while (sp != NULL) {
|
||||||
|
if (sp->name[0] == '\0')
|
||||||
|
break;
|
||||||
|
sp = sp->next;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Last ditch effort, use GMT */
|
||||||
if (sp == NULL) {
|
if (sp == NULL) {
|
||||||
gmtsub(timep, offset, tmp, zone);
|
gmtsub(timep, offset, tmp, zone);
|
||||||
return;
|
return;
|
||||||
|
Reference in New Issue
Block a user