X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;f=yaffs_guts.c;h=b83fa6388a22f7861cc00d89001678d927568584;hb=9f52f17a8607d327642e4585c22fbae42a43285b;hp=41ceb5b526caca8d3a644ca1ae01eeeb55b2b52a;hpb=e12e51da5815d80399ec8f5b0da69c7cd7a0f42e;p=yaffs2.git diff --git a/yaffs_guts.c b/yaffs_guts.c index 41ceb5b..b83fa63 100644 --- a/yaffs_guts.c +++ b/yaffs_guts.c @@ -4902,10 +4902,15 @@ static void yaffs_oh_time_load(u32 *yst_time, u32 *win_time, YTIME_T timeval) u32 lower; lower = timeval & 0xffffffff; - if (sizeof(YTIME_T) > sizeof(u32)) - upper = (timeval >> 32) & 0xffffffff; - else - upper = 0; + /* we have to use #defines here insted of an if statement + otherwise the compiler throws an error saying that + right shift count >= width of type when we are using 32 bit time. + */ + #ifdef CONFIG_YAFFS_USE_32_BIT_TIME_T + upper = 0; + #else + upper = (timeval >> 32) & 0xffffffff; + #endif *yst_time = lower; win_time[0] = lower;