-dbl_defer_errstr = NULL;
-if (addr->message != NULL)
- if (addr->basic_errno > 0)
- dbl_defer_errstr = string_sprintf("%s: %s", addr->message, strerror(addr->basic_errno));
- else
- dbl_defer_errstr = string_copy(addr->message);
-else if (addr->basic_errno > 0)
- dbl_defer_errstr = string_copy(strerror(addr->basic_errno));
+dbl_defer_errstr = (addr->message != NULL)
+ ? (addr->basic_errno > 0)
+ ? string_sprintf("%s: %s", addr->message, strerror(addr->basic_errno))
+ : string_copy(addr->message)
+ : (addr->basic_errno > 0)
+ ? string_copy(strerror(addr->basic_errno))
+ : NULL;