LCOV - code coverage report
Current view: top level - Modules - ldapmodule.c (source / functions) Hit Total Coverage
Test: python-ldap LCOV report Lines: 17 21 81.0 %
Date: 2017-12-08 13:03:20 Functions: 3 3 100.0 %

          Line data    Source code
       1             : /* See https://www.python-ldap.org/ for details. */
       2             : 
       3             : #include "common.h"
       4             : #include "constants.h"
       5             : #include "functions.h"
       6             : #include "ldapcontrol.h"
       7             : 
       8             : #include "LDAPObject.h"
       9             : 
      10             : #if PY_MAJOR_VERSION >= 3
      11             : PyMODINIT_FUNC PyInit__ldap(void);
      12             : #else
      13             : PyMODINIT_FUNC init_ldap(void);
      14             : #endif
      15             : 
      16             : #define _STR(x)        #x
      17             : #define STR(x) _STR(x)
      18             : 
      19             : static char version_str[] = STR(LDAPMODULE_VERSION);
      20             : static char author_str[] = STR(LDAPMODULE_AUTHOR);
      21             : static char license_str[] = STR(LDAPMODULE_LICENSE);
      22             : 
      23             : static void
      24           1 : init_pkginfo( PyObject* m )
      25             : {
      26           1 :         PyModule_AddStringConstant(m, "__version__", version_str);
      27           1 :         PyModule_AddStringConstant(m, "__author__", author_str);
      28           1 :         PyModule_AddStringConstant(m, "__license__", license_str);
      29           1 : }
      30             : 
      31             : /* dummy module methods */
      32             : static PyMethodDef methods[]  = {
      33             :         { NULL, NULL }
      34             : };
      35             : 
      36             : /* module initialisation */
      37             : 
      38             : 
      39             : /* Common initialization code */
      40           1 : PyObject* init_ldap_module(void)
      41             : {
      42             :         PyObject *m, *d;
      43             : 
      44             :         /* Create the module and add the functions */
      45             : #if PY_MAJOR_VERSION >= 3
      46             :         static struct PyModuleDef ldap_moduledef = {
      47             :                 PyModuleDef_HEAD_INIT,
      48             :                 "_ldap",              /* m_name */
      49             :                 "",                   /* m_doc */
      50             :                 -1,                   /* m_size */
      51             :                 methods,              /* m_methods */
      52             :         };
      53           1 :         m = PyModule_Create(&ldap_moduledef);
      54             : #else
      55             :         m = Py_InitModule("_ldap", methods);
      56             : #endif
      57             :         /* Initialize LDAP class */
      58           1 :         if (PyType_Ready(&LDAP_Type) < 0) {
      59           0 :                 Py_DECREF(m);
      60           0 :                 return NULL;
      61             :         }
      62             : 
      63             :         /* Add some symbolic constants to the module */
      64           1 :         d = PyModule_GetDict(m);
      65             : 
      66           1 :         init_pkginfo(m);
      67             : 
      68           1 :         if (LDAPinit_constants(m) == -1) {
      69           0 :                 return NULL;
      70             :         }
      71             : 
      72           1 :         LDAPinit_functions(d);
      73           1 :         LDAPinit_control(d);
      74             : 
      75             :         /* Check for errors */
      76           1 :         if (PyErr_Occurred())
      77           0 :                 Py_FatalError("can't initialize module _ldap");
      78             : 
      79           1 :         return m;
      80             : }
      81             : 
      82             : 
      83             : #if PY_MAJOR_VERSION < 3
      84             : PyMODINIT_FUNC init_ldap() {
      85             :     init_ldap_module();
      86             : }
      87             : #else
      88           1 : PyMODINIT_FUNC PyInit__ldap() {
      89           1 :     return init_ldap_module();
      90             : }
      91             : #endif

Generated by: LCOV version 1.12