Merge remote-tracking branches 'neheb/fwhfggwe', 'neheb/nvm2', 'neheb/nvm22', 'neheb/bvm' and 'neheb/cl2'
This commit is contained in:
src
Chrono.hxxCommandLine.cxxInstance.cxxLogInit.cxx
command
AllCommands.cxxClientCommands.cxxMessageCommands.cxxNeighborCommands.cxxOtherCommands.cxxOutputCommands.cxxPlayerCommands.cxxPlaylistCommands.cxxQueueCommands.cxxStorageCommands.cxx
db
decoder
plugins
encoder
event
filter
fs
input
lib
curl
dbus
ffmpeg
nfs
smbclient
sqlite
upnp
xiph
mixer
plugins
neighbor
output
player
playlist
storage
system
tag
thread
unix
util
win32
zeroconf
test
@ -95,7 +95,7 @@ public:
|
||||
|
||||
constexpr double ToDoubleS() const {
|
||||
return double(count()) / 1000.;
|
||||
};
|
||||
}
|
||||
|
||||
constexpr bool IsZero() const {
|
||||
return count() == 0;
|
||||
@ -199,7 +199,7 @@ public:
|
||||
|
||||
constexpr double ToDoubleS() const {
|
||||
return double(count()) / 1000.;
|
||||
};
|
||||
}
|
||||
|
||||
constexpr bool IsZero() const {
|
||||
return count() == 0;
|
||||
|
@ -106,7 +106,7 @@ static constexpr OptionDef option_defs[] = {
|
||||
|
||||
static constexpr Domain cmdline_domain("cmdline");
|
||||
|
||||
gcc_noreturn
|
||||
[[noreturn]]
|
||||
static void version()
|
||||
{
|
||||
printf("Music Player Daemon " VERSION " (%s)"
|
||||
@ -272,7 +272,7 @@ static void PrintOption(const OptionDef &opt)
|
||||
opt.GetDescription());
|
||||
}
|
||||
|
||||
gcc_noreturn
|
||||
[[noreturn]]
|
||||
static void help()
|
||||
{
|
||||
printf("Usage:\n"
|
||||
|
@ -150,13 +150,13 @@ Instance::OnDatabaseSongRemoved(const char *uri) noexcept
|
||||
#ifdef ENABLE_NEIGHBOR_PLUGINS
|
||||
|
||||
void
|
||||
Instance::FoundNeighbor(gcc_unused const NeighborInfo &info) noexcept
|
||||
Instance::FoundNeighbor([[maybe_unused]] const NeighborInfo &info) noexcept
|
||||
{
|
||||
EmitIdle(IDLE_NEIGHBOR);
|
||||
}
|
||||
|
||||
void
|
||||
Instance::LostNeighbor(gcc_unused const NeighborInfo &info) noexcept
|
||||
Instance::LostNeighbor([[maybe_unused]] const NeighborInfo &info) noexcept
|
||||
{
|
||||
EmitIdle(IDLE_NEIGHBOR);
|
||||
}
|
||||
|
@ -46,7 +46,7 @@
|
||||
#define LOG_DATE_BUF_SIZE 16
|
||||
#define LOG_DATE_LEN (LOG_DATE_BUF_SIZE - 1)
|
||||
|
||||
gcc_unused
|
||||
[[maybe_unused]]
|
||||
static constexpr Domain log_domain("log");
|
||||
|
||||
#ifndef ANDROID
|
||||
|
@ -216,8 +216,8 @@ static constexpr unsigned num_commands = std::size(commands);
|
||||
|
||||
gcc_pure
|
||||
static bool
|
||||
command_available(gcc_unused const Partition &partition,
|
||||
gcc_unused const struct command *cmd) noexcept
|
||||
command_available([[maybe_unused]] const Partition &partition,
|
||||
[[maybe_unused]] const struct command *cmd) noexcept
|
||||
{
|
||||
#ifdef ENABLE_SQLITE
|
||||
if (StringIsEqual(cmd->cmd, "sticker"))
|
||||
@ -272,14 +272,14 @@ PrintUnavailableCommands(Response &r, unsigned permission) noexcept
|
||||
|
||||
/* don't be fooled, this is the command handler for "commands" command */
|
||||
static CommandResult
|
||||
handle_commands(Client &client, gcc_unused Request request, Response &r)
|
||||
handle_commands(Client &client, [[maybe_unused]] Request request, Response &r)
|
||||
{
|
||||
return PrintAvailableCommands(r, client.GetPartition(),
|
||||
client.GetPermission());
|
||||
}
|
||||
|
||||
static CommandResult
|
||||
handle_not_commands(Client &client, gcc_unused Request request, Response &r)
|
||||
handle_not_commands(Client &client, [[maybe_unused]] Request request, Response &r)
|
||||
{
|
||||
return PrintUnavailableCommands(r, client.GetPermission());
|
||||
}
|
||||
|
@ -27,15 +27,15 @@
|
||||
#include "util/StringAPI.hxx"
|
||||
|
||||
CommandResult
|
||||
handle_close(gcc_unused Client &client, gcc_unused Request args,
|
||||
gcc_unused Response &r)
|
||||
handle_close([[maybe_unused]] Client &client, [[maybe_unused]] Request args,
|
||||
[[maybe_unused]] Response &r)
|
||||
{
|
||||
return CommandResult::FINISH;
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_ping(gcc_unused Client &client, gcc_unused Request args,
|
||||
gcc_unused Response &r)
|
||||
handle_ping([[maybe_unused]] Client &client, [[maybe_unused]] Request args,
|
||||
[[maybe_unused]] Response &r)
|
||||
{
|
||||
return CommandResult::OK;
|
||||
}
|
||||
|
@ -72,7 +72,7 @@ handle_unsubscribe(Client &client, Request args, Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_channels(Client &client, gcc_unused Request args, Response &r)
|
||||
handle_channels(Client &client, [[maybe_unused]] Request args, Response &r)
|
||||
{
|
||||
assert(args.empty());
|
||||
|
||||
@ -92,7 +92,7 @@ handle_channels(Client &client, gcc_unused Request args, Response &r)
|
||||
|
||||
CommandResult
|
||||
handle_read_messages(Client &client,
|
||||
gcc_unused Request args, Response &r)
|
||||
[[maybe_unused]] Request args, Response &r)
|
||||
{
|
||||
assert(args.empty());
|
||||
|
||||
|
@ -34,7 +34,7 @@ neighbor_commands_available(const Instance &instance) noexcept
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_listneighbors(Client &client, gcc_unused Request args, Response &r)
|
||||
handle_listneighbors(Client &client, [[maybe_unused]] Request args, Response &r)
|
||||
{
|
||||
const NeighborGlue *const neighbors =
|
||||
client.GetInstance().neighbors.get();
|
||||
|
@ -69,7 +69,7 @@ print_spl_list(Response &r, const PlaylistVector &list)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_urlhandlers(Client &client, gcc_unused Request args, Response &r)
|
||||
handle_urlhandlers(Client &client, [[maybe_unused]] Request args, Response &r)
|
||||
{
|
||||
if (client.IsLocal())
|
||||
r.Format("handler: file://\n");
|
||||
@ -78,7 +78,7 @@ handle_urlhandlers(Client &client, gcc_unused Request args, Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_decoders(gcc_unused Client &client, gcc_unused Request args,
|
||||
handle_decoders([[maybe_unused]] Client &client, [[maybe_unused]] Request args,
|
||||
Response &r)
|
||||
{
|
||||
decoder_list_print(r);
|
||||
@ -86,8 +86,8 @@ handle_decoders(gcc_unused Client &client, gcc_unused Request args,
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_kill(gcc_unused Client &client, gcc_unused Request request,
|
||||
gcc_unused Response &r)
|
||||
handle_kill([[maybe_unused]] Client &client, [[maybe_unused]] Request request,
|
||||
[[maybe_unused]] Response &r)
|
||||
{
|
||||
return CommandResult::KILL;
|
||||
}
|
||||
@ -307,7 +307,7 @@ handle_update(Client &client, Request args, Response &r, bool discard)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_update(Client &client, Request args, gcc_unused Response &r)
|
||||
handle_update(Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
return handle_update(client, args, r, false);
|
||||
}
|
||||
@ -360,14 +360,14 @@ handle_volume(Client &client, Request args, Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_stats(Client &client, gcc_unused Request args, Response &r)
|
||||
handle_stats(Client &client, [[maybe_unused]] Request args, Response &r)
|
||||
{
|
||||
stats_print(r, client.GetPartition());
|
||||
return CommandResult::OK;
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_config(Client &client, gcc_unused Request args, Response &r)
|
||||
handle_config(Client &client, [[maybe_unused]] Request args, Response &r)
|
||||
{
|
||||
if (!client.IsLocal()) {
|
||||
r.Error(ACK_ERROR_PERMISSION,
|
||||
|
@ -118,7 +118,7 @@ handle_outputset(Client &client, Request request, Response &response)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_devices(Client &client, gcc_unused Request args, Response &r)
|
||||
handle_devices(Client &client, [[maybe_unused]] Request args, Response &r)
|
||||
{
|
||||
assert(args.empty());
|
||||
|
||||
|
@ -60,7 +60,7 @@
|
||||
#define COMMAND_STATUS_UPDATING_DB "updating_db"
|
||||
|
||||
CommandResult
|
||||
handle_play(Client &client, Request args, gcc_unused Response &r)
|
||||
handle_play(Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
int song = args.ParseOptional(0, -1);
|
||||
|
||||
@ -69,7 +69,7 @@ handle_play(Client &client, Request args, gcc_unused Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_playid(Client &client, Request args, gcc_unused Response &r)
|
||||
handle_playid(Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
int id = args.ParseOptional(0, -1);
|
||||
|
||||
@ -78,21 +78,21 @@ handle_playid(Client &client, Request args, gcc_unused Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_stop(Client &client, gcc_unused Request args, gcc_unused Response &r)
|
||||
handle_stop(Client &client, [[maybe_unused]] Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
client.GetPartition().Stop();
|
||||
return CommandResult::OK;
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_currentsong(Client &client, gcc_unused Request args, Response &r)
|
||||
handle_currentsong(Client &client, [[maybe_unused]] Request args, Response &r)
|
||||
{
|
||||
playlist_print_current(r, client.GetPlaylist());
|
||||
return CommandResult::OK;
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_pause(Client &client, Request args, gcc_unused Response &r)
|
||||
handle_pause(Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
auto &pc = client.GetPlayerControl();
|
||||
|
||||
@ -106,7 +106,7 @@ handle_pause(Client &client, Request args, gcc_unused Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_status(Client &client, gcc_unused Request args, Response &r)
|
||||
handle_status(Client &client, [[maybe_unused]] Request args, Response &r)
|
||||
{
|
||||
auto &partition = client.GetPartition();
|
||||
auto &pc = partition.pc;
|
||||
@ -216,7 +216,7 @@ handle_status(Client &client, gcc_unused Request args, Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_next(Client &client, gcc_unused Request args, gcc_unused Response &r)
|
||||
handle_next(Client &client, [[maybe_unused]] Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
playlist &playlist = client.GetPlaylist();
|
||||
|
||||
@ -234,15 +234,15 @@ handle_next(Client &client, gcc_unused Request args, gcc_unused Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_previous(Client &client, gcc_unused Request args,
|
||||
gcc_unused Response &r)
|
||||
handle_previous(Client &client, [[maybe_unused]] Request args,
|
||||
[[maybe_unused]] Response &r)
|
||||
{
|
||||
client.GetPartition().PlayPrevious();
|
||||
return CommandResult::OK;
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_repeat(Client &client, Request args, gcc_unused Response &r)
|
||||
handle_repeat(Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
bool status = args.ParseBool(0);
|
||||
client.GetPartition().SetRepeat(status);
|
||||
@ -250,7 +250,7 @@ handle_repeat(Client &client, Request args, gcc_unused Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_single(Client &client, Request args, gcc_unused Response &r)
|
||||
handle_single(Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
auto new_mode = SingleFromString(args.front());
|
||||
client.GetPartition().SetSingle(new_mode);
|
||||
@ -258,7 +258,7 @@ handle_single(Client &client, Request args, gcc_unused Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_consume(Client &client, Request args, gcc_unused Response &r)
|
||||
handle_consume(Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
bool status = args.ParseBool(0);
|
||||
client.GetPartition().SetConsume(status);
|
||||
@ -266,7 +266,7 @@ handle_consume(Client &client, Request args, gcc_unused Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_random(Client &client, Request args, gcc_unused Response &r)
|
||||
handle_random(Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
bool status = args.ParseBool(0);
|
||||
auto &partition = client.GetPartition();
|
||||
@ -276,15 +276,15 @@ handle_random(Client &client, Request args, gcc_unused Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_clearerror(Client &client, gcc_unused Request args,
|
||||
gcc_unused Response &r)
|
||||
handle_clearerror(Client &client, [[maybe_unused]] Request args,
|
||||
[[maybe_unused]] Response &r)
|
||||
{
|
||||
client.GetPlayerControl().LockClearError();
|
||||
return CommandResult::OK;
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_seek(Client &client, Request args, gcc_unused Response &r)
|
||||
handle_seek(Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
unsigned song = args.ParseUnsigned(0);
|
||||
SongTime seek_time = args.ParseSongTime(1);
|
||||
@ -294,7 +294,7 @@ handle_seek(Client &client, Request args, gcc_unused Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_seekid(Client &client, Request args, gcc_unused Response &r)
|
||||
handle_seekid(Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
unsigned id = args.ParseUnsigned(0);
|
||||
SongTime seek_time = args.ParseSongTime(1);
|
||||
@ -304,7 +304,7 @@ handle_seekid(Client &client, Request args, gcc_unused Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_seekcur(Client &client, Request args, gcc_unused Response &r)
|
||||
handle_seekcur(Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
const char *p = args.front();
|
||||
bool relative = *p == '+' || *p == '-';
|
||||
@ -315,7 +315,7 @@ handle_seekcur(Client &client, Request args, gcc_unused Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_crossfade(Client &client, Request args, gcc_unused Response &r)
|
||||
handle_crossfade(Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
FloatDuration duration{args.ParseUnsigned(0)};
|
||||
client.GetPlayerControl().SetCrossFade(duration);
|
||||
@ -323,7 +323,7 @@ handle_crossfade(Client &client, Request args, gcc_unused Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_mixrampdb(Client &client, Request args, gcc_unused Response &r)
|
||||
handle_mixrampdb(Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
float db = args.ParseFloat(0);
|
||||
client.GetPlayerControl().SetMixRampDb(db);
|
||||
@ -331,7 +331,7 @@ handle_mixrampdb(Client &client, Request args, gcc_unused Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_mixrampdelay(Client &client, Request args, gcc_unused Response &r)
|
||||
handle_mixrampdelay(Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
FloatDuration delay_secs{args.ParseFloat(0)};
|
||||
client.GetPlayerControl().SetMixRampDelay(delay_secs);
|
||||
@ -349,7 +349,7 @@ handle_replay_gain_mode(Client &client, Request args, Response &)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_replay_gain_status(Client &client, gcc_unused Request args,
|
||||
handle_replay_gain_status(Client &client, [[maybe_unused]] Request args,
|
||||
Response &r)
|
||||
{
|
||||
r.Format("replay_gain_mode: %s\n",
|
||||
|
@ -60,14 +60,14 @@ print_spl_list(Response &r, const PlaylistVector &list)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_save(Client &client, Request args, gcc_unused Response &r)
|
||||
handle_save(Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
spl_save_playlist(args.front(), client.GetPlaylist());
|
||||
return CommandResult::OK;
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_load(Client &client, Request args, gcc_unused Response &r)
|
||||
handle_load(Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
const auto uri = LocateUri(UriPluginKind::PLAYLIST, args.front(),
|
||||
&client
|
||||
@ -132,7 +132,7 @@ handle_listplaylistinfo(Client &client, Request args, Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_rm(gcc_unused Client &client, Request args, gcc_unused Response &r)
|
||||
handle_rm([[maybe_unused]] Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
const char *const name = args.front();
|
||||
|
||||
@ -141,7 +141,7 @@ handle_rm(gcc_unused Client &client, Request args, gcc_unused Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_rename(gcc_unused Client &client, Request args, gcc_unused Response &r)
|
||||
handle_rename([[maybe_unused]] Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
const char *const old_name = args[0];
|
||||
const char *const new_name = args[1];
|
||||
@ -151,8 +151,8 @@ handle_rename(gcc_unused Client &client, Request args, gcc_unused Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_playlistdelete(gcc_unused Client &client,
|
||||
Request args, gcc_unused Response &r)
|
||||
handle_playlistdelete([[maybe_unused]] Client &client,
|
||||
Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
const char *const name = args[0];
|
||||
unsigned from = args.ParseUnsigned(1);
|
||||
@ -162,8 +162,8 @@ handle_playlistdelete(gcc_unused Client &client,
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_playlistmove(gcc_unused Client &client,
|
||||
Request args, gcc_unused Response &r)
|
||||
handle_playlistmove([[maybe_unused]] Client &client,
|
||||
Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
const char *const name = args.front();
|
||||
unsigned from = args.ParseUnsigned(1);
|
||||
@ -174,8 +174,8 @@ handle_playlistmove(gcc_unused Client &client,
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_playlistclear(gcc_unused Client &client,
|
||||
Request args, gcc_unused Response &r)
|
||||
handle_playlistclear([[maybe_unused]] Client &client,
|
||||
Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
const char *const name = args.front();
|
||||
|
||||
@ -184,7 +184,7 @@ handle_playlistclear(gcc_unused Client &client,
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_playlistadd(Client &client, Request args, gcc_unused Response &r)
|
||||
handle_playlistadd(Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
const char *const playlist = args[0];
|
||||
const char *const uri = args[1];
|
||||
@ -209,7 +209,7 @@ handle_playlistadd(Client &client, Request args, gcc_unused Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_listplaylists(gcc_unused Client &client, gcc_unused Request args,
|
||||
handle_listplaylists([[maybe_unused]] Client &client, [[maybe_unused]] Request args,
|
||||
Response &r)
|
||||
{
|
||||
print_spl_list(r, ListPlaylistFiles());
|
||||
|
@ -51,7 +51,7 @@ AddUri(Client &client, const LocatedUri &uri)
|
||||
|
||||
static CommandResult
|
||||
AddDatabaseSelection(Client &client, const char *uri,
|
||||
gcc_unused Response &r)
|
||||
[[maybe_unused]] Response &r)
|
||||
{
|
||||
#ifdef ENABLE_DATABASE
|
||||
auto &partition = client.GetPartition();
|
||||
@ -179,7 +179,7 @@ handle_rangeid(Client &client, Request args, Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_delete(Client &client, Request args, gcc_unused Response &r)
|
||||
handle_delete(Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
RangeArg range = args.ParseRange(0);
|
||||
client.GetPartition().DeleteRange(range.start, range.end);
|
||||
@ -187,7 +187,7 @@ handle_delete(Client &client, Request args, gcc_unused Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_deleteid(Client &client, Request args, gcc_unused Response &r)
|
||||
handle_deleteid(Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
unsigned id = args.ParseUnsigned(0);
|
||||
client.GetPartition().DeleteId(id);
|
||||
@ -195,14 +195,14 @@ handle_deleteid(Client &client, Request args, gcc_unused Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_playlist(Client &client, gcc_unused Request args, Response &r)
|
||||
handle_playlist(Client &client, [[maybe_unused]] Request args, Response &r)
|
||||
{
|
||||
playlist_print_uris(r, client.GetPlaylist());
|
||||
return CommandResult::OK;
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_shuffle(gcc_unused Client &client, Request args, gcc_unused Response &r)
|
||||
handle_shuffle([[maybe_unused]] Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
RangeArg range = args.ParseOptional(0, RangeArg::All());
|
||||
client.GetPartition().Shuffle(range.start, range.end);
|
||||
@ -210,7 +210,7 @@ handle_shuffle(gcc_unused Client &client, Request args, gcc_unused Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_clear(Client &client, gcc_unused Request args, gcc_unused Response &r)
|
||||
handle_clear(Client &client, [[maybe_unused]] Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
client.GetPartition().ClearQueue();
|
||||
return CommandResult::OK;
|
||||
@ -291,7 +291,7 @@ handle_playlistsearch(Client &client, Request args, Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_prio(Client &client, Request args, gcc_unused Response &r)
|
||||
handle_prio(Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
unsigned priority = args.ParseUnsigned(0, 0xff);
|
||||
args.shift();
|
||||
@ -307,7 +307,7 @@ handle_prio(Client &client, Request args, gcc_unused Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_prioid(Client &client, Request args, gcc_unused Response &r)
|
||||
handle_prioid(Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
unsigned priority = args.ParseUnsigned(0, 0xff);
|
||||
args.shift();
|
||||
@ -323,7 +323,7 @@ handle_prioid(Client &client, Request args, gcc_unused Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_move(Client &client, Request args, gcc_unused Response &r)
|
||||
handle_move(Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
RangeArg range = args.ParseRange(0);
|
||||
int to = args.ParseInt(1);
|
||||
@ -332,7 +332,7 @@ handle_move(Client &client, Request args, gcc_unused Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_moveid(Client &client, Request args, gcc_unused Response &r)
|
||||
handle_moveid(Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
unsigned id = args.ParseUnsigned(0);
|
||||
int to = args.ParseInt(1);
|
||||
@ -341,7 +341,7 @@ handle_moveid(Client &client, Request args, gcc_unused Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_swap(Client &client, Request args, gcc_unused Response &r)
|
||||
handle_swap(Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
unsigned song1 = args.ParseUnsigned(0);
|
||||
unsigned song2 = args.ParseUnsigned(1);
|
||||
@ -350,7 +350,7 @@ handle_swap(Client &client, Request args, gcc_unused Response &r)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_swapid(Client &client, Request args, gcc_unused Response &r)
|
||||
handle_swapid(Client &client, Request args, [[maybe_unused]] Response &r)
|
||||
{
|
||||
unsigned id1 = args.ParseUnsigned(0);
|
||||
unsigned id2 = args.ParseUnsigned(1);
|
||||
|
@ -143,7 +143,7 @@ print_storage_uri(Client &client, Response &r, const Storage &storage)
|
||||
}
|
||||
|
||||
CommandResult
|
||||
handle_listmounts(Client &client, gcc_unused Request args, Response &r)
|
||||
handle_listmounts(Client &client, [[maybe_unused]] Request args, Response &r)
|
||||
{
|
||||
Storage *_composite = client.GetInstance().storage;
|
||||
if (_composite == nullptr) {
|
||||
|
@ -126,8 +126,8 @@ public:
|
||||
*
|
||||
* @return the job id or 0 if not implemented
|
||||
*/
|
||||
virtual unsigned Update(gcc_unused const char *uri_utf8,
|
||||
gcc_unused bool discard) {
|
||||
virtual unsigned Update([[maybe_unused]] const char *uri_utf8,
|
||||
[[maybe_unused]] bool discard) {
|
||||
/* not implemented: return 0 */
|
||||
return 0;
|
||||
}
|
||||
|
@ -277,6 +277,7 @@ Convert(TagType tag_type) noexcept
|
||||
return MPD_TAG_COUNT;
|
||||
}
|
||||
|
||||
[[noreturn]]
|
||||
static void
|
||||
ThrowError(struct mpd_connection *connection)
|
||||
{
|
||||
@ -574,7 +575,7 @@ ProxyDatabase::Disconnect() noexcept
|
||||
}
|
||||
|
||||
bool
|
||||
ProxyDatabase::OnSocketReady(gcc_unused unsigned flags) noexcept
|
||||
ProxyDatabase::OnSocketReady([[maybe_unused]] unsigned flags) noexcept
|
||||
{
|
||||
assert(connection != nullptr);
|
||||
|
||||
|
@ -70,7 +70,7 @@ inline SimpleDatabase::SimpleDatabase(const ConfigBlock &block)
|
||||
|
||||
inline SimpleDatabase::SimpleDatabase(AllocatedPath &&_path,
|
||||
#ifndef ENABLE_ZLIB
|
||||
gcc_unused
|
||||
[[maybe_unused]]
|
||||
#endif
|
||||
bool _compress) noexcept
|
||||
:Database(simple_db_plugin),
|
||||
@ -85,7 +85,7 @@ inline SimpleDatabase::SimpleDatabase(AllocatedPath &&_path,
|
||||
|
||||
DatabasePtr
|
||||
SimpleDatabase::Create(EventLoop &, EventLoop &,
|
||||
gcc_unused DatabaseListener &listener,
|
||||
[[maybe_unused]] DatabaseListener &listener,
|
||||
const ConfigBlock &block)
|
||||
{
|
||||
return std::make_unique<SimpleDatabase>(block);
|
||||
@ -248,7 +248,7 @@ SimpleDatabase::GetSong(const char *uri) const
|
||||
}
|
||||
|
||||
void
|
||||
SimpleDatabase::ReturnSong(gcc_unused const LightSong *song) const noexcept
|
||||
SimpleDatabase::ReturnSong([[maybe_unused]] const LightSong *song) const noexcept
|
||||
{
|
||||
assert(song != nullptr);
|
||||
assert(song == prefixed_light_song || song == &light_song.Get());
|
||||
|
@ -145,7 +145,7 @@ private:
|
||||
|
||||
DatabasePtr
|
||||
UpnpDatabase::Create(EventLoop &, EventLoop &io_event_loop,
|
||||
gcc_unused DatabaseListener &listener,
|
||||
[[maybe_unused]] DatabaseListener &listener,
|
||||
const ConfigBlock &) noexcept
|
||||
{
|
||||
return std::make_unique<UpnpDatabase>(io_event_loop);
|
||||
|
@ -31,7 +31,7 @@
|
||||
#include <sys/inotify.h>
|
||||
|
||||
bool
|
||||
InotifySource::OnSocketReady(gcc_unused unsigned flags) noexcept
|
||||
InotifySource::OnSocketReady([[maybe_unused]] unsigned flags) noexcept
|
||||
{
|
||||
uint8_t buffer[4096];
|
||||
static_assert(sizeof(buffer) >= sizeof(struct inotify_event) + NAME_MAX + 1,
|
||||
|
@ -236,7 +236,7 @@ WatchDirectory::GetDepth() const noexcept
|
||||
|
||||
static void
|
||||
mpd_inotify_callback(int wd, unsigned mask,
|
||||
gcc_unused const char *name, gcc_unused void *ctx)
|
||||
[[maybe_unused]] const char *name, [[maybe_unused]] void *ctx)
|
||||
{
|
||||
WatchDirectory *directory;
|
||||
|
||||
|
@ -111,10 +111,10 @@ private:
|
||||
|
||||
|
||||
#else
|
||||
bool UpdateArchiveFile(gcc_unused Directory &directory,
|
||||
gcc_unused const char *name,
|
||||
gcc_unused const char *suffix,
|
||||
gcc_unused const StorageFileInfo &info) noexcept {
|
||||
bool UpdateArchiveFile([[maybe_unused]] Directory &directory,
|
||||
[[maybe_unused]] const char *name,
|
||||
[[maybe_unused]] const char *suffix,
|
||||
[[maybe_unused]] const StorageFileInfo &info) noexcept {
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
@ -53,7 +53,7 @@ static void flacPrintErroredState(FLAC__StreamDecoderState state)
|
||||
LogError(flac_domain, FLAC__StreamDecoderStateString[state]);
|
||||
}
|
||||
|
||||
static void flacMetadata(gcc_unused const FLAC__StreamDecoder * dec,
|
||||
static void flacMetadata([[maybe_unused]] const FLAC__StreamDecoder * dec,
|
||||
const FLAC__StreamMetadata * block, void *vdata)
|
||||
{
|
||||
auto &fd = *(FlacDecoder *)vdata;
|
||||
@ -307,7 +307,7 @@ flac_decode(DecoderClient &client, InputStream &input_stream)
|
||||
}
|
||||
|
||||
static bool
|
||||
oggflac_init(gcc_unused const ConfigBlock &block)
|
||||
oggflac_init([[maybe_unused]] const ConfigBlock &block)
|
||||
{
|
||||
return !!FLAC_API_SUPPORTS_OGG_FLAC;
|
||||
}
|
||||
|
@ -98,7 +98,7 @@ FlacInput::Error(FLAC__StreamDecoderErrorStatus status)
|
||||
}
|
||||
|
||||
FLAC__StreamDecoderReadStatus
|
||||
FlacInput::Read(gcc_unused const FLAC__StreamDecoder *flac_decoder,
|
||||
FlacInput::Read([[maybe_unused]] const FLAC__StreamDecoder *flac_decoder,
|
||||
FLAC__byte buffer[], size_t *bytes,
|
||||
void *client_data)
|
||||
{
|
||||
@ -108,7 +108,7 @@ FlacInput::Read(gcc_unused const FLAC__StreamDecoder *flac_decoder,
|
||||
}
|
||||
|
||||
FLAC__StreamDecoderSeekStatus
|
||||
FlacInput::Seek(gcc_unused const FLAC__StreamDecoder *flac_decoder,
|
||||
FlacInput::Seek([[maybe_unused]] const FLAC__StreamDecoder *flac_decoder,
|
||||
FLAC__uint64 absolute_byte_offset, void *client_data)
|
||||
{
|
||||
auto *i = (FlacInput *)client_data;
|
||||
@ -117,7 +117,7 @@ FlacInput::Seek(gcc_unused const FLAC__StreamDecoder *flac_decoder,
|
||||
}
|
||||
|
||||
FLAC__StreamDecoderTellStatus
|
||||
FlacInput::Tell(gcc_unused const FLAC__StreamDecoder *flac_decoder,
|
||||
FlacInput::Tell([[maybe_unused]] const FLAC__StreamDecoder *flac_decoder,
|
||||
FLAC__uint64 *absolute_byte_offset, void *client_data)
|
||||
{
|
||||
auto *i = (FlacInput *)client_data;
|
||||
@ -126,7 +126,7 @@ FlacInput::Tell(gcc_unused const FLAC__StreamDecoder *flac_decoder,
|
||||
}
|
||||
|
||||
FLAC__StreamDecoderLengthStatus
|
||||
FlacInput::Length(gcc_unused const FLAC__StreamDecoder *flac_decoder,
|
||||
FlacInput::Length([[maybe_unused]] const FLAC__StreamDecoder *flac_decoder,
|
||||
FLAC__uint64 *stream_length, void *client_data)
|
||||
{
|
||||
auto *i = (FlacInput *)client_data;
|
||||
@ -135,7 +135,7 @@ FlacInput::Length(gcc_unused const FLAC__StreamDecoder *flac_decoder,
|
||||
}
|
||||
|
||||
FLAC__bool
|
||||
FlacInput::Eof(gcc_unused const FLAC__StreamDecoder *flac_decoder,
|
||||
FlacInput::Eof([[maybe_unused]] const FLAC__StreamDecoder *flac_decoder,
|
||||
void *client_data)
|
||||
{
|
||||
auto *i = (FlacInput *)client_data;
|
||||
@ -144,7 +144,7 @@ FlacInput::Eof(gcc_unused const FLAC__StreamDecoder *flac_decoder,
|
||||
}
|
||||
|
||||
void
|
||||
FlacInput::Error(gcc_unused const FLAC__StreamDecoder *decoder,
|
||||
FlacInput::Error([[maybe_unused]] const FLAC__StreamDecoder *decoder,
|
||||
FLAC__StreamDecoderErrorStatus status, void *client_data)
|
||||
{
|
||||
auto *i = (FlacInput *)client_data;
|
||||
|
@ -196,7 +196,7 @@ fluidsynth_file_decode(DecoderClient &client, Path path_fs)
|
||||
|
||||
static bool
|
||||
fluidsynth_scan_file(Path path_fs,
|
||||
gcc_unused TagHandler &handler) noexcept
|
||||
[[maybe_unused]] TagHandler &handler) noexcept
|
||||
{
|
||||
return fluid_is_midifile(path_fs.c_str());
|
||||
}
|
||||
|
@ -62,7 +62,7 @@ static int gme_accuracy;
|
||||
#endif
|
||||
|
||||
static bool
|
||||
gme_plugin_init(gcc_unused const ConfigBlock &block)
|
||||
gme_plugin_init([[maybe_unused]] const ConfigBlock &block)
|
||||
{
|
||||
#if GME_VERSION >= 0x000600
|
||||
auto accuracy = block.GetBlockParam("accuracy");
|
||||
|
@ -37,7 +37,7 @@
|
||||
static constexpr Domain mpg123_domain("mpg123");
|
||||
|
||||
static bool
|
||||
mpd_mpg123_init(gcc_unused const ConfigBlock &block)
|
||||
mpd_mpg123_init([[maybe_unused]] const ConfigBlock &block)
|
||||
{
|
||||
mpg123_init();
|
||||
|
||||
|
@ -64,7 +64,7 @@ IsOpusTags(const ogg_packet &packet) noexcept
|
||||
}
|
||||
|
||||
bool
|
||||
mpd_opus_init(gcc_unused const ConfigBlock &block)
|
||||
mpd_opus_init([[maybe_unused]] const ConfigBlock &block)
|
||||
{
|
||||
LogDebug(opus_domain, opus_get_version_string());
|
||||
|
||||
|
@ -34,7 +34,7 @@
|
||||
static constexpr Domain sndfile_domain("sndfile");
|
||||
|
||||
static bool
|
||||
sndfile_init(gcc_unused const ConfigBlock &block)
|
||||
sndfile_init([[maybe_unused]] const ConfigBlock &block)
|
||||
{
|
||||
LogDebug(sndfile_domain, sf_version_string());
|
||||
return true;
|
||||
@ -109,9 +109,9 @@ sndfile_vio_read(void *ptr, sf_count_t count, void *user_data)
|
||||
}
|
||||
|
||||
static sf_count_t
|
||||
sndfile_vio_write(gcc_unused const void *ptr,
|
||||
gcc_unused sf_count_t count,
|
||||
gcc_unused void *user_data)
|
||||
sndfile_vio_write([[maybe_unused]] const void *ptr,
|
||||
[[maybe_unused]] sf_count_t count,
|
||||
[[maybe_unused]] void *user_data)
|
||||
{
|
||||
/* no writing! */
|
||||
return -1;
|
||||
|
@ -311,7 +311,7 @@ VorbisDecoder::OnOggEnd()
|
||||
/* public */
|
||||
|
||||
static bool
|
||||
vorbis_init(gcc_unused const ConfigBlock &block)
|
||||
vorbis_init([[maybe_unused]] const ConfigBlock &block)
|
||||
{
|
||||
#ifndef HAVE_TREMOR
|
||||
LogDebug(vorbis_domain, vorbis_version_string());
|
||||
|
@ -143,7 +143,7 @@ format_samples_int(void *buffer, uint32_t count)
|
||||
* No conversion necessary.
|
||||
*/
|
||||
static void
|
||||
format_samples_nop(gcc_unused void *buffer, gcc_unused uint32_t count)
|
||||
format_samples_nop([[maybe_unused]] void *buffer, [[maybe_unused]] uint32_t count)
|
||||
{
|
||||
/* do nothing */
|
||||
}
|
||||
|
@ -84,7 +84,7 @@ public:
|
||||
*
|
||||
* @param tag the tag object
|
||||
*/
|
||||
virtual void SendTag(gcc_unused const Tag &tag) {
|
||||
virtual void SendTag([[maybe_unused]] const Tag &tag) {
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -69,8 +69,8 @@ private:
|
||||
static FLAC__StreamEncoderWriteStatus WriteCallback(const FLAC__StreamEncoder *,
|
||||
const FLAC__byte data[],
|
||||
size_t bytes,
|
||||
gcc_unused unsigned samples,
|
||||
gcc_unused unsigned current_frame,
|
||||
[[maybe_unused]] unsigned samples,
|
||||
[[maybe_unused]] unsigned current_frame,
|
||||
void *client_data) noexcept {
|
||||
auto &encoder = *(FlacEncoder *)client_data;
|
||||
encoder.output_buffer.Append((const uint8_t *)data, bytes);
|
||||
|
@ -49,7 +49,7 @@ public:
|
||||
};
|
||||
|
||||
static PreparedEncoder *
|
||||
null_encoder_init(gcc_unused const ConfigBlock &block)
|
||||
null_encoder_init([[maybe_unused]] const ConfigBlock &block)
|
||||
{
|
||||
return new PreparedNullEncoder();
|
||||
}
|
||||
|
@ -98,7 +98,7 @@ fill_wave_header(WaveHeader *header, int channels, int bits,
|
||||
}
|
||||
|
||||
static PreparedEncoder *
|
||||
wave_encoder_init(gcc_unused const ConfigBlock &block)
|
||||
wave_encoder_init([[maybe_unused]] const ConfigBlock &block)
|
||||
{
|
||||
return new PreparedWaveEncoder();
|
||||
}
|
||||
|
@ -271,7 +271,7 @@ EventLoop::HandleDeferred() noexcept
|
||||
}
|
||||
|
||||
bool
|
||||
EventLoop::OnSocketReady(gcc_unused unsigned flags) noexcept
|
||||
EventLoop::OnSocketReady([[maybe_unused]] unsigned flags) noexcept
|
||||
{
|
||||
assert(IsInside());
|
||||
|
||||
|
@ -89,7 +89,7 @@ public:
|
||||
return epoll.Remove(fd);
|
||||
}
|
||||
|
||||
bool Abandon(gcc_unused int fd) noexcept {
|
||||
bool Abandon([[maybe_unused]] int fd) noexcept {
|
||||
// Nothing to do in this implementation.
|
||||
// Closed descriptors are automatically unregistered.
|
||||
return true;
|
||||
|
@ -161,7 +161,7 @@ ServerSocket::OneServerSocket::Accept() noexcept
|
||||
}
|
||||
|
||||
bool
|
||||
ServerSocket::OneServerSocket::OnSocketReady(gcc_unused unsigned flags) noexcept
|
||||
ServerSocket::OneServerSocket::OnSocketReady([[maybe_unused]] unsigned flags) noexcept
|
||||
{
|
||||
Accept();
|
||||
return true;
|
||||
|
@ -43,7 +43,7 @@ public:
|
||||
observer.proxy = nullptr;
|
||||
}
|
||||
|
||||
void Clear(gcc_unused Proxy *_child) noexcept {
|
||||
void Clear([[maybe_unused]] Proxy *_child) noexcept {
|
||||
assert(child == _child);
|
||||
child = nullptr;
|
||||
}
|
||||
|
@ -53,7 +53,7 @@ public:
|
||||
};
|
||||
|
||||
static std::unique_ptr<PreparedFilter>
|
||||
normalize_filter_init(gcc_unused const ConfigBlock &block)
|
||||
normalize_filter_init([[maybe_unused]] const ConfigBlock &block)
|
||||
{
|
||||
return std::make_unique<PreparedNormalizeFilter>();
|
||||
}
|
||||
|
@ -38,7 +38,7 @@ public:
|
||||
};
|
||||
|
||||
static std::unique_ptr<PreparedFilter>
|
||||
null_filter_init(gcc_unused const ConfigBlock &block)
|
||||
null_filter_init([[maybe_unused]] const ConfigBlock &block)
|
||||
{
|
||||
return std::make_unique<PreparedNullFilter>();
|
||||
}
|
||||
|
@ -81,7 +81,7 @@ FileOutputStream::Open()
|
||||
#ifdef _WIN32
|
||||
|
||||
inline void
|
||||
FileOutputStream::OpenCreate(gcc_unused bool visible)
|
||||
FileOutputStream::OpenCreate([[maybe_unused]] bool visible)
|
||||
{
|
||||
handle = CreateFile(path.c_str(), GENERIC_WRITE, 0, nullptr,
|
||||
CREATE_ALWAYS,
|
||||
|
@ -58,7 +58,7 @@ public:
|
||||
*/
|
||||
IcyInputStream(InputStreamPtr _input,
|
||||
std::shared_ptr<IcyMetaDataParser> _parser);
|
||||
virtual ~IcyInputStream() noexcept;
|
||||
~IcyInputStream() noexcept override;
|
||||
|
||||
IcyInputStream(const IcyInputStream &) = delete;
|
||||
IcyInputStream &operator=(const IcyInputStream &) = delete;
|
||||
|
@ -69,7 +69,7 @@ InputStream::CheapSeeking() const noexcept
|
||||
}
|
||||
|
||||
void
|
||||
InputStream::Seek(std::unique_lock<Mutex> &, gcc_unused offset_type new_offset)
|
||||
InputStream::Seek(std::unique_lock<Mutex> &, [[maybe_unused]] offset_type new_offset)
|
||||
{
|
||||
throw std::runtime_error("Seeking is not implemented");
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ public:
|
||||
Mutex &_mutex) noexcept
|
||||
:InputStream(_uri, _mutex) {}
|
||||
|
||||
virtual ~ProxyInputStream() noexcept;
|
||||
~ProxyInputStream() noexcept override;
|
||||
|
||||
ProxyInputStream(const ProxyInputStream &) = delete;
|
||||
ProxyInputStream &operator=(const ProxyInputStream &) = delete;
|
||||
|
@ -110,7 +110,7 @@ protected:
|
||||
InvalidateSockets();
|
||||
}
|
||||
|
||||
void DoSeek(gcc_unused offset_type new_offset) override {
|
||||
void DoSeek([[maybe_unused]] offset_type new_offset) override {
|
||||
/* unreachable because seekable==false */
|
||||
SeekDone();
|
||||
}
|
||||
@ -289,7 +289,7 @@ AlsaInputStream::Recover(int err)
|
||||
if (err == -EAGAIN)
|
||||
return 0;
|
||||
/* fall-through to snd_pcm_prepare: */
|
||||
#if GCC_CHECK_VERSION(7,0)
|
||||
#if CLANG_OR_GCC_VERSION(7,0)
|
||||
[[fallthrough]];
|
||||
#endif
|
||||
case SND_PCM_STATE_OPEN:
|
||||
|
@ -108,7 +108,7 @@ CurlGlobal::CurlGlobal(EventLoop &_loop)
|
||||
}
|
||||
|
||||
int
|
||||
CurlSocket::SocketFunction(gcc_unused CURL *easy,
|
||||
CurlSocket::SocketFunction([[maybe_unused]] CURL *easy,
|
||||
curl_socket_t s, int action,
|
||||
void *userp, void *socketp) noexcept
|
||||
{
|
||||
@ -230,7 +230,7 @@ CurlGlobal::UpdateTimeout(long timeout_ms) noexcept
|
||||
}
|
||||
|
||||
int
|
||||
CurlGlobal::TimerFunction(gcc_unused CURLM *_multi, long timeout_ms,
|
||||
CurlGlobal::TimerFunction([[maybe_unused]] CURLM *_multi, long timeout_ms,
|
||||
void *userp) noexcept
|
||||
{
|
||||
auto &global = *(CurlGlobal *)userp;
|
||||
|
@ -80,7 +80,7 @@ public:
|
||||
throw std::runtime_error("dbus_message_iter_append_fixed_array() failed");
|
||||
|
||||
return *this;
|
||||
};
|
||||
}
|
||||
|
||||
AppendMessageIter &AppendFixedArray(ConstBuffer<uint32_t> value) {
|
||||
return AppendFixedArray(DBUS_TYPE_UINT32,
|
||||
|
@ -71,7 +71,7 @@ public:
|
||||
return error.message;
|
||||
}
|
||||
|
||||
gcc_noreturn
|
||||
[[noreturn]]
|
||||
void Throw(const char *prefix) const;
|
||||
void CheckThrow(const char *prefix) const;
|
||||
};
|
||||
|
@ -47,7 +47,7 @@ FfmpegImportLogLevel(int level) noexcept
|
||||
}
|
||||
|
||||
void
|
||||
FfmpegLogCallback(gcc_unused void *ptr, int level, const char *fmt, std::va_list vl)
|
||||
FfmpegLogCallback(void *ptr, int level, const char *fmt, std::va_list vl)
|
||||
{
|
||||
const AVClass * cls = nullptr;
|
||||
|
||||
|
@ -172,7 +172,7 @@ NfsConnection::CancellableCallback::Callback(int err, void *data) noexcept
|
||||
|
||||
void
|
||||
NfsConnection::CancellableCallback::Callback(int err,
|
||||
gcc_unused struct nfs_context *nfs,
|
||||
[[maybe_unused]] struct nfs_context *nfs,
|
||||
void *data,
|
||||
void *private_data) noexcept
|
||||
{
|
||||
@ -551,8 +551,8 @@ NfsConnection::OnSocketReady(unsigned flags) noexcept
|
||||
}
|
||||
|
||||
inline void
|
||||
NfsConnection::MountCallback(int status, gcc_unused nfs_context *nfs,
|
||||
gcc_unused void *data) noexcept
|
||||
NfsConnection::MountCallback(int status, [[maybe_unused]] nfs_context *nfs,
|
||||
[[maybe_unused]] void *data) noexcept
|
||||
{
|
||||
assert(GetEventLoop().IsInside());
|
||||
assert(context == nfs);
|
||||
|
@ -27,11 +27,11 @@
|
||||
#include <string.h>
|
||||
|
||||
static void
|
||||
mpd_smbc_get_auth_data(gcc_unused const char *srv,
|
||||
gcc_unused const char *shr,
|
||||
char *wg, gcc_unused int wglen,
|
||||
char *un, gcc_unused int unlen,
|
||||
char *pw, gcc_unused int pwlen)
|
||||
mpd_smbc_get_auth_data([[maybe_unused]] const char *srv,
|
||||
[[maybe_unused]] const char *shr,
|
||||
char *wg, [[maybe_unused]] int wglen,
|
||||
char *un, [[maybe_unused]] int unlen,
|
||||
char *pw, [[maybe_unused]] int pwlen)
|
||||
{
|
||||
// TODO: implement
|
||||
strcpy(wg, "WORKGROUP");
|
||||
|
@ -54,7 +54,7 @@ Bind(sqlite3_stmt *stmt, unsigned i, const char *value)
|
||||
|
||||
template<typename... Args>
|
||||
static void
|
||||
BindAll2(gcc_unused sqlite3_stmt *stmt, gcc_unused unsigned i)
|
||||
BindAll2([[maybe_unused]] sqlite3_stmt *stmt, [[maybe_unused]] unsigned i)
|
||||
{
|
||||
assert(int(i - 1) == sqlite3_bind_parameter_count(stmt));
|
||||
}
|
||||
|
@ -32,7 +32,7 @@ CountNameValuePairs() noexcept
|
||||
|
||||
template<typename... Args>
|
||||
static constexpr unsigned
|
||||
CountNameValuePairs(gcc_unused const char *name, gcc_unused const char *value,
|
||||
CountNameValuePairs([[maybe_unused]] const char *name, [[maybe_unused]] const char *value,
|
||||
Args... args) noexcept
|
||||
{
|
||||
return 1 + CountNameValuePairs(args...);
|
||||
|
@ -119,7 +119,7 @@ FlacIOEof(FLAC__IOHandle handle)
|
||||
}
|
||||
|
||||
static int
|
||||
FlacIOClose(gcc_unused FLAC__IOHandle handle)
|
||||
FlacIOClose([[maybe_unused]] FLAC__IOHandle handle)
|
||||
{
|
||||
/* no-op because the libFLAC caller is responsible for closing
|
||||
the #InputStream */
|
||||
|
@ -173,7 +173,7 @@ AlsaMixer::Configure(const ConfigBlock &block)
|
||||
}
|
||||
|
||||
static Mixer *
|
||||
alsa_mixer_init(EventLoop &event_loop, gcc_unused AudioOutput &ao,
|
||||
alsa_mixer_init(EventLoop &event_loop, [[maybe_unused]] AudioOutput &ao,
|
||||
MixerListener &listener,
|
||||
const ConfigBlock &block)
|
||||
{
|
||||
|
@ -47,9 +47,9 @@ public:
|
||||
};
|
||||
|
||||
static Mixer *
|
||||
haiku_mixer_init(gcc_unused EventLoop &event_loop, AudioOutput &ao,
|
||||
haiku_mixer_init([[maybe_unused]] EventLoop &event_loop, AudioOutput &ao,
|
||||
MixerListener &listener,
|
||||
gcc_unused const ConfigBlock &block)
|
||||
[[maybe_unused]] const ConfigBlock &block)
|
||||
{
|
||||
return new HaikuMixer((HaikuOutput &)ao, listener);
|
||||
}
|
||||
|
@ -49,10 +49,10 @@ public:
|
||||
};
|
||||
|
||||
static Mixer *
|
||||
null_mixer_init(gcc_unused EventLoop &event_loop,
|
||||
gcc_unused AudioOutput &ao,
|
||||
null_mixer_init([[maybe_unused]] EventLoop &event_loop,
|
||||
[[maybe_unused]] AudioOutput &ao,
|
||||
MixerListener &listener,
|
||||
gcc_unused const ConfigBlock &block)
|
||||
[[maybe_unused]] const ConfigBlock &block)
|
||||
{
|
||||
return new NullMixer(listener);
|
||||
}
|
||||
|
@ -54,9 +54,9 @@ OSXMixer::SetVolume(unsigned new_volume)
|
||||
}
|
||||
|
||||
static Mixer *
|
||||
osx_mixer_init(gcc_unused EventLoop &event_loop, AudioOutput &ao,
|
||||
osx_mixer_init([[maybe_unused]] EventLoop &event_loop, AudioOutput &ao,
|
||||
MixerListener &listener,
|
||||
gcc_unused const ConfigBlock &block)
|
||||
[[maybe_unused]] const ConfigBlock &block)
|
||||
{
|
||||
OSXOutput &osxo = (OSXOutput &)ao;
|
||||
return new OSXMixer(osxo, listener);
|
||||
|
@ -97,8 +97,8 @@ OssMixer::Configure(const ConfigBlock &block)
|
||||
}
|
||||
|
||||
static Mixer *
|
||||
oss_mixer_init(gcc_unused EventLoop &event_loop,
|
||||
gcc_unused AudioOutput &ao,
|
||||
oss_mixer_init([[maybe_unused]] EventLoop &event_loop,
|
||||
[[maybe_unused]] AudioOutput &ao,
|
||||
MixerListener &listener,
|
||||
const ConfigBlock &block)
|
||||
{
|
||||
|
@ -104,7 +104,7 @@ PulseMixer::VolumeCallback(const pa_sink_input_info *i, int eol)
|
||||
* value.
|
||||
*/
|
||||
static void
|
||||
pulse_mixer_volume_cb(gcc_unused pa_context *context, const pa_sink_input_info *i,
|
||||
pulse_mixer_volume_cb([[maybe_unused]] pa_context *context, const pa_sink_input_info *i,
|
||||
int eol, void *userdata)
|
||||
{
|
||||
auto *pm = (PulseMixer *)userdata;
|
||||
@ -133,7 +133,7 @@ PulseMixer::Update(pa_context *context, pa_stream *stream)
|
||||
}
|
||||
|
||||
void
|
||||
pulse_mixer_on_connect(gcc_unused PulseMixer &pm,
|
||||
pulse_mixer_on_connect([[maybe_unused]] PulseMixer &pm,
|
||||
struct pa_context *context)
|
||||
{
|
||||
pa_operation *o;
|
||||
@ -182,7 +182,7 @@ parse_volume_scale_factor(const char *value) {
|
||||
}
|
||||
|
||||
static Mixer *
|
||||
pulse_mixer_init(gcc_unused EventLoop &event_loop, AudioOutput &ao,
|
||||
pulse_mixer_init([[maybe_unused]] EventLoop &event_loop, AudioOutput &ao,
|
||||
MixerListener &listener,
|
||||
const ConfigBlock &block)
|
||||
{
|
||||
|
@ -45,10 +45,10 @@ public:
|
||||
};
|
||||
|
||||
static Mixer *
|
||||
sndio_mixer_init(gcc_unused EventLoop &event_loop,
|
||||
sndio_mixer_init([[maybe_unused]] EventLoop &event_loop,
|
||||
AudioOutput &ao,
|
||||
MixerListener &listener,
|
||||
gcc_unused const ConfigBlock &block)
|
||||
[[maybe_unused]] const ConfigBlock &block)
|
||||
{
|
||||
return new SndioMixer((SndioOutput &)ao, listener);
|
||||
}
|
||||
|
@ -57,10 +57,10 @@ public:
|
||||
};
|
||||
|
||||
static Mixer *
|
||||
software_mixer_init(gcc_unused EventLoop &event_loop,
|
||||
gcc_unused AudioOutput &ao,
|
||||
software_mixer_init([[maybe_unused]] EventLoop &event_loop,
|
||||
[[maybe_unused]] AudioOutput &ao,
|
||||
MixerListener &listener,
|
||||
gcc_unused const ConfigBlock &block)
|
||||
[[maybe_unused]] const ConfigBlock &block)
|
||||
{
|
||||
return new SoftwareMixer(listener);
|
||||
}
|
||||
|
@ -63,9 +63,9 @@ winmm_volume_encode(int volume)
|
||||
}
|
||||
|
||||
static Mixer *
|
||||
winmm_mixer_init(gcc_unused EventLoop &event_loop, AudioOutput &ao,
|
||||
winmm_mixer_init([[maybe_unused]] EventLoop &event_loop, AudioOutput &ao,
|
||||
MixerListener &listener,
|
||||
gcc_unused const ConfigBlock &block)
|
||||
[[maybe_unused]] const ConfigBlock &block)
|
||||
{
|
||||
return new WinmmMixer((WinmmOutput &)ao, listener);
|
||||
}
|
||||
|
@ -252,9 +252,9 @@ SmbclientNeighborExplorer::ThreadFunc() noexcept
|
||||
}
|
||||
|
||||
static std::unique_ptr<NeighborExplorer>
|
||||
smbclient_neighbor_create(gcc_unused EventLoop &loop,
|
||||
smbclient_neighbor_create([[maybe_unused]] EventLoop &loop,
|
||||
NeighborListener &listener,
|
||||
gcc_unused const ConfigBlock &block)
|
||||
[[maybe_unused]] const ConfigBlock &block)
|
||||
{
|
||||
SmbclientInit();
|
||||
|
||||
|
@ -259,7 +259,7 @@ UdisksNeighborExplorer::HandleMessage(DBusConnection *connection,
|
||||
static std::unique_ptr<NeighborExplorer>
|
||||
udisks_neighbor_create(EventLoop &event_loop,
|
||||
NeighborListener &listener,
|
||||
gcc_unused const ConfigBlock &block)
|
||||
[[maybe_unused]] const ConfigBlock &block)
|
||||
{
|
||||
return std::make_unique<UdisksNeighborExplorer>(event_loop, listener);
|
||||
}
|
||||
|
@ -127,7 +127,7 @@ UpnpNeighborExplorer::LostUPnP(const ContentDirectoryService &service)
|
||||
static std::unique_ptr<NeighborExplorer>
|
||||
upnp_neighbor_create(EventLoop &event_loop,
|
||||
NeighborListener &listener,
|
||||
gcc_unused const ConfigBlock &block)
|
||||
[[maybe_unused]] const ConfigBlock &block)
|
||||
{
|
||||
return std::make_unique<UpnpNeighborExplorer>(event_loop, listener);
|
||||
}
|
||||
|
@ -23,8 +23,8 @@
|
||||
#include <stdexcept>
|
||||
|
||||
void
|
||||
AudioOutput::SetAttribute(gcc_unused std::string &&name,
|
||||
gcc_unused std::string &&value)
|
||||
AudioOutput::SetAttribute([[maybe_unused]] std::string &&name,
|
||||
[[maybe_unused]] std::string &&value)
|
||||
{
|
||||
throw std::invalid_argument("Unsupported attribute");
|
||||
}
|
||||
|
@ -76,7 +76,7 @@ public:
|
||||
|
||||
const MusicChunk *Get() noexcept;
|
||||
|
||||
void Consume(gcc_unused const MusicChunk &_chunk) {
|
||||
void Consume([[maybe_unused]] const MusicChunk &_chunk) {
|
||||
assert(chunk != nullptr);
|
||||
assert(chunk == &_chunk);
|
||||
|
||||
@ -86,7 +86,7 @@ public:
|
||||
gcc_pure
|
||||
bool IsConsumed(const MusicChunk &_chunk) const noexcept;
|
||||
|
||||
void ClearTail(gcc_unused const MusicChunk &_chunk) noexcept {
|
||||
void ClearTail([[maybe_unused]] const MusicChunk &_chunk) noexcept {
|
||||
assert(chunk == &_chunk);
|
||||
assert(consumed);
|
||||
chunk = nullptr;
|
||||
|
@ -763,7 +763,7 @@ AlsaOutput::Recover(int err) noexcept
|
||||
if (err == -EAGAIN)
|
||||
return 0;
|
||||
/* fall-through to snd_pcm_prepare: */
|
||||
#if GCC_CHECK_VERSION(7,0)
|
||||
#if CLANG_OR_GCC_VERSION(7,0)
|
||||
[[fallthrough]];
|
||||
#endif
|
||||
case SND_PCM_STATE_OPEN:
|
||||
|
@ -81,9 +81,9 @@ private:
|
||||
std::chrono::steady_clock::duration Delay() const noexcept override;
|
||||
|
||||
static void _FillBuffer(void* cookie, void* _buffer, size_t size,
|
||||
gcc_unused const media_raw_audio_format& _format);
|
||||
[[maybe_unused]] const media_raw_audio_format& _format);
|
||||
void FillBuffer(void* _buffer, size_t size,
|
||||
gcc_unused const media_raw_audio_format& _format);
|
||||
[[maybe_unused]] const media_raw_audio_format& _format);
|
||||
|
||||
void SendTag(const Tag &tag) override;
|
||||
};
|
||||
@ -154,7 +154,7 @@ HaikuOutput::_FillBuffer(void* cookie, void* buffer, size_t size,
|
||||
|
||||
void
|
||||
HaikuOutput::FillBuffer(void* _buffer, size_t size,
|
||||
gcc_unused const media_raw_audio_format& _format)
|
||||
[[maybe_unused]] const media_raw_audio_format& _format)
|
||||
{
|
||||
|
||||
buffer = (uint8*)_buffer;
|
||||
|
@ -53,7 +53,7 @@ private:
|
||||
: std::chrono::steady_clock::duration::zero();
|
||||
}
|
||||
|
||||
size_t Play(gcc_unused const void *chunk, size_t size) override {
|
||||
size_t Play([[maybe_unused]] const void *chunk, size_t size) override {
|
||||
if (sync) {
|
||||
if (!timer->IsStarted())
|
||||
timer->Start();
|
||||
|
@ -710,9 +710,9 @@ osx_output_set_device(OSXOutput *oo)
|
||||
*/
|
||||
static OSStatus
|
||||
osx_render(void *vdata,
|
||||
gcc_unused AudioUnitRenderActionFlags *io_action_flags,
|
||||
gcc_unused const AudioTimeStamp *in_timestamp,
|
||||
gcc_unused UInt32 in_bus_number,
|
||||
[[maybe_unused]] AudioUnitRenderActionFlags *io_action_flags,
|
||||
[[maybe_unused]] const AudioTimeStamp *in_timestamp,
|
||||
[[maybe_unused]] UInt32 in_bus_number,
|
||||
UInt32 in_number_frames,
|
||||
AudioBufferList *buffer_list)
|
||||
{
|
||||
|
@ -57,7 +57,7 @@ PipeOutput::PipeOutput(const ConfigBlock &block)
|
||||
}
|
||||
|
||||
inline void
|
||||
PipeOutput::Open(gcc_unused AudioFormat &audio_format)
|
||||
PipeOutput::Open([[maybe_unused]] AudioFormat &audio_format)
|
||||
{
|
||||
fh = popen(cmd.c_str(), "w");
|
||||
if (fh == nullptr)
|
||||
|
@ -62,7 +62,7 @@ class PulseOutput final : AudioOutput {
|
||||
public:
|
||||
void SetMixer(PulseMixer &_mixer);
|
||||
|
||||
void ClearMixer(gcc_unused PulseMixer &old_mixer) {
|
||||
void ClearMixer([[maybe_unused]] PulseMixer &old_mixer) {
|
||||
assert(mixer == &old_mixer);
|
||||
|
||||
mixer = nullptr;
|
||||
@ -277,8 +277,8 @@ pulse_wait_for_operation(struct pa_threaded_mainloop *mainloop,
|
||||
* the caller thread, to wake pulse_wait_for_operation() up.
|
||||
*/
|
||||
static void
|
||||
pulse_output_stream_success_cb(gcc_unused pa_stream *s,
|
||||
gcc_unused int success, void *userdata)
|
||||
pulse_output_stream_success_cb([[maybe_unused]] pa_stream *s,
|
||||
[[maybe_unused]] int success, void *userdata)
|
||||
{
|
||||
PulseOutput &po = *(PulseOutput *)userdata;
|
||||
|
||||
@ -342,7 +342,7 @@ PulseOutput::OnServerLayoutChanged(pa_subscription_event_type_t t,
|
||||
}
|
||||
|
||||
static void
|
||||
pulse_output_subscribe_cb(gcc_unused pa_context *context,
|
||||
pulse_output_subscribe_cb([[maybe_unused]] pa_context *context,
|
||||
pa_subscription_event_type_t t,
|
||||
uint32_t idx, void *userdata)
|
||||
{
|
||||
@ -508,7 +508,7 @@ PulseOutput::WaitConnection()
|
||||
}
|
||||
|
||||
inline void
|
||||
PulseOutput::OnStreamSuspended(gcc_unused pa_stream *_stream)
|
||||
PulseOutput::OnStreamSuspended([[maybe_unused]] pa_stream *_stream)
|
||||
{
|
||||
assert(_stream == stream || stream == nullptr);
|
||||
assert(mainloop != nullptr);
|
||||
@ -574,7 +574,7 @@ PulseOutput::OnStreamWrite(size_t nbytes)
|
||||
}
|
||||
|
||||
static void
|
||||
pulse_output_stream_write_cb(gcc_unused pa_stream *stream, size_t nbytes,
|
||||
pulse_output_stream_write_cb([[maybe_unused]] pa_stream *stream, size_t nbytes,
|
||||
void *userdata)
|
||||
{
|
||||
PulseOutput &po = *(PulseOutput *)userdata;
|
||||
|
@ -121,7 +121,7 @@ HttpdOutput::OnDeferredBroadcast() noexcept
|
||||
|
||||
void
|
||||
HttpdOutput::OnAccept(UniqueSocketDescriptor fd,
|
||||
SocketAddress, gcc_unused int uid) noexcept
|
||||
SocketAddress, [[maybe_unused]] int uid) noexcept
|
||||
{
|
||||
/* the listener socket has become readable - a client has
|
||||
connected */
|
||||
|
@ -111,7 +111,7 @@ private:
|
||||
* been consumed. It synthesises and enqueues the next
|
||||
* buffer.
|
||||
*/
|
||||
static void PlayedCallback(gcc_unused SLAndroidSimpleBufferQueueItf caller,
|
||||
static void PlayedCallback([[maybe_unused]] SLAndroidSimpleBufferQueueItf caller,
|
||||
void *pContext)
|
||||
{
|
||||
SlesOutput &sles = *(SlesOutput *)pContext;
|
||||
|
@ -1176,7 +1176,9 @@ try {
|
||||
}
|
||||
|
||||
/* fall through */
|
||||
gcc_fallthrough;
|
||||
#if CLANG_OR_GCC_VERSION(7,0)
|
||||
[[fallthrough]];
|
||||
#endif
|
||||
|
||||
case PlayerCommand::PAUSE:
|
||||
next_song.reset();
|
||||
|
@ -82,7 +82,7 @@ ExtractCuesheetTagHandler::OnPair(StringView name, StringView value) noexcept
|
||||
|
||||
static std::unique_ptr<SongEnumerator>
|
||||
embcue_playlist_open_uri(const char *uri,
|
||||
gcc_unused Mutex &mutex)
|
||||
[[maybe_unused]] Mutex &mutex)
|
||||
{
|
||||
if (!PathTraitsUTF8::IsAbsolute(uri))
|
||||
/* only local files supported */
|
||||
|
@ -79,7 +79,7 @@ static constexpr struct tag_table xspf_tag_elements[] = {
|
||||
|
||||
static void XMLCALL
|
||||
xspf_start_element(void *user_data, const XML_Char *element_name,
|
||||
gcc_unused const XML_Char **atts)
|
||||
[[maybe_unused]] const XML_Char **atts)
|
||||
{
|
||||
auto *parser = (XspfParser *)user_data;
|
||||
parser->value.clear();
|
||||
|
@ -87,7 +87,7 @@ class CompositeStorage final : public Storage {
|
||||
|
||||
public:
|
||||
CompositeStorage() noexcept;
|
||||
virtual ~CompositeStorage();
|
||||
~CompositeStorage() override;
|
||||
|
||||
/**
|
||||
* Get the #Storage at the specified mount point. Returns
|
||||
|
@ -36,7 +36,7 @@ MemoryStorageDirectoryReader::Read() noexcept
|
||||
}
|
||||
|
||||
StorageFileInfo
|
||||
MemoryStorageDirectoryReader::GetInfo(gcc_unused bool follow)
|
||||
MemoryStorageDirectoryReader::GetInfo([[maybe_unused]] bool follow)
|
||||
{
|
||||
assert(!first);
|
||||
assert(!entries.empty());
|
||||
|
@ -22,7 +22,7 @@
|
||||
#include "fs/Traits.hxx"
|
||||
|
||||
AllocatedPath
|
||||
Storage::MapFS(gcc_unused const char *uri_utf8) const noexcept
|
||||
Storage::MapFS([[maybe_unused]] const char *uri_utf8) const noexcept
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
@ -315,7 +315,7 @@ private:
|
||||
|
||||
/* virtual methods from CommonExpatParser */
|
||||
void StartElement(const XML_Char *name,
|
||||
gcc_unused const XML_Char **attrs) final {
|
||||
[[maybe_unused]] const XML_Char **attrs) final {
|
||||
switch (state) {
|
||||
case State::ROOT:
|
||||
if (strcmp(name, "DAV:|response") == 0)
|
||||
@ -447,7 +447,7 @@ protected:
|
||||
};
|
||||
|
||||
StorageFileInfo
|
||||
CurlStorage::GetInfo(const char *uri_utf8, gcc_unused bool follow)
|
||||
CurlStorage::GetInfo(const char *uri_utf8, [[maybe_unused]] bool follow)
|
||||
{
|
||||
// TODO: escape the given URI
|
||||
|
||||
|
@ -288,7 +288,7 @@ protected:
|
||||
connection.Lstat(path, *this);
|
||||
}
|
||||
|
||||
void HandleResult(gcc_unused unsigned status, void *data) noexcept override {
|
||||
void HandleResult([[maybe_unused]] unsigned status, void *data) noexcept override {
|
||||
Copy(info, *(const struct nfs_stat_64 *)data);
|
||||
}
|
||||
};
|
||||
@ -356,7 +356,7 @@ protected:
|
||||
connection.OpenDirectory(path, *this);
|
||||
}
|
||||
|
||||
void HandleResult(gcc_unused unsigned status,
|
||||
void HandleResult([[maybe_unused]] unsigned status,
|
||||
void *data) noexcept override {
|
||||
auto *const dir = (struct nfsdir *)data;
|
||||
|
||||
|
@ -117,7 +117,7 @@ GetInfo(const char *path)
|
||||
}
|
||||
|
||||
StorageFileInfo
|
||||
SmbclientStorage::GetInfo(const char *uri_utf8, gcc_unused bool follow)
|
||||
SmbclientStorage::GetInfo(const char *uri_utf8, [[maybe_unused]] bool follow)
|
||||
{
|
||||
const std::string mapped = MapUTF8(uri_utf8);
|
||||
return ::GetInfo(mapped.c_str());
|
||||
@ -172,14 +172,14 @@ SmbclientDirectoryReader::Read() noexcept
|
||||
}
|
||||
|
||||
StorageFileInfo
|
||||
SmbclientDirectoryReader::GetInfo(gcc_unused bool follow)
|
||||
SmbclientDirectoryReader::GetInfo([[maybe_unused]] bool follow)
|
||||
{
|
||||
const std::string path = PathTraitsUTF8::Build(base.c_str(), name);
|
||||
return ::GetInfo(path.c_str());
|
||||
}
|
||||
|
||||
static std::unique_ptr<Storage>
|
||||
CreateSmbclientStorageURI(gcc_unused EventLoop &event_loop, const char *base)
|
||||
CreateSmbclientStorageURI([[maybe_unused]] EventLoop &event_loop, const char *base)
|
||||
{
|
||||
if (!StringStartsWithCaseASCII(base, "smb://"))
|
||||
return nullptr;
|
||||
|
@ -56,6 +56,6 @@ EventFD::Write() noexcept
|
||||
assert(fd.IsDefined());
|
||||
|
||||
static constexpr eventfd_t value = 1;
|
||||
gcc_unused ssize_t nbytes =
|
||||
[[maybe_unused]] ssize_t nbytes =
|
||||
fd.Write(&value, sizeof(value));
|
||||
}
|
||||
|
@ -85,7 +85,7 @@ EventPipe::Write() noexcept
|
||||
#ifdef _WIN32
|
||||
send(fds[1], "", 1, 0);
|
||||
#else
|
||||
gcc_unused ssize_t nbytes = write(fds[1], "", 1);
|
||||
[[maybe_unused]] ssize_t nbytes = write(fds[1], "", 1);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -36,7 +36,7 @@
|
||||
|
||||
static constexpr Domain fatal_error_domain("fatal_error");
|
||||
|
||||
gcc_noreturn
|
||||
[[noreturn]]
|
||||
static void
|
||||
Abort()
|
||||
{
|
||||
|
@ -29,11 +29,11 @@
|
||||
/**
|
||||
* Log the specified message and abort the process.
|
||||
*/
|
||||
gcc_noreturn
|
||||
[[noreturn]]
|
||||
void
|
||||
FatalError(const char *msg);
|
||||
|
||||
gcc_noreturn
|
||||
[[noreturn]]
|
||||
void
|
||||
FormatFatalError(const char *fmt, ...);
|
||||
|
||||
@ -42,19 +42,19 @@ FormatFatalError(const char *fmt, ...);
|
||||
* fail. Prints the given message, the system error message (from
|
||||
* errno or GetLastError()) and abort the process.
|
||||
*/
|
||||
gcc_noreturn
|
||||
[[noreturn]]
|
||||
void
|
||||
FatalSystemError(const char *msg);
|
||||
|
||||
#ifdef _WIN32
|
||||
|
||||
gcc_noreturn
|
||||
[[noreturn]]
|
||||
void
|
||||
FatalSystemError(const char *msg, DWORD code);
|
||||
|
||||
#endif
|
||||
|
||||
gcc_noreturn
|
||||
[[noreturn]]
|
||||
void
|
||||
FormatFatalSystemError(const char *fmt, ...);
|
||||
|
||||
|
@ -41,7 +41,7 @@ NullTagHandler::OnPicture(const char *, ConstBuffer<void>) noexcept
|
||||
}
|
||||
|
||||
void
|
||||
NullTagHandler::OnAudioFormat(gcc_unused AudioFormat af) noexcept
|
||||
NullTagHandler::OnAudioFormat([[maybe_unused]] AudioFormat af) noexcept
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -124,7 +124,7 @@ public:
|
||||
explicit NullTagHandler(unsigned _want_mask) noexcept
|
||||
:TagHandler(_want_mask) {}
|
||||
|
||||
void OnDuration(gcc_unused SongTime duration) noexcept override {}
|
||||
void OnDuration([[maybe_unused]] SongTime duration) noexcept override {}
|
||||
void OnTag(TagType type, StringView value) noexcept override;
|
||||
void OnPair(StringView key, StringView value) noexcept override;
|
||||
void OnAudioFormat(AudioFormat af) noexcept override;
|
||||
|
@ -53,7 +53,7 @@ class ScopeUnlock {
|
||||
public:
|
||||
explicit ScopeUnlock(Mutex &_mutex) noexcept:mutex(_mutex) {
|
||||
mutex.unlock();
|
||||
};
|
||||
}
|
||||
|
||||
~ScopeUnlock() noexcept {
|
||||
mutex.lock();
|
||||
|
@ -58,7 +58,7 @@ SetThreadName(const char *name) noexcept
|
||||
|
||||
template<typename... Args>
|
||||
static inline void
|
||||
FormatThreadName(const char *fmt, gcc_unused Args&&... args) noexcept
|
||||
FormatThreadName(const char *fmt, [[maybe_unused]] Args&&... args) noexcept
|
||||
{
|
||||
#ifdef HAVE_THREAD_NAME
|
||||
SetThreadName(StringFormat<16>(fmt, args...));
|
||||
|
@ -45,10 +45,12 @@ daemonize_finish()
|
||||
* pid file.
|
||||
*/
|
||||
#ifndef _WIN32
|
||||
[[noreturn]]
|
||||
void
|
||||
daemonize_kill();
|
||||
#else
|
||||
#include <stdexcept>
|
||||
[[noreturn]]
|
||||
static inline void
|
||||
daemonize_kill()
|
||||
{
|
||||
|
@ -25,7 +25,7 @@
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
gcc_noreturn
|
||||
[[noreturn]]
|
||||
static void
|
||||
oom()
|
||||
{
|
||||
|
@ -68,16 +68,12 @@
|
||||
/* GCC 4.x */
|
||||
|
||||
#define gcc_const __attribute__((const))
|
||||
#define gcc_deprecated __attribute__((deprecated))
|
||||
#define gcc_may_alias __attribute__((may_alias))
|
||||
#define gcc_malloc __attribute__((malloc))
|
||||
#define gcc_noreturn __attribute__((noreturn))
|
||||
#define gcc_packed __attribute__((packed))
|
||||
#define gcc_printf(a,b) __attribute__((format(printf, a, b)))
|
||||
#define gcc_pure __attribute__((pure))
|
||||
#define gcc_sentinel __attribute__((sentinel))
|
||||
#define gcc_unused __attribute__((unused))
|
||||
#define gcc_warn_unused_result __attribute__((warn_unused_result))
|
||||
|
||||
#define gcc_nonnull(...) __attribute__((nonnull(__VA_ARGS__)))
|
||||
#define gcc_nonnull_all __attribute__((nonnull))
|
||||
@ -98,16 +94,12 @@
|
||||
/* generic C compiler */
|
||||
|
||||
#define gcc_const
|
||||
#define gcc_deprecated
|
||||
#define gcc_may_alias
|
||||
#define gcc_malloc
|
||||
#define gcc_noreturn
|
||||
#define gcc_packed
|
||||
#define gcc_printf(a,b)
|
||||
#define gcc_pure
|
||||
#define gcc_sentinel
|
||||
#define gcc_unused
|
||||
#define gcc_warn_unused_result
|
||||
|
||||
#define gcc_nonnull(...)
|
||||
#define gcc_nonnull_all
|
||||
@ -167,12 +159,6 @@
|
||||
#define __has_feature(x) 0
|
||||
#endif
|
||||
|
||||
#if __has_feature(attribute_unused_on_fields)
|
||||
#define gcc_unused_field gcc_unused
|
||||
#else
|
||||
#define gcc_unused_field
|
||||
#endif
|
||||
|
||||
#if defined(__GNUC__) || defined(__clang__)
|
||||
#define gcc_unreachable() __builtin_unreachable()
|
||||
#else
|
||||
|
@ -42,14 +42,14 @@
|
||||
* the std::exception_ptr itself.
|
||||
*/
|
||||
template<typename T>
|
||||
gcc_noreturn
|
||||
[[noreturn]]
|
||||
inline void
|
||||
ThrowException(T &&t)
|
||||
{
|
||||
throw std::forward<T>(t);
|
||||
}
|
||||
|
||||
gcc_noreturn
|
||||
[[noreturn]]
|
||||
inline void
|
||||
ThrowException(std::exception_ptr ep)
|
||||
{
|
||||
|
@ -204,7 +204,7 @@ struct CheckSequenceUTF8 {
|
||||
|
||||
template<>
|
||||
struct CheckSequenceUTF8<0U> {
|
||||
constexpr bool operator()(gcc_unused const char *p) const noexcept {
|
||||
constexpr bool operator()([[maybe_unused]] const char *p) const noexcept {
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
@ -64,8 +64,8 @@ service_notify_status(DWORD status_code)
|
||||
}
|
||||
|
||||
static DWORD WINAPI
|
||||
service_dispatcher(gcc_unused DWORD control, gcc_unused DWORD event_type,
|
||||
gcc_unused void *event_data, gcc_unused void *context)
|
||||
service_dispatcher([[maybe_unused]] DWORD control, [[maybe_unused]] DWORD event_type,
|
||||
[[maybe_unused]] void *event_data, [[maybe_unused]] void *context)
|
||||
{
|
||||
switch (control) {
|
||||
case SERVICE_CONTROL_SHUTDOWN:
|
||||
@ -78,7 +78,7 @@ service_dispatcher(gcc_unused DWORD control, gcc_unused DWORD event_type,
|
||||
}
|
||||
|
||||
static void WINAPI
|
||||
service_main(gcc_unused DWORD argc, gcc_unused LPTSTR argv[])
|
||||
service_main([[maybe_unused]] DWORD argc, [[maybe_unused]] LPTSTR argv[])
|
||||
{
|
||||
service_handle =
|
||||
RegisterServiceCtrlHandlerEx(service_name,
|
||||
|
@ -49,7 +49,7 @@ AvahiRegisterService(AvahiClient *c);
|
||||
static void
|
||||
AvahiGroupCallback(AvahiEntryGroup *g,
|
||||
AvahiEntryGroupState state,
|
||||
gcc_unused void *userdata)
|
||||
[[maybe_unused]] void *userdata)
|
||||
{
|
||||
assert(g != nullptr);
|
||||
|
||||
@ -149,7 +149,7 @@ AvahiRegisterService(AvahiClient *c)
|
||||
/* Callback when avahi changes state */
|
||||
static void
|
||||
MyAvahiClientCallback(AvahiClient *c, AvahiClientState state,
|
||||
gcc_unused void *userdata)
|
||||
[[maybe_unused]] void *userdata)
|
||||
{
|
||||
assert(c != nullptr);
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user