8000 bpo-1635741: Apply code review · python/cpython@d3b55d7 · GitHub
[go: up one dir, main page]

Skip to content

Commit d3b55d7

Browse files
committed
bpo-1635741: Apply code review
1 parent 18e988a commit d3b55d7

File tree

1 file changed

+57
-54
lines changed

1 file changed

+57
-54
lines changed

Modules/mmapmodule.c

Lines changed: 57 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1509,139 +1509,142 @@ new_mmap_object(PyTypeObject *type, PyObject *args, PyObject *kwdict)
15091509
}
15101510
#endif /* MS_WINDOWS */
15111511

1512-
static void
1513-
setint(PyObject *d, const char *name, long value)
1514-
{
1515-
PyObject *o = PyLong_FromLong(value);
1516-
if (o) {
1517-
PyDict_SetItemString(d, name, o);
1518-
Py_DECREF(o);
1519-
}
1520-
}
1521-
15221512
static int
15231513
mmap_exec(PyObject *module)
15241514
{
15251515
if (PyType_Ready(&mmap_object_type) < 0) {
15261516
return -1;
15271517
}
15281518

1529-
PyObject *dict = PyModule_GetDict(module);
1530-
if (!dict) {
1519+
if (PyModule_AddObject(module, "error", PyExc_OSError) < 0) {
15311520
return -1;
15321521
}
1533-
PyDict_SetItemString(dict, "error", PyExc_OSError);
1534-
PyDict_SetItemString(dict, "mmap", (PyObject*) &mmap_object_type);
1522+
if (PyModule_AddType(module, &mmap_object_type) < 0) {
1523+
return -1;
1524+
}
1525+
1526+
#define ADD_INT_MACRO(module, macro) \
1527+
do { \
1528+
if (PyModule_AddIntConstant(module, #macro, macro) < 0) { \
1529+
return -1; \
1530+
} \
1531+
} while (0)
1532+
15351533
#ifdef PROT_EXEC
1536-
setint(dict, "PROT_EXEC", PROT_EXEC);
1534+
ADD_INT_MACRO(module, PROT_EXEC);
15371535
#endif
15381536
#ifdef PROT_READ
1539-
setint(dict, "PROT_READ", PROT_READ);
1537+
ADD_INT_MACRO(module, PROT_READ);
15401538
#endif
15411539
#ifdef PROT_WRITE
1542-
setint(dict, "PROT_WRITE", PROT_WRITE);
1540+
ADD_INT_MACRO(module, PROT_WRITE);
15431541
#endif
15441542

15451543
#ifdef MAP_SHARED
1546-
setint(dict, "MAP_SHARED", MAP_SHARED);
1544+
ADD_INT_MACRO(module, MAP_SHARED);
15471545
#endif
15481546
#ifdef MAP_PRIVATE
1549-
setint(dict, "MAP_PRIVATE", MAP_PRIVATE);
1547+
ADD_INT_MACRO(module, MAP_PRIVATE);
15501548
#endif
15511549
#ifdef MAP_DENYWRITE
1552-
setint(dict, "MAP_DENYWRITE", MAP_DENYWRITE);
1550+
ADD_INT_MACRO(module, MAP_DENYWRITE);
15531551
#endif
15541552
#ifdef MAP_EXECUTABLE
1555-
setint(dict, "MAP_EXECUTABLE", MAP_EXECUTABLE);
1553+
ADD_INT_MACRO(module, MAP_EXECUTABLE);
15561554
#endif
15571555
#ifdef MAP_ANONYMOUS
1558-
setint(dict, "MAP_ANON", MAP_ANONYMOUS);
1559-
setint(dict, "MAP_ANONYMOUS", MAP_ANONYMOUS);
1556+
if (PyModule_AddIntConstant(module, "MAP_ANON", MAP_ANONYMOUS) < 0 ) {
1557+
return -1;
1558+
}
1559+
ADD_INT_MACRO(module, MAP_ANONYMOUS);
15601560
#endif
15611561
#ifdef MAP_POPULATE
1562-
setint(dict, "MAP_POPULATE", MAP_POPULATE);
1562+
ADD_INT_MACRO(module, MAP_POPULATE);
15631563
#endif
1564+
if (PyModule_AddIntConstant(module, "PAGESIZE", (long)my_getpagesize()) < 0 ) {
1565+
return -1;
1566+
}
15641567

1565-
setint(dict, "PAGESIZE", (long)my_getpagesize());
1566-
1567-
setint(dict, "ALLOCATIONGRANULARITY", (long)my_getallocationgranularity());
1568+
if (PyModule_AddIntConstant(module, "ALLOCATIONGRANULARITY", (long)my_getallocationgranularity()) < 0 ) {
1569+
return -1;
1570+
}
15681571

1569-
setint(dict, "ACCESS_DEFAULT", ACCESS_DEFAULT);
1570-
setint(dict, "ACCESS_READ", ACCESS_READ);
1571-
setint(dict, "ACCESS_WRITE", ACCESS_WRITE);
1572-
setint(dict, "ACCESS_COPY", ACCESS_COPY);
1572+
ADD_INT_MACRO(module, ACCESS_DEFAULT);
1573+
ADD_INT_MACRO(module, ACCESS_READ);
1574+
ADD_INT_MACRO(module, ACCESS_WRITE);
1575+
ADD_INT_MACRO(module, ACCESS_COPY);
15731576

15741577
#ifdef HAVE_MADVISE
15751578
// Conventional advice values
15761579
#ifdef MADV_NORMAL
1577-
setint(dict, "MADV_NORMAL", MADV_NORMAL);
1580+
ADD_INT_MACRO(module, MADV_NORMAL);
15781581
#endif
15791582
#ifdef MADV_RANDOM
1580-
setint(dict, "MADV_RANDOM", MADV_RANDOM);
1583+
ADD_INT_MACRO(module, MADV_RANDOM);
15811584
#endif
15821585
#ifdef MADV_SEQUENTIAL
1583-
setint(dict, "MADV_SEQUENTIAL", MADV_SEQUENTIAL);
1586+
ADD_INT_MACRO(module, MADV_SEQUENTIAL);
15841587
#endif
15851588
#ifdef MADV_WILLNEED
1586-
setint(dict, "MADV_WILLNEED", MADV_WILLNEED);
1589+
ADD_INT_MACRO(module, MADV_WILLNEED);
15871590
#endif
15881591
#ifdef MADV_DONTNEED
1589-
setint(dict, "MADV_DONTNEED", MADV_DONTNEED);
1592+
ADD_INT_MACRO(module, MADV_DONTNEED);
15901593
#endif
15911594

15921595
// Linux-specific advice values
15931596
#ifdef MADV_REMOVE
1594-
setint(dict, "MADV_REMOVE", MADV_REMOVE);
1597+
ADD_INT_MACRO(module, MADV_REMOVE);
15951598
#endif
15961599
#ifdef MADV_DONTFORK
1597-
setint(dict, "MADV_DONTFORK", MADV_DONTFORK);
1600+
ADD_INT_MACRO(module, MADV_DONTFORK);
15981601
#endif
15991602
#ifdef MADV_DOFORK
1600-
setint(dict, "MADV_DOFORK", MADV_DOFORK);
1603+
ADD_INT_MACRO(module, MADV_DOFORK);
16011604
#endif
16021605
#ifdef MADV_HWPOISON
1603-
setint(dict, "MADV_HWPOISON", MADV_HWPOISON);
1606+
ADD_INT_MACRO(module, MADV_HWPOISON);
16041607
#endif
16051608
#ifdef MADV_MERGEABLE
1606-
setint(dict, "MADV_MERGEABLE", MADV_MERGEABLE);
1609+
ADD_INT_MACRO(module, MADV_MERGEABLE);
16071610
#endif
16081611
#ifdef MADV_UNMERGEABLE
1609-
setint(dict, "MADV_UNMERGEABLE", MADV_UNMERGEABLE);
1612+
ADD_INT_MACRO(module, MADV_UNMERGEABLE);
16101613
#endif
16111614
#ifdef MADV_SOFT_OFFLINE
1612-
setint(dict, "MADV_SOFT_OFFLINE", MADV_SOFT_OFFLINE);
1615+
ADD_INT_MACRO(module, MADV_SOFT_OFFLINE);
16131616
#endif
16141617
#ifdef MADV_HUGEPAGE
1615-
setint(dict, "MADV_HUGEPAGE", MADV_HUGEPAGE);
1618+
ADD_INT_MACRO(module, MADV_HUGEPAGE);
16161619
#endif
16171620
#ifdef MADV_NOHUGEPAGE
1618-
setint(dict, "MADV_NOHUGEPAGE", MADV_NOHUGEPAGE);
1621+
ADD_INT_MACRO(module, MADV_NOHUGEPAGE);
16191622
#endif
16201623
#ifdef MADV_DONTDUMP
1621-
setint(dict, "MADV_DONTDUMP", MADV_DONTDUMP);
1624+
ADD_INT_MACRO(module, MADV_DONTDUMP);
16221625
#endif
16231626
#ifdef MADV_DODUMP
1624-
setint(dict, "MADV_DODUMP", MADV_DODUMP);
1627+
ADD_INT_MACRO(module, MADV_DODUMP);
16251628
#endif
16261629
#ifdef MADV_FREE // (Also present on FreeBSD and macOS.)
1627-
setint(dict, "MADV_FREE", MADV_FREE);
1630+
ADD_INT_MACRO(module, MADV_FREE);
16281631
#endif
16291632

16301633
// FreeBSD-specific
16311634
#ifdef MADV_NOSYNC
1632-
setint(dict, "MADV_NOSYNC", MADV_NOSYNC);
1635+
ADD_INT_MACRO(module, MADV_NOSYNC);
16331636
#endif
16341637
#ifdef MADV_AUTOSYNC
1635-
setint(dict, "MADV_AUTOSYNC", MADV_AUTOSYNC);
1638+
ADD_INT_MACRO(module, MADV_AUTOSYNC);
16361639
#endif
16371640
#ifdef MADV_NOCORE
1638-
setint(dict, "MADV_NOCORE", MADV_NOCORE);
1641+
ADD_INT_MACRO(module, MADV_NOCORE);
16391642
#endif
16401643
#ifdef MADV_CORE
1641-
setint(dict, "MADV_CORE", MADV_CORE);
1644+
ADD_INT_MACRO(module, MADV_CORE);
16421645
#endif
16431646
#ifdef MADV_PROTECT
1644-
setint(dict, "MADV_PROTECT", MADV_PROTECT);
1647+
ADD_INT_MACRO(module, MADV_PROTECT);
16451648
#endif
16461649
#endif // HAVE_MADVISE
16471650
return 0;
@@ -1663,4 +1666,4 @@ PyMODINIT_FUNC
16631666
PyInit_mmap(void)
16641667
{
16651668
return PyModuleDef_Init(&mmapmodule);
1666-
}
1669+
}

0 commit comments

Comments
 (0)
0