I'd like to use the authorizer callback together with the new user authentication module introduced in SQLite version 3.8.7. However, I experience problems in compiling my application using a SQLite library compiled with SQLITE_USER_AUTHENTICATION defined.

sqlite3.h defines the sqlite3_set_authorizer as

SQLITE_API int sqlite3_set_authorizer(
  sqlite3*,
  int (*xAuth)(void*,int,const char*,const char*,const char*,const char*),
  void *pUserData
);

However, if SQLITE_USER_AUTHENTICATION is defined the xAuth function takes an additional 7th parameter to pass the name of the authenticated user. My xAuth callback function is now implemented with 7 parameters, but I get an error message on compiling due to the - now wrong - definition in sqlite3.h:

error C2664: 'sqlite3_set_authorizer' : cannot convert parameter 2 from 'int (__cdecl *)(void *,int,const char *,const char *,const char *,const char *,const char *)' to 'int (__cdecl *)(void *,int,const char *,const char *,const char *,const char *)'

How can I overcome this problem?

Shouldn't sqlite3.h define the function pointer argument of sqlite3_set_authorizer with an additional const char* parameter, in case SQLITE_USER_AUTHENTICATION is defined?

Regards,

Ulrich

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to