smbd/service_stream: connection processing flag is not really bool
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Wed, 30 Nov 2016 01:56:16 +0000 (14:56 +1300)
committerRalph Boehme <slow@samba.org>
Wed, 30 Nov 2016 23:28:05 +0000 (00:28 +0100)
The warning is:

../source4/smbd/service_stream.c: In function ‘stream_io_handler’:
../source4/smbd/service_stream.c:94:18: warning: increment of a boolean expression [-Wbool-operation]
  conn->processing++;
                    ^~
../source4/smbd/service_stream.c:100:18: warning: decrement of a boolean expression [-Wbool-operation]
  conn->processing--;
                    ^~

while the code in question looks like:

conn->processing++;
if (flags & TEVENT_FD_WRITE) {
conn->ops->send_handler(conn, flags);
} else if (flags & TEVENT_FD_READ) {
conn->ops->recv_handler(conn, flags);
}
conn->processing--;

If this is never going to be nested, processing can be bool and the ++
and -- can be true/false assignments. But it seems possible that these
might be nested so it is better to go the other way.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Ralph Boehme <slow@samba.org>
Autobuild-User(master): Ralph Böhme <slow@samba.org>
Autobuild-Date(master): Thu Dec  1 00:28:05 CET 2016 on sn-devel-144

source4/smbd/service_stream.h

index e098a690f1fbdc100b2c329a19920ec8cc0f1095..a7d3def6eae7eaff0a59c145e7c00c6daa6995a8 100644 (file)
@@ -60,7 +60,7 @@ struct stream_connection {
         */
        struct auth_session_info *session_info;
 
-       bool processing;
+       uint processing;
        const char *terminate;
 };