Revision f6503059 hw/mc146818rtc.c
b/hw/mc146818rtc.c | ||
---|---|---|
392 | 392 |
|
393 | 393 |
static void rtc_set_date_from_host(RTCState *s) |
394 | 394 |
{ |
395 |
time_t ti; |
|
396 |
struct tm *tm; |
|
395 |
struct tm tm; |
|
397 | 396 |
int val; |
398 | 397 |
|
399 | 398 |
/* set the CMOS date */ |
400 |
if (rtc_start_date == -1) { |
|
401 |
time(&ti); |
|
402 |
if (rtc_utc) |
|
403 |
tm = gmtime(&ti); |
|
404 |
else |
|
405 |
tm = localtime(&ti); |
|
406 |
} else { |
|
407 |
ti = rtc_start_date; |
|
408 |
tm = gmtime(&ti); |
|
409 |
} |
|
410 |
rtc_set_date(s, tm); |
|
399 |
qemu_get_timedate(&tm, 0); |
|
400 |
rtc_set_date(s, &tm); |
|
411 | 401 |
|
412 |
val = to_bcd(s, (tm->tm_year / 100) + 19);
|
|
402 |
val = to_bcd(s, (tm.tm_year / 100) + 19);
|
|
413 | 403 |
rtc_set_memory(s, REG_IBM_CENTURY_BYTE, val); |
414 | 404 |
rtc_set_memory(s, REG_IBM_PS2_CENTURY_BYTE, val); |
415 | 405 |
} |
Also available in: Unified diff