forked from len0rd/rockbox
Move yearday_to_daymonth() to usb_storage.c. It's the only user, this function is pretty specific, and it seems to be the cleanest way to avoid ram usage increases for unrelated targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22259 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
2dc50471ca
commit
ceccec503e
3 changed files with 25 additions and 26 deletions
|
@ -295,6 +295,31 @@ static enum {
|
|||
SENDING_CSW
|
||||
} state = WAITING_FOR_COMMAND;
|
||||
|
||||
static void yearday_to_daymonth(int yd, int y, int *d, int *m)
|
||||
{
|
||||
static const char tnl[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
|
||||
static const char tl[] = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
|
||||
const char *t;
|
||||
int i=0;
|
||||
|
||||
if((y%4 == 0 && y%100 != 0) || y%400 == 0)
|
||||
{
|
||||
t=tl;
|
||||
}
|
||||
else
|
||||
{
|
||||
t=tnl;
|
||||
}
|
||||
|
||||
while(yd >= t[i] && i<12)
|
||||
{
|
||||
yd-=t[i];
|
||||
i++;
|
||||
}
|
||||
*d = yd+1;
|
||||
*m = i;
|
||||
}
|
||||
|
||||
#ifdef TOSHIBA_GIGABEAT_S
|
||||
|
||||
/* The Gigabeat S factory partition table contains invalid values for the
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue