[ https://issues.apache.org/jira/browse/AXIS2C-1467?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bill Blough resolved AXIS2C-1467. --------------------------------- Resolution: Fixed > Dangerous macros defs in axutil_unix.h and axutil_windows.h > ----------------------------------------------------------- > > Key: AXIS2C-1467 > URL: https://issues.apache.org/jira/browse/AXIS2C-1467 > Project: Axis2-C > Issue Type: Improvement > Affects Versions: 1.6.0, Current (Nightly) > Reporter: Olivier Mengué > Priority: Trivial > Labels: axutil, macro, patch, unix > Fix For: 1.7.0 > > Attachments: AXIS2C-1467_macros.patch > > > Same macros in axutil_unix.h have dangerous definitions: > - ';' at the end of a definition that is defined like a function > - multiple statement without enclosing block > Those mistakes can be dangerous when the macro is called in the "then" part > of an "if" statement. > Examples: > #define AXIS2_CLOSE_SOCKET_ON_EXIT(sock) fcntl(sock,F_SETFD, FD_CLOEXEC); > #define AXIS2_UNZOPEN2(zipfilename,ffunc) unzOpen2(zipfilename,NULL); > memset(&ffunc, 0, sizeof(ffunc)); > The first error is fixed by removing the ';'. The second one by enclosing the > definition in "do { ... } while (0)". -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: c-dev-unsubscr...@axis.apache.org For additional commands, e-mail: c-dev-h...@axis.apache.org