- gettimeofday(&now, NULL);
- ret = make_message(
- "%s:%zu\n" /* file size */
- "%s:%s\n" /* mtime */
- "%s:%s\n" /* status */
- "%s:%s\n" /* status flags */
- "%s:%li\n" /* offset */
- "%s:%s\n" /* afs mode */
- "%s:%s\n" /* server uptime */
- "%s:%lu.%lu\n" /* stream start */
- "%s:%lu.%lu\n" /* current server time */
- "%s\n", /* afs status info */
- status_item_list[SI_FILE_SIZE], nmmd->size / 1024,
- status_item_list[SI_MTIME], mtime,
- status_item_list[SI_STATUS], status,
- status_item_list[SI_STATUS_FLAGS], flags,
-
- status_item_list[SI_OFFSET], offset,
- status_item_list[SI_AFS_MODE], mmd->afs_mode_string,
-
- status_item_list[SI_UPTIME], ut,
- status_item_list[SI_STREAM_START],
- (long unsigned)nmmd->stream_start.tv_sec,
- (long unsigned)nmmd->stream_start.tv_usec,
- status_item_list[SI_CURRENT_TIME],
- (long unsigned)now.tv_sec,
- (long unsigned)now.tv_usec,
-
- nmmd->afd.afs_status_info
-
- );
+ gettimeofday(¤t_time, NULL);
+ /*
+ * The calls to WRITE_STATUS_ITEM() below never fail because
+ * b->max_size is zero (unlimited), see para_printf(). However, clang
+ * is not smart enough to prove this and complains nevertheless.
+ * Casting the return value to void silences solves this.
+ */
+ (void)WRITE_STATUS_ITEM(&b, SI_FILE_SIZE, "%zu\n", nmmd->size / 1024);
+ (void)WRITE_STATUS_ITEM(&b, SI_MTIME, "%s\n", mtime);
+ (void)WRITE_STATUS_ITEM(&b, SI_STATUS, "%s\n", status);
+ (void)WRITE_STATUS_ITEM(&b, SI_STATUS_FLAGS, "%s\n", flags);
+ (void)WRITE_STATUS_ITEM(&b, SI_OFFSET, "%li\n", offset);
+ (void)WRITE_STATUS_ITEM(&b, SI_AFS_MODE, "%s\n", mmd->afs_mode_string);
+ (void)WRITE_STATUS_ITEM(&b, SI_STREAM_START, "%lu.%lu\n",
+ (long unsigned)nmmd->stream_start.tv_sec,
+ (long unsigned)nmmd->stream_start.tv_usec);
+ (void)WRITE_STATUS_ITEM(&b, SI_CURRENT_TIME, "%lu.%lu\n",
+ (long unsigned)current_time.tv_sec,
+ (long unsigned)current_time.tv_usec);