Sender: rich AT phekda DOT freeserve DOT co DOT uk Message-ID: <3C02AE90.EDB68A46@phekda.freeserve.co.uk> Date: Mon, 26 Nov 2001 21:05:20 +0000 From: Richard Dawe X-Mailer: Mozilla 4.77 [en] (X11; U; Linux 2.2.19 i586) X-Accept-Language: de,fr MIME-Version: 1.0 To: djgpp-workers AT delorie DOT com Subject: Re: RESEND: Patch to computer st_blksize in struct stat References: <200111182235 DOT XAA21129 AT father DOT ludd DOT luth DOT se> <3BF976C8 DOT 9048342 AT phekda DOT freeserve DOT co DOT uk> <9003-Tue20Nov2001084418+0200-eliz AT is DOT elta DOT co DOT il> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Reply-To: djgpp-workers AT delorie DOT com Hello. Eli Zaretskii wrote: > > Richard Dawe wrote: > > > > Unix98 specifies that st_blksize should be a blksize_t not an off_t. > > Does anyone object to this change? Will it break source compatibility? > > It shouldn't break source compatibility, but with today's picky > defaults for GCC warnings you can never know. I think it's best to > write a short test program and see whether it compiles. I compiled the following program with -Wall -g against: * DJGPP 2.03 with -Wall -g, * DJGPP CVS with my blksize_t patch and -DWE_HAVE_BLKSIZE_T. No warnings or errors were generated using gcc 3.0.2 (NB: not the latest patched release of gcc 3.0.2). Please let me know if I've missed out any tests for source compatibility (I couldn't think of any more). Thanks, bye, Rich =] -- Richard Dawe http://www.phekda.freeserve.co.uk/richdawe/ #include #include #include #include int main (void) { struct stat s; off_t foo = 123; off_t *po = NULL; #ifdef WE_HAVE_BLKSIZE_T blksize_t bar = 456; blksize_t *pb = NULL; #endif int i = 789; int *pi = NULL; memset(&s, 0, sizeof(s)); s.st_blksize = foo; s.st_blksize = i; #ifdef WE_HAVE_BLKSIZE_T printf("foo was %d\n", foo); foo = bar; printf("foo is now %d\n", foo); printf("i was %d\n", i); i = bar; printf("i is now %d\n", i); pb = &i; pb = &foo; pi = &bar; po = &bar; #endif pi = &foo; po = &i; return(EXIT_SUCCESS); }