ubik: do not assign variables in logging argument lists 11/13211/2
authorMichael Meffie <mmeffie@sinenomine.net>
Thu, 14 Jun 2018 19:01:18 +0000 (15:01 -0400)
committerBenjamin Kaduk <kaduk@mit.edu>
Fri, 15 Jun 2018 13:47:59 +0000 (09:47 -0400)
Several logging statements in ubik contain an assignment statement
within the logging function call argument list, which would set a
variable as side effect of evaluating the function call arguments.

These embedded assignments are problematic since the logging function
calls have been replaced by ViceLog macros, which avoid the overhead of
a function call depending on logging levels.

Remove the embedded assignments within the logging argument lists so the
variables are always set regardless of the logging level.

Change-Id: Ifc0f32df2d01f9d8105b49e2c56a95758b184449
Reviewed-on: https://gerrit.openafs.org/13211
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Joe Gorse <jhgorse@gmail.com>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

src/ubik/recovery.c

index fd726a5..7ea8e47 100644 (file)
@@ -611,7 +611,7 @@ urecovery_Interact(void *dummy)
            nbytes = rx_Read(rxcall, (char *)&length, sizeof(afs_int32));
            length = ntohl(length);
            if (nbytes != sizeof(afs_int32)) {
-               ViceLog(5, ("Rx-read length error=%d\n", code = BULK_ERROR));
+               ViceLog(5, ("Rx-read length error=%d\n", BULK_ERROR));
                code = EIO;
                goto FetchEndCall;
            }
@@ -648,7 +648,7 @@ urecovery_Interact(void *dummy)
 #endif
                nbytes = rx_Read(rxcall, tbuffer, tlen);
                if (nbytes != tlen) {
-                   ViceLog(5, ("Rx-read bulk error=%d\n", code = BULK_ERROR));
+                   ViceLog(5, ("Rx-read bulk error=%d\n", BULK_ERROR));
                    code = EIO;
                    close(fd);
                    goto FetchEndCall;
@@ -833,14 +833,14 @@ urecovery_Interact(void *dummy)
                                (*ubik_dbase->read) (ubik_dbase, file,
                                                     tbuffer, offset, tlen);
                            if (nbytes != tlen) {
-                               ViceLog(5, ("Local disk read error=%d\n",
-                                           code = UIOERROR));
+                               code = UIOERROR;
+                               ViceLog(5, ("Local disk read error=%d\n", code));
                                goto StoreEndCall;
                            }
                            nbytes = rx_Write(rxcall, tbuffer, tlen);
                            if (nbytes != tlen) {
-                               ViceLog(5, ("Rx-write bulk error=%d\n", code =
-                                           BULK_ERROR));
+                               code = BULK_ERROR;
+                               ViceLog(5, ("Rx-write bulk error=%d\n", code));
                                goto StoreEndCall;
                            }
                            offset += tlen;