> >> Having SQLITE_TRANSIENT point to a real function is perhaps a
> >> good idea.  The problem is such a change would break backwards
> >> compatibility of the API.  Somebody who compiled against an
> >> older SQLite and who drops in a newer DLL with this change will
> >> find that their code no longer works.  This is something we work
> >> very hard to avoid.
> 
> > You could redefine SQLITE_TRANSIENT and still check for the older -1
> > value in the SQLite code (where you've got better control what the
> > compiler does).

> I don't know if this is the right place to post suggestions to the
> SQLite developers, but why don't you do something like
> #define SQLITE_COMPAT_MODE
> and do these things like making SQLITE_TRANSIENT point to real
> function under #ifndef SQLITE_COMPAT_MODE? So the older users can
> compile under SQLITE_COMPAT_MODE and avoid having problems, while
> newly written code can rely on proper, clean code?

By whose definition of proper code?
It would be a lot of effort to "solve" a problem that does not exist.

>>>> which is diagnosed, though only as a warning, by Sun CC

It's just a harmless warning produced by the cast when compiled by 
a certain overly pedantic C++ compiler. The proposed typedef offered 
by the original poster seems like a reasonable appeasement:

 -#define SQLITE_STATIC      ((void(*)(void *))0)
 -#define SQLITE_TRANSIENT   ((void(*)(void *))-1)
 +typedef void (*sqlite3_destructor_type)(void*);
 +#define SQLITE_STATIC      ((sqlite3_destructor_type)0)
 +#define SQLITE_TRANSIENT   ((sqlite3_destructor_type)-1)

But the typedef should not be required.


 
____________________________________________________________________________________
Never miss an email again!
Yahoo! Toolbar alerts you the instant new Mail arrives.
http://tools.search.yahoo.com/toolbar/features/mail/

-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to