Martin Michlmayr <[EMAIL PROTECTED]> writes: > * Matthijs Mohlmann <[EMAIL PROTECTED]> [2006-03-11 16:06]: >> > There are mor errors when compiling with 4.1, e.g: >> > defrag.c: In function 'walk_zone_ind': >> > defrag.c:297: warning: cast increases required alignment of target type > ... >> When I build defrag, (with gcc 4.1) then I see these errors: > > The above is from mips. Do you think you can work out from the code > and the warnings what's wrong? I can test a patch. > >> cc1: warnings being treated as errors >> e2dump.c: In function ?dump_super?: >> e2dump.c:474: warning: dereferencing type-punned pointer will break > > I get that on i386 and can confirm that your patch works, thanks. > -- > Martin Michlmayr > http://www.cyrius.com/
Please check again that the patch works. Imho the patch is completly broken and should give segfaults or completly random results. --------------------[ linux/ext2_fs.h ]-------------------- struct ext2_super_block { __u32 s_mtime; /* Mount time */ __u32 s_wtime; /* Write time */ } --------------------[ time.h ]-------------------- char *ctime(const time_t *timep); --------------------[ patch ]-------------------- printf("mount time:%s", - ctime ((time_t *) &s.s_mtime)); /* Mount time */ + ctime ((time_t *) s.s_mtime)); /* Mount time */ The old prints s.s_mtime while the new code prints the time_t s.s_mtime points to. That can't be right. I think the correct way to fix this is: time_t t = s.s_mtime; printf("mount time:%s", ctime (&t)); MfG Goswin -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]