Si leéis el artículo, veréis que se trata de un fallo bastante tonto, pero difícil de detectar.
La biblioteca está escrita en C, donde no existe un tipo de dato BOOLEAN como en Pascal (o al menos no existía antes del C99, y aunque desde este último ya existe por lo que sé no se diferencia mucho al método antiguo). C usa simplemente un valor entero, donde verdadero es "cualquier valor diferente de cero".
Al parecer, y por lo que leo, alguien puso
Código:
if (conexion (parametros)) todo_bien (); else error_en_conexion ();
donde debería poner
Código:
if (conexion (parametros) >= 0) todo_bien (); else error_en_conexion ();
Como digo es un error bastante tonto, y más teniendo en cuenta que tradicionalmente en C un valor menor de cero suele identificarse como un error.