@@ -424,191 +424,179 @@ a file or socket object.");
424424
425425/* Module initialisation */
426426
427- static int
428- ins (PyObject * d , char * symbol , long value )
429- {
430- PyObject * v = PyLong_FromLong (value );
431- if (!v || PyDict_SetItemString (d , symbol , v ) < 0 )
432- return -1 ;
433-
434- Py_DECREF (v );
435- return 0 ;
436- }
437-
438- #define INS (x ) if (ins(d, #x, (long)x)) return -1
439427
440428static int
441- all_ins (PyObject * d )
429+ all_ins (PyObject * m )
442430{
443- if (ins ( d , "LOCK_SH" , ( long ) LOCK_SH )) return -1 ;
444- if (ins ( d , "LOCK_EX" , ( long ) LOCK_EX )) return -1 ;
445- if (ins ( d , "LOCK_NB" , ( long ) LOCK_NB )) return -1 ;
446- if (ins ( d , "LOCK_UN" , ( long ) LOCK_UN )) return -1 ;
431+ if (PyModule_AddIntMacro ( m , LOCK_SH )) return -1 ;
432+ if (PyModule_AddIntMacro ( m , LOCK_EX )) return -1 ;
433+ if (PyModule_AddIntMacro ( m , LOCK_NB )) return -1 ;
434+ if (PyModule_AddIntMacro ( m , LOCK_UN )) return -1 ;
447435/* GNU extensions, as of glibc 2.2.4 */
448436#ifdef LOCK_MAND
449- if (ins ( d , "LOCK_MAND" , ( long ) LOCK_MAND )) return -1 ;
437+ if (PyModule_AddIntMacro ( m , LOCK_MAND )) return -1 ;
450438#endif
451439#ifdef LOCK_READ
452- if (ins ( d , "LOCK_READ" , ( long ) LOCK_READ )) return -1 ;
440+ if (PyModule_AddIntMacro ( m , LOCK_READ )) return -1 ;
453441#endif
454442#ifdef LOCK_WRITE
455- if (ins ( d , "LOCK_WRITE" , ( long ) LOCK_WRITE )) return -1 ;
443+ if (PyModule_AddIntMacro ( m , LOCK_WRITE )) return -1 ;
456444#endif
457445#ifdef LOCK_RW
458- if (ins ( d , "LOCK_RW" , ( long ) LOCK_RW )) return -1 ;
446+ if (PyModule_AddIntMacro ( m , LOCK_RW )) return -1 ;
459447#endif
460448
461449#ifdef F_DUPFD
462- if (ins ( d , "F_DUPFD" , ( long ) F_DUPFD )) return -1 ;
450+ if (PyModule_AddIntMacro ( m , F_DUPFD )) return -1 ;
463451#endif
464452#ifdef F_DUPFD_CLOEXEC
465- if (ins ( d , "F_DUPFD_CLOEXEC" , ( long ) F_DUPFD_CLOEXEC )) return -1 ;
453+ if (PyModule_AddIntMacro ( m , F_DUPFD_CLOEXEC )) return -1 ;
466454#endif
467455#ifdef F_GETFD
468- if (ins ( d , "F_GETFD" , ( long ) F_GETFD )) return -1 ;
456+ if (PyModule_AddIntMacro ( m , F_GETFD )) return -1 ;
469457#endif
470458#ifdef F_SETFD
471- if (ins ( d , "F_SETFD" , ( long ) F_SETFD )) return -1 ;
459+ if (PyModule_AddIntMacro ( m , F_SETFD )) return -1 ;
472460#endif
473461#ifdef F_GETFL
474- if (ins ( d , "F_GETFL" , ( long ) F_GETFL )) return -1 ;
462+ if (PyModule_AddIntMacro ( m , F_GETFL )) return -1 ;
475463#endif
476464#ifdef F_SETFL
477- if (ins ( d , "F_SETFL" , ( long ) F_SETFL )) return -1 ;
465+ if (PyModule_AddIntMacro ( m , F_SETFL )) return -1 ;
478466#endif
479467#ifdef F_GETLK
480- if (ins ( d , "F_GETLK" , ( long ) F_GETLK )) return -1 ;
468+ if (PyModule_AddIntMacro ( m , F_GETLK )) return -1 ;
481469#endif
482470#ifdef F_SETLK
483- if (ins ( d , "F_SETLK" , ( long ) F_SETLK )) return -1 ;
471+ if (PyModule_AddIntMacro ( m , F_SETLK )) return -1 ;
484472#endif
485473#ifdef F_SETLKW
486- if (ins ( d , "F_SETLKW" , ( long ) F_SETLKW )) return -1 ;
474+ if (PyModule_AddIntMacro ( m , F_SETLKW )) return -1 ;
487475#endif
488476#ifdef F_GETOWN
489- if (ins ( d , "F_GETOWN" , ( long ) F_GETOWN )) return -1 ;
477+ if (PyModule_AddIntMacro ( m , F_GETOWN )) return -1 ;
490478#endif
491479#ifdef F_SETOWN
492- if (ins ( d , "F_SETOWN" , ( long ) F_SETOWN )) return -1 ;
480+ if (PyModule_AddIntMacro ( m , F_SETOWN )) return -1 ;
493481#endif
494482#ifdef F_GETSIG
495- if (ins ( d , "F_GETSIG" , ( long ) F_GETSIG )) return -1 ;
483+ if (PyModule_AddIntMacro ( m , F_GETSIG )) return -1 ;
496484#endif
497485#ifdef F_SETSIG
498- if (ins ( d , "F_SETSIG" , ( long ) F_SETSIG )) return -1 ;
486+ if (PyModule_AddIntMacro ( m , F_SETSIG )) return -1 ;
499487#endif
500488#ifdef F_RDLCK
501- if (ins ( d , "F_RDLCK" , ( long ) F_RDLCK )) return -1 ;
489+ if (PyModule_AddIntMacro ( m , F_RDLCK )) return -1 ;
502490#endif
503491#ifdef F_WRLCK
504- if (ins ( d , "F_WRLCK" , ( long ) F_WRLCK )) return -1 ;
492+ if (PyModule_AddIntMacro ( m , F_WRLCK )) return -1 ;
505493#endif
506494#ifdef F_UNLCK
507- if (ins ( d , "F_UNLCK" , ( long ) F_UNLCK )) return -1 ;
495+ if (PyModule_AddIntMacro ( m , F_UNLCK )) return -1 ;
508496#endif
509497/* LFS constants */
510498#ifdef F_GETLK64
511- if (ins ( d , "F_GETLK64" , ( long ) F_GETLK64 )) return -1 ;
499+ if (PyModule_AddIntMacro ( m , F_GETLK64 )) return -1 ;
512500#endif
513501#ifdef F_SETLK64
514- if (ins ( d , "F_SETLK64" , ( long ) F_SETLK64 )) return -1 ;
502+ if (PyModule_AddIntMacro ( m , F_SETLK64 )) return -1 ;
515503#endif
516504#ifdef F_SETLKW64
517- if (ins ( d , "F_SETLKW64" , ( long ) F_SETLKW64 )) return -1 ;
505+ if (PyModule_AddIntMacro ( m , F_SETLKW64 )) return -1 ;
518506#endif
519507/* GNU extensions, as of glibc 2.2.4. */
520508#ifdef FASYNC
521- if (ins ( d , "FASYNC" , ( long ) FASYNC )) return -1 ;
509+ if (PyModule_AddIntMacro ( m , FASYNC )) return -1 ;
522510#endif
523511#ifdef F_SETLEASE
524- if (ins ( d , "F_SETLEASE" , ( long ) F_SETLEASE )) return -1 ;
512+ if (PyModule_AddIntMacro ( m , F_SETLEASE )) return -1 ;
525513#endif
526514#ifdef F_GETLEASE
527- if (ins ( d , "F_GETLEASE" , ( long ) F_GETLEASE )) return -1 ;
515+ if (PyModule_AddIntMacro ( m , F_GETLEASE )) return -1 ;
528516#endif
529517#ifdef F_NOTIFY
530- if (ins ( d , "F_NOTIFY" , ( long ) F_NOTIFY )) return -1 ;
518+ if (PyModule_AddIntMacro ( m , F_NOTIFY )) return -1 ;
531519#endif
532520/* Old BSD flock(). */
533521#ifdef F_EXLCK
534- if (ins ( d , "F_EXLCK" , ( long ) F_EXLCK )) return -1 ;
522+ if (PyModule_AddIntMacro ( m , F_EXLCK )) return -1 ;
535523#endif
536524#ifdef F_SHLCK
537- if (ins ( d , "F_SHLCK" , ( long ) F_SHLCK )) return -1 ;
525+ if (PyModule_AddIntMacro ( m , F_SHLCK )) return -1 ;
538526#endif
539527
540528/* OS X specifics */
541529#ifdef F_FULLFSYNC
542- if (ins ( d , "F_FULLFSYNC" , ( long ) F_FULLFSYNC )) return -1 ;
530+ if (PyModule_AddIntMacro ( m , F_FULLFSYNC )) return -1 ;
543531#endif
544532#ifdef F_NOCACHE
545- if (ins ( d , "F_NOCACHE" , ( long ) F_NOCACHE )) return -1 ;
533+ if (PyModule_AddIntMacro ( m , F_NOCACHE )) return -1 ;
546534#endif
547535
548536/* For F_{GET|SET}FL */
549537#ifdef FD_CLOEXEC
550- if (ins ( d , "FD_CLOEXEC" , ( long ) FD_CLOEXEC )) return -1 ;
538+ if (PyModule_AddIntMacro ( m , FD_CLOEXEC )) return -1 ;
551539#endif
552540
553541/* For F_NOTIFY */
554542#ifdef DN_ACCESS
555- if (ins ( d , "DN_ACCESS" , ( long ) DN_ACCESS )) return -1 ;
543+ if (PyModule_AddIntMacro ( m , DN_ACCESS )) return -1 ;
556544#endif
557545#ifdef DN_MODIFY
558- if (ins ( d , "DN_MODIFY" , ( long ) DN_MODIFY )) return -1 ;
546+ if (PyModule_AddIntMacro ( m , DN_MODIFY )) return -1 ;
559547#endif
560548#ifdef DN_CREATE
561- if (ins ( d , "DN_CREATE" , ( long ) DN_CREATE )) return -1 ;
549+ if (PyModule_AddIntMacro ( m , DN_CREATE )) return -1 ;
562550#endif
563551#ifdef DN_DELETE
564- if (ins ( d , "DN_DELETE" , ( long ) DN_DELETE )) return -1 ;
552+ if (PyModule_AddIntMacro ( m , DN_DELETE )) return -1 ;
565553#endif
566554#ifdef DN_RENAME
567- if (ins ( d , "DN_RENAME" , ( long ) DN_RENAME )) return -1 ;
555+ if (PyModule_AddIntMacro ( m , DN_RENAME )) return -1 ;
568556#endif
569557#ifdef DN_ATTRIB
570- if (ins ( d , "DN_ATTRIB" , ( long ) DN_ATTRIB )) return -1 ;
558+ if (PyModule_AddIntMacro ( m , DN_ATTRIB )) return -1 ;
571559#endif
572560#ifdef DN_MULTISHOT
573- if (ins ( d , "DN_MULTISHOT" , ( long ) DN_MULTISHOT )) return -1 ;
561+ if (PyModule_AddIntMacro ( m , DN_MULTISHOT )) return -1 ;
574562#endif
575563
576564#ifdef HAVE_STROPTS_H
577565 /* Unix 98 guarantees that these are in stropts.h. */
578- INS ( I_PUSH );
579- INS ( I_POP );
580- INS ( I_LOOK );
581- INS ( I_FLUSH );
582- INS ( I_FLUSHBAND );
583- INS ( I_SETSIG );
584- INS ( I_GETSIG );
585- INS ( I_FIND );
586- INS ( I_PEEK );
587- INS ( I_SRDOPT );
588- INS ( I_GRDOPT );
589- INS ( I_NREAD );
590- INS ( I_FDINSERT );
591- INS ( I_STR );
592- INS ( I_SWROPT );
566+ if ( PyModule_AddIntMacro ( m , I_PUSH )) return -1 ;
567+ if ( PyModule_AddIntMacro ( m , I_POP )) return -1 ;
568+ if ( PyModule_AddIntMacro ( m , I_LOOK )) return -1 ;
569+ if ( PyModule_AddIntMacro ( m , I_FLUSH )) return -1 ;
570+ if ( PyModule_AddIntMacro ( m , I_FLUSHBAND )) return -1 ;
571+ if ( PyModule_AddIntMacro ( m , I_SETSIG )) return -1 ;
572+ if ( PyModule_AddIntMacro ( m , I_GETSIG )) return -1 ;
573+ if ( PyModule_AddIntMacro ( m , I_FIND )) return -1 ;
574+ if ( PyModule_AddIntMacro ( m , I_PEEK )) return -1 ;
575+ if ( PyModule_AddIntMacro ( m , I_SRDOPT )) return -1 ;
576+ if ( PyModule_AddIntMacro ( m , I_GRDOPT )) return -1 ;
577+ if ( PyModule_AddIntMacro ( m , I_NREAD )) return -1 ;
578+ if ( PyModule_AddIntMacro ( m , I_FDINSERT )) return -1 ;
579+ if ( PyModule_AddIntMacro ( m , I_STR )) return -1 ;
580+ if ( PyModule_AddIntMacro ( m , I_SWROPT )) return -1 ;
593581#ifdef I_GWROPT
594582 /* despite the comment above, old-ish glibcs miss a couple... */
595- INS ( I_GWROPT );
596- #endif
597- INS ( I_SENDFD );
598- INS ( I_RECVFD );
599- INS ( I_LIST );
600- INS ( I_ATMARK );
601- INS ( I_CKBAND );
602- INS ( I_GETBAND );
603- INS ( I_CANPUT );
604- INS ( I_SETCLTIME );
583+ if ( PyModule_AddIntMacro ( m , I_GWROPT )) return -1 ;
584+ #endif
585+ if ( PyModule_AddIntMacro ( m , I_SENDFD )) return -1 ;
586+ if ( PyModule_AddIntMacro ( m , I_RECVFD )) return -1 ;
587+ if ( PyModule_AddIntMacro ( m , I_LIST )) return -1 ;
588+ if ( PyModule_AddIntMacro ( m , I_ATMARK )) return -1 ;
589+ if ( PyModule_AddIntMacro ( m , I_CKBAND )) return -1 ;
590+ if ( PyModule_AddIntMacro ( m , I_GETBAND )) return -1 ;
591+ if ( PyModule_AddIntMacro ( m , I_CANPUT )) return -1 ;
592+ if ( PyModule_AddIntMacro ( m , I_SETCLTIME )) return -1 ;
605593#ifdef I_GETCLTIME
606- INS ( I_GETCLTIME );
594+ if ( PyModule_AddIntMacro ( m , I_GETCLTIME )) return -1 ;
607595#endif
608- INS ( I_LINK );
609- INS ( I_UNLINK );
610- INS ( I_PLINK );
611- INS ( I_PUNLINK );
596+ if ( PyModule_AddIntMacro ( m , I_LINK )) return -1 ;
597+ if ( PyModule_AddIntMacro ( m , I_UNLINK )) return -1 ;
598+ if ( PyModule_AddIntMacro ( m , I_PLINK )) return -1 ;
599+ if ( PyModule_AddIntMacro ( m , I_PUNLINK )) return -1 ;
612600#endif
613601
614602 return 0 ;
@@ -630,15 +618,14 @@ static struct PyModuleDef fcntlmodule = {
630618PyMODINIT_FUNC
631619PyInit_fcntl (void )
632620{
633- PyObject * m , * d ;
621+ PyObject * m ;
634622
635623 /* Create the module and add the functions and documentation */
636624 m = PyModule_Create (& fcntlmodule );
637625 if (m == NULL )
638626 return NULL ;
639627
640628 /* Add some symbolic constants to the module */
641- d = PyModule_GetDict (m );
642- all_ins (d );
629+ all_ins (m );
643630 return m ;
644631}
0 commit comments