summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_fattime.c
Commit message (Collapse)AuthorAgeFilesLines
* Use ISO C99 integer types in sys/kern where possible.ed2010-06-211-3/+3
| | | | | | There are only about 100 occurences of the BSD-specific u_int*_t datatypes in sys/kern. The ISO C99 integer types are used here more often.
* Better naming of fattime conversion functions, they do convert to timespecphk2006-10-241-5/+8
| | | | | | | after all. Add 'utc' argument to control if fattimestamps are on UTC or local timezone calendar.
* Add two new functions to convert FAT filesystem format timestampsphk2006-10-221-0/+304
to and from struct timespec, to replace the crummy conversion function which have been copy&pasted into three different filesystems already. Apart from general crummyness as indicated by code like: for (year = 1970;; year++) { inc = year & 0x03 ? 365 : 366; if (days < inc) break; days -= inc; } They also contain specialized crummyness which tries to compensate for the general crummyness by caching recent conversion results, with no regard for locking or consistency. These replacement functions are smaller, O(1) and handle the Y2.1K leap-year correctly. Ideally, these functions should live in a module of their own, which the three offending filesystems would depend on, but the size is 877 bytes of code (on i386), so that would be false economy.
OpenPOWER on IntegriCloud