]> granicus.if.org Git - python/commitdiff
Exhibit good form in C code: always provide docstrings in method tables, and
authorFred Drake <fdrake@acm.org>
Sat, 17 Nov 2001 06:50:42 +0000 (06:50 +0000)
committerFred Drake <fdrake@acm.org>
Sat, 17 Nov 2001 06:50:42 +0000 (06:50 +0000)
always fill in all slots of table entries.
Fixed a few minor markup errors.

Doc/ext/embedding.tex
Doc/ext/extending.tex
Doc/ext/newtypes.tex

index 90663dc346011125d35cd537017b52c1e9f406f9..453a9392817c646bba5b88c928c6f204cde468b0 100644 (file)
@@ -231,9 +231,10 @@ emb_numargs(PyObject *self, PyObject *args)
     return Py_BuildValue("i", numargs);
 }
 
-static PyMethodDef EmbMethods[]={
-    {"numargs", emb_numargs, METH_VARARGS},
-    {NULL,      NULL}
+static PyMethodDef EmbMethods[] = {
+    {"numargs", emb_numargs, METH_VARARGS,
+     "Return the number of arguments received by the process."},
+    {NULL, NULL, 0, NULL}
 };
 \end{verbatim}
 
index 6df443c50b5353f5050b365be8124c2c45da7d38..49a561c359e086415f570f3494e6b8c973f9a512 100644 (file)
@@ -215,7 +215,7 @@ the error checking for now):
 
 \begin{verbatim}
 void
-initspam()
+initspam(void)
 {
     PyObject *m, *d;
 
@@ -308,9 +308,10 @@ table'':
 \begin{verbatim}
 static PyMethodDef SpamMethods[] = {
     ...
-    {"system",  spam_system, METH_VARARGS},
+    {"system",  spam_system, METH_VARARGS,
+     "Execute a shell command."},
     ...
-    {NULL,      NULL}        /* Sentinel */
+    {NULL, NULL, 0, NULL}        /* Sentinel */
 };
 \end{verbatim}
 
@@ -340,7 +341,7 @@ the module file:
 
 \begin{verbatim}
 void
-initspam()
+initspam(void)
 {
     (void) Py_InitModule("spam", SpamMethods);
 }
@@ -992,12 +993,13 @@ static PyMethodDef keywdarg_methods[] = {
      * only take two PyObject* parameters, and keywdarg_parrot() takes
      * three.
      */
-    {"parrot", (PyCFunction)keywdarg_parrot, METH_VARARGS|METH_KEYWORDS},
-    {NULL,  NULL}   /* sentinel */
+    {"parrot", (PyCFunction)keywdarg_parrot, METH_VARARGS|METH_KEYWORDS,
+     "Print a lovely skit to standard output."},
+    {NULL, NULL, 0, NULL}   /* sentinel */
 };
 
 void
-initkeywdarg()
+initkeywdarg(void)
 {
   /* Create the module and add the functions */
   Py_InitModule("keywdarg", keywdarg_methods);
@@ -1590,7 +1592,7 @@ the C API pointer array:
 
 \begin{verbatim}
 void
-initspam()
+initspam(void)
 {
     PyObject *m;
     static void *PySpam_API[PySpam_API_pointers];
@@ -1614,8 +1616,8 @@ initspam()
 }
 \end{verbatim}
 
-Note that \code{PySpam_API} is declared \code{static}; otherwise
-the pointer array would disappear when \code{initspam} terminates!
+Note that \code{PySpam_API} is declared \keyword{static}; otherwise
+the pointer array would disappear when \function{initspam()} terminates!
 
 The bulk of the work is in the header file \file{spammodule.h},
 which looks like this:
@@ -1679,7 +1681,7 @@ function:
 
 \begin{verbatim}
 void
-initclient()
+initclient(void)
 {
     PyObject *m;
 
index c8f7c6cb196bc0c4e3c25564f5a078ee5208a2fb..17e2b256e5a061c96c16725cb1853cd206ad02e9 100644 (file)
@@ -77,8 +77,9 @@ static PyTypeObject noddy_NoddyType = {
 };
 
 static PyMethodDef noddy_methods[] = {
-    { "new_noddy", noddy_new_noddy, METH_VARARGS },
-    {NULL, NULL}
+    {"new_noddy", noddy_new_noddy, METH_VARARGS,
+     "Create a new Noddy object."},
+    {NULL, NULL, 0, NULL}
 };
 
 DL_EXPORT(void)
@@ -581,9 +582,11 @@ Here is an example:
 
 \begin{verbatim}
 static PyMethodDef newdatatype_methods[] = {
-    {"getSize", (PyCFunction)newdatatype_getSize, METH_VARARGS},
-    {"setSize", (PyCFunction)newdatatype_setSize, METH_VARARGS},
-    {NULL,      NULL}           /* sentinel */
+    {"getSize", (PyCFunction)newdatatype_getSize, METH_VARARGS,
+     "Return the current size."},
+    {"setSize", (PyCFunction)newdatatype_setSize, METH_VARARGS,
+     "Set the size."},
+    {NULL, NULL, 0, NULL}           /* sentinel */
 };
 
 static PyObject *