Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Fwd: Problem with SQLite 3.7.6

On Mon, 18 Apr 2011, Matthias Drochner wrote: said:
Around line 24410 of sqlite3.c (in sqlite version appears
this code:
  24416 #define osOpen      ((int(*)(const char*,int,...))aSyscall[0].pCurrent)

This is the fixed version of sqlite3. The bug was present
in 3.7.6 and

Er, I meant, not,, but your comment is probably still valid.

However, NetBSD declares open() as
   int open(const char *, int, mode_t);
NetBSD is not compliant here

Sure? What version are you referring to?
Even 1.6Q (which I run on some DECstation) has the varargs declaration.

I foolishly believed the man page in NetBSD-current, which says:

         #include <fcntl.h>

         open(const char *path, int flags, mode_t mode);

However, the actual <fcntl.h> header declares open the varargs way:

    int     open(const char *, int, ...);

it would probably make sense for sqlite to add an autoconf test for this, and to define osOpen with either "..." or "mode_t"

I'd say "don't panic", unless an OS shows up which gets it really wrong and which is worth supporting. There was a bug and it was a quite interesting bug, but it should be OK now.


--apb (Alan Barrett)

Home | Main Index | Thread Index | Old Index