[Python-Dev] ANSIfication problems: signalmodule.c doesn't compile

Fredrik Lundh Fredrik Lundh" <effbot@telia.com
Sun, 23 Jul 2000 20:11:48 +0200


file signalmodule.c, line 146:

#if RETSIGTYPE !=3D void
 return 0;
#endif

is that really a valid preprocessor expression?

if I understand the ANSI specification correctly, it should be =
interpreted
as "0 !=3D 0" (in other words, it doesn't quite do what the author =
expected),
but MSVC 5.0 thinks that this is fatal error.

I suggest removing it -- if people are using ANSI C compilers on =
non-POSIX
platforms, they might as well live with a warning...

</F>

Index: Modules/signalmodule.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/python/python/dist/src/Modules/signalmodule.c,v
retrieving revision 2.48
diff -c -r2.48 signalmodule.c
*** Modules/signalmodule.c      2000/07/22 23:49:30     2.48
--- Modules/signalmodule.c      2000/07/23 18:02:02
***************
*** 94,100 ****

  static RETSIGTYPE (*old_siginthandler)(int) =3D SIG_DFL;

-
  =0C
  static PyObject *
  signal_default_int_handler(PyObject *self, PyObject *args)
--- 94,99 ----
***************
*** 143,151 ****
        siginterrupt(sig_num, 1);
  #endif
        signal(sig_num, signal_handler);
! #if RETSIGTYPE !=3D void
!       return 0;
! #endif
  }


--- 142,148 ----
        siginterrupt(sig_num, 1);
  #endif
        signal(sig_num, signal_handler);
!       return;
  }