]> granicus.if.org Git - python/commitdiff
Use PyModule_AddIntConstant() instead of creating a private helper function.
authorFred Drake <fdrake@acm.org>
Thu, 14 Feb 2002 06:59:26 +0000 (06:59 +0000)
committerFred Drake <fdrake@acm.org>
Thu, 14 Feb 2002 06:59:26 +0000 (06:59 +0000)
This also avoids directly accessing the module'd __dict__.

Modules/resource.c

index 1924104c777b7778c16ddc1f19cc2bb6560e712a..3d553b1e8deb9ecc873e6e0e102b68424705263b 100644 (file)
@@ -157,88 +157,80 @@ resource_methods[] = {
 
 /* Module initialization */
 
-static void
-ins(PyObject *dict, char *name, int value)
-{
-       PyObject *v = PyInt_FromLong((long) value);
-       if (v) {
-               PyDict_SetItemString(dict, name, v);
-               Py_DECREF(v);
-       }
-       /* errors will be checked by initresource() */
-}
-
 DL_EXPORT(void)
 initresource(void)
 {
-       PyObject *m, *d;
+       PyObject *m;
 
        /* Create the module and add the functions */
        m = Py_InitModule("resource", resource_methods);
 
        /* Add some symbolic constants to the module */
-       d = PyModule_GetDict(m);
-       ResourceError = PyErr_NewException("resource.error", NULL, NULL);
-       PyDict_SetItemString(d, "error", ResourceError);
+       if (ResourceError == NULL) {
+               ResourceError = PyErr_NewException("resource.error",
+                                                  NULL, NULL);
+       }
+       Py_INCREF(ResourceError);
+       PyModule_AddObject(m, "error", ResourceError);
 
        /* insert constants */
 #ifdef RLIMIT_CPU
-       ins(d, "RLIMIT_CPU", RLIMIT_CPU);
+       PyModule_AddIntConstant(m, "RLIMIT_CPU", RLIMIT_CPU);
 #endif
 
 #ifdef RLIMIT_FSIZE
-       ins(d, "RLIMIT_FSIZE", RLIMIT_FSIZE);
+       PyModule_AddIntConstant(m, "RLIMIT_FSIZE", RLIMIT_FSIZE);
 #endif
 
 #ifdef RLIMIT_DATA
-       ins(d, "RLIMIT_DATA", RLIMIT_DATA);
+       PyModule_AddIntConstant(m, "RLIMIT_DATA", RLIMIT_DATA);
 #endif
 
 #ifdef RLIMIT_STACK
-       ins(d, "RLIMIT_STACK", RLIMIT_STACK);
+       PyModule_AddIntConstant(m, "RLIMIT_STACK", RLIMIT_STACK);
 #endif
 
 #ifdef RLIMIT_CORE
-       ins(d, "RLIMIT_CORE", RLIMIT_CORE);
+       PyModule_AddIntConstant(m, "RLIMIT_CORE", RLIMIT_CORE);
 #endif
 
 #ifdef RLIMIT_NOFILE
-       ins(d, "RLIMIT_NOFILE", RLIMIT_NOFILE);
+       PyModule_AddIntConstant(m, "RLIMIT_NOFILE", RLIMIT_NOFILE);
 #endif
 
 #ifdef RLIMIT_OFILE
-       ins(d, "RLIMIT_OFILE", RLIMIT_OFILE);
+       PyModule_AddIntConstant(m, "RLIMIT_OFILE", RLIMIT_OFILE);
 #endif
 
 #ifdef RLIMIT_VMEM
-       ins(d, "RLIMIT_VMEM", RLIMIT_VMEM);
+       PyModule_AddIntConstant(m, "RLIMIT_VMEM", RLIMIT_VMEM);
 #endif
 
 #ifdef RLIMIT_AS
-       ins(d, "RLIMIT_AS", RLIMIT_AS);
+       PyModule_AddIntConstant(m, "RLIMIT_AS", RLIMIT_AS);
 #endif
 
 #ifdef RLIMIT_RSS
-       ins(d, "RLIMIT_RSS", RLIMIT_RSS);
+       PyModule_AddIntConstant(m, "RLIMIT_RSS", RLIMIT_RSS);
 #endif
 
 #ifdef RLIMIT_NPROC
-       ins(d, "RLIMIT_NPROC", RLIMIT_NPROC);
+       PyModule_AddIntConstant(m, "RLIMIT_NPROC", RLIMIT_NPROC);
 #endif
 
 #ifdef RLIMIT_MEMLOCK
-       ins(d, "RLIMIT_MEMLOCK", RLIMIT_MEMLOCK);
+       PyModule_AddIntConstant(m, "RLIMIT_MEMLOCK", RLIMIT_MEMLOCK);
 #endif
 
 #ifdef RUSAGE_SELF
-       ins(d, "RUSAGE_SELF", RUSAGE_SELF);
+       PyModule_AddIntConstant(m, "RUSAGE_SELF", RUSAGE_SELF);
 #endif
 
 #ifdef RUSAGE_CHILDREN
-       ins(d, "RUSAGE_CHILDREN", RUSAGE_CHILDREN);
+       PyModule_AddIntConstant(m, "RUSAGE_CHILDREN", RUSAGE_CHILDREN);
 #endif
 
 #ifdef RUSAGE_BOTH
-       ins(d, "RUSAGE_BOTH", RUSAGE_BOTH);
+       PyModule_AddIntConstant(m, "RUSAGE_BOTH", RUSAGE_BOTH);
 #endif
 }