major() and minor() are unsigned ints nowadays, but in Solaris it's major_t.
Cast them explicitly to avoid compiler warnings, and use unsigned longs
instead of unsigned ints just in case.
str_append_tabescaped(str, state->userdb_fields);
}
if (major(state->peer_dev) != 0 || minor(state->peer_dev) != 0) {
- str_printfa(str, "\tpeer_dev_major=%u\tpeer_dev_minor=%u",
- major(state->peer_dev), minor(state->peer_dev));
+ str_printfa(str, "\tpeer_dev_major=%lu\tpeer_dev_minor=%lu",
+ (unsigned long)major(state->peer_dev),
+ (unsigned long)minor(state->peer_dev));
}
if (state->peer_ino != 0)
str_printfa(str, "\tpeer_ino=%llu", (unsigned long long)state->peer_ino);
str_printfa(cmd, "\tidle_notify_interval=%u",
client->set->imap_idle_notify_interval);
if (fstat(client->fd_in, &peer_st) == 0) {
- str_printfa(cmd, "\tpeer_dev_major=%u\tpeer_dev_minor=%u\tpeer_ino=%llu",
- major(peer_st.st_dev), minor(peer_st.st_dev),
+ str_printfa(cmd, "\tpeer_dev_major=%lu\tpeer_dev_minor=%lu\tpeer_ino=%llu",
+ (unsigned long)major(peer_st.st_dev),
+ (unsigned long)minor(peer_st.st_dev),
(unsigned long long)peer_st.st_ino);
}
if (peer_st.st_ino != master_input->peer_ino ||
!CMP_DEV_T(peer_st.st_dev, master_input->peer_dev)) {
*error_r = t_strdup_printf(
- "BUG: Expected peer device=%u,%u inode=%s doesn't match "
- "client fd's actual device=%u,%u inode=%s",
- major(peer_st.st_dev), minor(peer_st.st_dev), dec2str(peer_st.st_ino),
- major(master_input->peer_dev),
- minor(master_input->peer_dev),
+ "BUG: Expected peer device=%lu,%lu inode=%s doesn't match "
+ "client fd's actual device=%lu,%lu inode=%s",
+ (unsigned long)major(peer_st.st_dev),
+ (unsigned long)minor(peer_st.st_dev), dec2str(peer_st.st_ino),
+ (unsigned long)major(master_input->peer_dev),
+ (unsigned long)minor(master_input->peer_dev),
dec2str(master_input->peer_ino));
return -1;
}