Permalink
Browse files

avoid double defining the POSIX::TCSANOW constant sub

On Win32 which has no native TCSANOW definition this would produce:

Constant subroutine TCSANOW redefined at ../lib/POSIX.pm line -1.

because the macro wasn't defined when building the unknown symbols
table but was defined when building the defined symbols table.
  • Loading branch information...
1 parent ce2077b commit e08f19f5d0717ead6e0fc25b4a866d9192e3deb1 @tonycoz tonycoz committed Nov 28, 2011
Showing with 7 additions and 3 deletions.
  1. +6 −2 ext/POSIX/POSIX.xs
  2. +1 −1 ext/POSIX/lib/POSIX.pm
View
@@ -841,11 +841,15 @@ getattr(termios_ref, fd = 0)
OUTPUT:
RETVAL
+# If we define TCSANOW here then both a found and not found constant sub
+# are created causing a Constant subroutine TCSANOW redefined warning
#ifndef TCSANOW
-# define TCSANOW 0
+# define DEF_SETATTR_ACTION 0
+#else
+# define DEF_SETATTR_ACTION TCSANOW
#endif
SysRet
-setattr(termios_ref, fd = 0, optional_actions = TCSANOW)
+setattr(termios_ref, fd = 0, optional_actions = DEF_SETATTR_ACTION)
POSIX::Termios termios_ref
int fd
int optional_actions
View
@@ -4,7 +4,7 @@ use warnings;
our ($AUTOLOAD, %SIGRT);
-our $VERSION = '1.26';
+our $VERSION = '1.27';
require XSLoader;

0 comments on commit e08f19f

Please sign in to comment.