audioplayer.cpp: Fix format warnings for time_t in audioplayer.cpp

- Added <inttypes.h> for correct format specifiers.
- Used PRIdMAX for formatting time_t in paintItem and updateTimes functions.
- Updated snprintf calls to handle time_t correctly.
- Minor formatting adjustments for readability.
This commit is contained in:
2024-07-04 16:08:36 +02:00
parent 742fc42d0f
commit ed29984d9f

View File

@@ -72,6 +72,7 @@ extern CPictureViewer * g_PicViewer;
#include <sstream>
#include <unistd.h>
#include <dirent.h>
#include <inttypes.h>
#include <curl/curl.h>
#include <curl/easy.h>
@@ -1697,10 +1698,14 @@ void CAudioPlayerGui::paintItem(int pos)
if (m_inetmode)
{
if (m_playlist[currpos].MetaData.total_time != 0)
snprintf(dura, sizeof(dura), "%ldk", m_playlist[currpos].MetaData.total_time);
snprintf(dura, sizeof(dura), "%" PRIdMAX "k", static_cast<intmax_t>(m_playlist[currpos].MetaData.total_time));
}
else
snprintf(dura, sizeof(dura), "%ld:%02ld", m_playlist[currpos].MetaData.total_time / 60, m_playlist[currpos].MetaData.total_time % 60);
{
snprintf(dura, sizeof(dura), "%" PRIdMAX ":%02" PRIdMAX,
static_cast<intmax_t>(m_playlist[currpos].MetaData.total_time / 60),
static_cast<intmax_t>(m_playlist[currpos].MetaData.total_time % 60));
}
int w = g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->getRenderWidth(dura);
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(m_x + OFFSET_INNER_MID, ypos + m_item_height, m_width - SCROLLBAR_WIDTH - 3 * OFFSET_INNER_MID - w, tmp, color, m_item_height);
@@ -2329,7 +2334,7 @@ void CAudioPlayerGui::updateMetaData()
}
}
void CAudioPlayerGui::updateTimes(const bool force)
void CAudioPlayerGui::updateTimes(bool force)
{
if (m_state != CAudioPlayerGui::STOP)
{
@@ -2347,7 +2352,7 @@ void CAudioPlayerGui::updateTimes(const bool force)
}
updateTotal = true;
}
if ((m_time_played != CAudioPlayer::getInstance()->getTimePlayed()))
if (m_time_played != CAudioPlayer::getInstance()->getTimePlayed())
{
m_time_played = CAudioPlayer::getInstance()->getTimePlayed();
updatePlayed = true;
@@ -2355,9 +2360,13 @@ void CAudioPlayerGui::updateTimes(const bool force)
if (!CScreenSaver::getInstance()->isActive())
{
char total_time[27];
snprintf(total_time, sizeof(total_time), " / %ld:%02ld", m_time_total / 60, m_time_total % 60);
snprintf(total_time, sizeof(total_time), " / %" PRIdMAX ":%02" PRIdMAX,
static_cast<intmax_t>(m_time_total / 60),
static_cast<intmax_t>(m_time_total % 60));
char played_time[24];
snprintf(played_time, sizeof(played_time), "%ld:%02ld", m_time_played / 60, m_time_played % 60);
snprintf(played_time, sizeof(played_time), "%" PRIdMAX ":%02" PRIdMAX,
static_cast<intmax_t>(m_time_played / 60),
static_cast<intmax_t>(m_time_played % 60));
int w_total_time = g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->getRenderWidth(total_time);
int w_faked_time = g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->getRenderWidth("000:00");