Changeset 15330
- Timestamp:
- 04/19/12 23:45:50 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
titan/titan/dvb.h
r15329 r15330 660 660 int i = 0; 661 661 long mjd; 662 struct tm time; 662 struct tm *time = NULL; 663 time_t gmttime = 0; 664 665 time = (struct tm*)malloc(sizeof(struct tm)); 666 if(time == NULL) 667 { 668 err("no mem"); 669 return 0; 670 } 663 671 664 672 memset(&time, 0, sizeof(time)); 665 673 666 674 mjd = ((buf[0] & 0xff) << 8) | (buf[1] & 0xff); 667 time .tm_hour = bcdtoint(buf[2] & 0xff);668 time .tm_min = bcdtoint(buf[3] & 0xff);669 time .tm_sec = bcdtoint(buf[4] & 0xff);670 671 time .tm_year = (int) ((mjd - 15078.2) / 365.25);672 time .tm_mon = (int) ((mjd - 14956.1 - (int) (time.tm_year * 365.25)) / 30.6001);673 time .tm_mday = (int) mjd - 14956 - (int) (time.tm_year * 365.25) - (int) (time.tm_mon * 30.6001);674 if(time .tm_mon == 14 || time.tm_mon == 15) i = 1;675 time .tm_year += i;676 time .tm_mon = time.tm_mon - 2 - i * 12;677 678 time .tm_isdst = 0;679 time .tm_gmtoff = 0;675 time->tm_hour = bcdtoint(buf[2] & 0xff); 676 time->tm_min = bcdtoint(buf[3] & 0xff); 677 time->tm_sec = bcdtoint(buf[4] & 0xff); 678 679 time->tm_year = (int) ((mjd - 15078.2) / 365.25); 680 time->tm_mon = (int) ((mjd - 14956.1 - (int) (time->tm_year * 365.25)) / 30.6001); 681 time->tm_mday = (int) mjd - 14956 - (int) (time->tm_year * 365.25) - (int) (time->tm_mon * 30.6001); 682 if(time->tm_mon == 14 || time->tm_mon == 15) i = 1; 683 time->tm_year += i; 684 time->tm_mon = time->tm_mon - 2 - i * 12; 685 686 time->tm_isdst = 0; 687 time->tm_gmtoff = 0; 680 688 681 689 if(flag == 0) 682 return timegm(&time);690 gmttime = timegm(time); 683 691 else 684 return mktime(&time); 692 gmttime = mktime(time); 693 694 free(time); 695 return gmttime; 685 696 } 686 697
Note: See TracChangeset
for help on using the changeset viewer.