The open() system call in f8 really broken...
Chip Coldwell
coldwell at redhat.com
Thu Aug 16 22:29:12 UTC 2007
On Thu, 16 Aug 2007, Jakub Jelinek wrote:
> On Thu, Aug 16, 2007 at 04:18:50PM -0500, Eric Sandeen wrote:
> > Hmm is that what killed my e2sfprogs build? This looks like a bug in
> > the check:
> >
> >
> > 195 memset(data, 0, sizeof(struct test_private_data));
> > 196 data->magic = EXT2_ET_MAGIC_TEST_IO_CHANNEL;
> > 197 if (test_io_backing_manager) {
> > 198 retval = test_io_backing_manager->open(name, flags,
> > 199 &data->real);
> > 200 if (retval)
> > 201 goto cleanup;
> > 202 } else
> > 203 data->real = 0;
> >
> > test_io.c: In function 'test_open':
> > test_io.c:198: error: expected identifier before '(' token
>
> This has been mentioned here several times already in other threads.
Yup. One of those was mine (emacs).
> In this case you are not calling open(1), but some function pointer.
> And therefore it is undesirable to let it be expanded as function-like
> macro (which POSIX allows).
POSIX allows all sorts of things that one shouldn't do. This change is
going to break a lot of existing code. I hope it's for a real benefit.
"open" has to be the single most overloaded word in programming. I
personally don't think we should mess with it.
Chip
--
Charles M. "Chip" Coldwell
Senior Software Engineer
Red Hat, Inc
978-392-2426
More information about the Fedora-maintainers
mailing list