Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mpd
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Иван Мажукин
mpd
Commits
412bedb6
Commit
412bedb6
authored
Dec 26, 2014
by
Max Kellermann
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'v0.19.x'
parents
d37811f1
163597ef
Hide whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
147 additions
and
52 deletions
+147
-52
NEWS
NEWS
+5
-0
user.xml
doc/user.xml
+6
-4
Compiler.h
src/Compiler.h
+7
-0
Idle.cxx
src/Idle.cxx
+3
-0
SongFilter.cxx
src/SongFilter.cxx
+3
-0
SongLoader.cxx
src/SongLoader.cxx
+3
-0
LazyDatabase.hxx
src/db/plugins/LazyDatabase.hxx
+1
-1
ProxyDatabasePlugin.cxx
src/db/plugins/ProxyDatabasePlugin.cxx
+4
-4
SimpleDatabasePlugin.cxx
src/db/plugins/simple/SimpleDatabasePlugin.cxx
+7
-4
SimpleDatabasePlugin.hxx
src/db/plugins/simple/SimpleDatabasePlugin.hxx
+3
-3
UpnpDatabasePlugin.cxx
src/db/plugins/upnp/UpnpDatabasePlugin.cxx
+4
-2
DecoderPlugin.cxx
src/decoder/DecoderPlugin.cxx
+6
-0
FfmpegDecoderPlugin.cxx
src/decoder/plugins/FfmpegDecoderPlugin.cxx
+1
-0
ChainFilterPlugin.cxx
src/filter/plugins/ChainFilterPlugin.cxx
+5
-4
NormalizeFilterPlugin.cxx
src/filter/plugins/NormalizeFilterPlugin.cxx
+5
-4
ReplayGainFilterPlugin.cxx
src/filter/plugins/ReplayGainFilterPlugin.cxx
+5
-4
RouteFilterPlugin.cxx
src/filter/plugins/RouteFilterPlugin.cxx
+5
-4
VolumeFilterPlugin.cxx
src/filter/plugins/VolumeFilterPlugin.cxx
+5
-4
Charset.cxx
src/fs/Charset.cxx
+6
-0
Traits.cxx
src/fs/Traits.cxx
+6
-0
Traits.hxx
src/fs/Traits.hxx
+16
-0
InputStream.cxx
src/input/InputStream.cxx
+3
-0
MmsInputPlugin.cxx
src/input/plugins/MmsInputPlugin.cxx
+1
-1
Collate.cxx
src/lib/icu/Collate.cxx
+6
-0
ShoutOutputPlugin.cxx
src/output/plugins/ShoutOutputPlugin.cxx
+1
-1
FormatConverter.cxx
src/pcm/FormatConverter.cxx
+1
-1
NfsStorage.cxx
src/storage/plugins/NfsStorage.cxx
+1
-1
TagBuilder.cxx
src/tag/TagBuilder.cxx
+9
-0
ASCII.hxx
src/util/ASCII.hxx
+16
-10
UriUtil.cxx
src/util/UriUtil.cxx
+3
-0
No files found.
NEWS
View file @
412bedb6
...
...
@@ -24,6 +24,8 @@ ver 0.19.8 (not yet released)
- mms: reduce delay at the beginning of playback
* decoder
- dsdiff, dsf: allow ID3 tags larger than 4 kB
- ffmpeg: support interleaved floating point
* fix clang 3.6 warnings
ver 0.19.7 (2014/12/17)
* input
...
...
@@ -188,6 +190,9 @@ ver 0.19 (2014/10/10)
* install systemd unit for socket activation
* Android port
ver 0.18.22 (not yet released)
* fix clang 3.6 warnings
ver 0.18.21 (2014/12/17)
* playlist
- embcue: fix filename suffix detection
...
...
doc/user.xml
View file @
412bedb6
...
...
@@ -89,7 +89,7 @@ cd mpd-version</programlisting>
</para>
<programlisting>
apt-get install g++
automake autoconf
\
apt-get install g++ \
libmad0-dev libmpg123-dev libid3tag0-dev \
libflac-dev libvorbis-dev libopus-dev \
libadplug-dev libaudiofile-dev libsndfile1-dev libfaad-dev \
...
...
@@ -98,19 +98,21 @@ apt-get install g++ automake autoconf \
libsidplay2-dev libsidutils-dev libresid-builder-dev \
libavcodec-dev libavformat-dev \
libmp3lame-dev \
libsamplerate0-dev \
libsamplerate0-dev
libsoxr-dev
\
libbz2-dev libcdio-paranoia-dev libiso9660-dev libmms-dev \
libzzip-dev \
libcurl4-gnutls-dev libyajl-dev \
libcurl4-gnutls-dev libyajl-dev
libexpat-dev
\
libasound2-dev libao-dev libjack-jackd2-dev libopenal-dev \
libpulse-dev libroar-dev libshout3-dev \
libmpdclient-dev \
libnfs-dev libsmbclient-dev \
libupnp-dev \
libavahi-client-dev \
libsqlite3-dev \
libsystemd-daemon-dev libwrap0-dev \
libcppunit-dev xmlto \
libboost-dev \
libglib2.0-dev
libglib2.0-dev
libicu-dev
</programlisting>
<para>
...
...
src/Compiler.h
View file @
412bedb6
...
...
@@ -64,6 +64,13 @@
# warning Untested compiler. Use at your own risk!
#endif
/**
* Are we building with the specified version of clang or newer?
*/
#define CLANG_CHECK_VERSION(major, minor) \
(defined(__clang__) && \
CLANG_VERSION >= GCC_MAKE_VERSION(major, minor, 0))
#if CLANG_OR_GCC_VERSION(4,0)
/* GCC 4.x */
...
...
src/Idle.cxx
View file @
412bedb6
...
...
@@ -76,7 +76,10 @@ idle_get_names(void)
unsigned
idle_parse_name
(
const
char
*
name
)
{
#if !CLANG_CHECK_VERSION(3,6)
/* disabled on clang due to -Wtautological-pointer-compare */
assert
(
name
!=
nullptr
);
#endif
for
(
unsigned
i
=
0
;
idle_names
[
i
]
!=
nullptr
;
++
i
)
if
(
StringEqualsCaseASCII
(
name
,
idle_names
[
i
]))
...
...
src/SongFilter.cxx
View file @
412bedb6
...
...
@@ -77,7 +77,10 @@ SongFilter::Item::Item(unsigned _tag, time_t _time)
bool
SongFilter
::
Item
::
StringMatch
(
const
char
*
s
)
const
{
#if !CLANG_CHECK_VERSION(3,6)
/* disabled on clang due to -Wtautological-pointer-compare */
assert
(
s
!=
nullptr
);
#endif
if
(
fold_case
)
{
const
std
::
string
folded
=
IcuCaseFold
(
s
);
...
...
src/SongLoader.cxx
View file @
412bedb6
...
...
@@ -77,7 +77,10 @@ SongLoader::LoadFile(const char *path_utf8, Error &error) const
DetachedSong
*
SongLoader
::
LoadSong
(
const
char
*
uri_utf8
,
Error
&
error
)
const
{
#if !CLANG_CHECK_VERSION(3,6)
/* disabled on clang due to -Wtautological-pointer-compare */
assert
(
uri_utf8
!=
nullptr
);
#endif
if
(
memcmp
(
uri_utf8
,
"file:///"
,
8
)
==
0
)
/* absolute path */
...
...
src/db/plugins/LazyDatabase.hxx
View file @
412bedb6
...
...
@@ -43,7 +43,7 @@ public:
virtual
const
LightSong
*
GetSong
(
const
char
*
uri_utf8
,
Error
&
error
)
const
override
;
v
irtual
void
ReturnSong
(
const
LightSong
*
song
)
const
;
v
oid
ReturnSong
(
const
LightSong
*
song
)
const
override
;
virtual
bool
Visit
(
const
DatabaseSelection
&
selection
,
VisitDirectory
visit_directory
,
...
...
src/db/plugins/ProxyDatabasePlugin.cxx
View file @
412bedb6
...
...
@@ -103,7 +103,7 @@ public:
virtual
void
Close
()
override
;
virtual
const
LightSong
*
GetSong
(
const
char
*
uri_utf8
,
Error
&
error
)
const
override
;
v
irtual
void
ReturnSong
(
const
LightSong
*
song
)
const
;
v
oid
ReturnSong
(
const
LightSong
*
song
)
const
override
;
virtual
bool
Visit
(
const
DatabaseSelection
&
selection
,
VisitDirectory
visit_directory
,
...
...
@@ -731,7 +731,7 @@ ProxyDatabase::Visit(const DatabaseSelection &selection,
{
// TODO: eliminate the const_cast
if
(
!
const_cast
<
ProxyDatabase
*>
(
this
)
->
EnsureConnected
(
error
))
return
nullptr
;
return
false
;
if
(
!
visit_directory
&&
!
visit_playlist
&&
selection
.
recursive
&&
(
ServerSupportsSearchBase
(
connection
)
...
...
@@ -757,7 +757,7 @@ ProxyDatabase::VisitUniqueTags(const DatabaseSelection &selection,
{
// TODO: eliminate the const_cast
if
(
!
const_cast
<
ProxyDatabase
*>
(
this
)
->
EnsureConnected
(
error
))
return
nullptr
;
return
false
;
enum
mpd_tag_type
tag_type2
=
Convert
(
tag_type
);
if
(
tag_type2
==
MPD_TAG_COUNT
)
{
...
...
@@ -810,7 +810,7 @@ ProxyDatabase::GetStats(const DatabaseSelection &selection,
// TODO: eliminate the const_cast
if
(
!
const_cast
<
ProxyDatabase
*>
(
this
)
->
EnsureConnected
(
error
))
return
nullptr
;
return
false
;
struct
mpd_stats
*
stats2
=
mpd_run_stats
(
connection
);
...
...
src/db/plugins/simple/SimpleDatabasePlugin.cxx
View file @
412bedb6
...
...
@@ -435,9 +435,12 @@ SimpleDatabase::Save(Error &error)
bool
SimpleDatabase
::
Mount
(
const
char
*
uri
,
Database
*
db
,
Error
&
error
)
{
#if !CLANG_CHECK_VERSION(3,6)
/* disabled on clang due to -Wtautological-pointer-compare */
assert
(
uri
!=
nullptr
);
assert
(
*
uri
!=
0
);
assert
(
db
!=
nullptr
);
#endif
assert
(
*
uri
!=
0
);
ScopeDatabaseLock
protect
;
...
...
@@ -445,13 +448,13 @@ SimpleDatabase::Mount(const char *uri, Database *db, Error &error)
if
(
r
.
uri
==
nullptr
)
{
error
.
Format
(
db_domain
,
DB_CONFLICT
,
"Already exists: %s"
,
uri
);
return
nullptr
;
return
false
;
}
if
(
strchr
(
r
.
uri
,
'/'
)
!=
nullptr
)
{
error
.
Format
(
db_domain
,
DB_NOT_FOUND
,
"Parent not found: %s"
,
uri
);
return
nullptr
;
return
false
;
}
Directory
*
mnt
=
r
.
directory
->
CreateChild
(
r
.
uri
);
...
...
@@ -478,7 +481,7 @@ SimpleDatabase::Mount(const char *local_uri, const char *storage_uri,
if
(
cache_path
.
IsNull
())
{
error
.
Format
(
db_domain
,
DB_NOT_FOUND
,
"No 'cache_directory' configured"
);
return
nullptr
;
return
false
;
}
std
::
string
name
(
storage_uri
);
...
...
src/db/plugins/simple/SimpleDatabasePlugin.hxx
View file @
412bedb6
...
...
@@ -110,9 +110,9 @@ public:
virtual
bool
Open
(
Error
&
error
)
override
;
virtual
void
Close
()
override
;
virtual
const
LightSong
*
GetSong
(
const
char
*
uri_utf8
,
Error
&
error
)
const
override
;
v
irtual
void
ReturnSong
(
const
LightSong
*
song
)
const
;
const
LightSong
*
GetSong
(
const
char
*
uri_utf8
,
Error
&
error
)
const
override
;
v
oid
ReturnSong
(
const
LightSong
*
song
)
const
override
;
virtual
bool
Visit
(
const
DatabaseSelection
&
selection
,
VisitDirectory
visit_directory
,
...
...
src/db/plugins/upnp/UpnpDatabasePlugin.cxx
View file @
412bedb6
...
...
@@ -85,7 +85,7 @@ public:
virtual
void
Close
()
override
;
virtual
const
LightSong
*
GetSong
(
const
char
*
uri_utf8
,
Error
&
error
)
const
override
;
v
irtual
void
ReturnSong
(
const
LightSong
*
song
)
const
;
v
oid
ReturnSong
(
const
LightSong
*
song
)
const
override
;
virtual
bool
Visit
(
const
DatabaseSelection
&
selection
,
VisitDirectory
visit_directory
,
...
...
@@ -101,7 +101,9 @@ public:
virtual
bool
GetStats
(
const
DatabaseSelection
&
selection
,
DatabaseStats
&
stats
,
Error
&
error
)
const
override
;
virtual
time_t
GetUpdateStamp
()
const
{
return
0
;}
time_t
GetUpdateStamp
()
const
override
{
return
0
;
}
protected
:
bool
Configure
(
const
config_param
&
param
,
Error
&
error
);
...
...
src/decoder/DecoderPlugin.cxx
View file @
412bedb6
...
...
@@ -26,7 +26,10 @@
bool
DecoderPlugin
::
SupportsSuffix
(
const
char
*
suffix
)
const
{
#if !CLANG_CHECK_VERSION(3,6)
/* disabled on clang due to -Wtautological-pointer-compare */
assert
(
suffix
!=
nullptr
);
#endif
return
suffixes
!=
nullptr
&&
string_array_contains
(
suffixes
,
suffix
);
...
...
@@ -35,7 +38,10 @@ DecoderPlugin::SupportsSuffix(const char *suffix) const
bool
DecoderPlugin
::
SupportsMimeType
(
const
char
*
mime_type
)
const
{
#if !CLANG_CHECK_VERSION(3,6)
/* disabled on clang due to -Wtautological-pointer-compare */
assert
(
mime_type
!=
nullptr
);
#endif
return
mime_types
!=
nullptr
&&
string_array_contains
(
mime_types
,
mime_type
);
...
...
src/decoder/plugins/FfmpegDecoderPlugin.cxx
View file @
412bedb6
...
...
@@ -232,6 +232,7 @@ ffmpeg_sample_format(enum AVSampleFormat sample_fmt)
case
AV_SAMPLE_FMT_S32P
:
return
SampleFormat
::
S32
;
case
AV_SAMPLE_FMT_FLT
:
case
AV_SAMPLE_FMT_FLTP
:
return
SampleFormat
::
FLOAT
;
...
...
src/filter/plugins/ChainFilterPlugin.cxx
View file @
412bedb6
...
...
@@ -53,10 +53,11 @@ public:
children
.
emplace_back
(
name
,
filter
);
}
virtual
AudioFormat
Open
(
AudioFormat
&
af
,
Error
&
error
)
override
;
virtual
void
Close
();
virtual
ConstBuffer
<
void
>
FilterPCM
(
ConstBuffer
<
void
>
src
,
Error
&
error
);
/* virtual methods from class Filter */
AudioFormat
Open
(
AudioFormat
&
af
,
Error
&
error
)
override
;
void
Close
()
override
;
ConstBuffer
<
void
>
FilterPCM
(
ConstBuffer
<
void
>
src
,
Error
&
error
)
override
;
private
:
/**
...
...
src/filter/plugins/NormalizeFilterPlugin.cxx
View file @
412bedb6
...
...
@@ -34,10 +34,11 @@ class NormalizeFilter final : public Filter {
PcmBuffer
buffer
;
public
:
virtual
AudioFormat
Open
(
AudioFormat
&
af
,
Error
&
error
)
override
;
virtual
void
Close
();
virtual
ConstBuffer
<
void
>
FilterPCM
(
ConstBuffer
<
void
>
src
,
Error
&
error
)
override
;
/* virtual methods from class Filter */
AudioFormat
Open
(
AudioFormat
&
af
,
Error
&
error
)
override
;
void
Close
()
override
;
ConstBuffer
<
void
>
FilterPCM
(
ConstBuffer
<
void
>
src
,
Error
&
error
)
override
;
};
static
Filter
*
...
...
src/filter/plugins/ReplayGainFilterPlugin.cxx
View file @
412bedb6
...
...
@@ -112,10 +112,11 @@ public:
*/
void
Update
();
virtual
AudioFormat
Open
(
AudioFormat
&
af
,
Error
&
error
)
override
;
virtual
void
Close
();
virtual
ConstBuffer
<
void
>
FilterPCM
(
ConstBuffer
<
void
>
src
,
Error
&
error
)
override
;
/* virtual methods from class Filter */
AudioFormat
Open
(
AudioFormat
&
af
,
Error
&
error
)
override
;
void
Close
()
override
;
ConstBuffer
<
void
>
FilterPCM
(
ConstBuffer
<
void
>
src
,
Error
&
error
)
override
;
};
void
...
...
src/filter/plugins/RouteFilterPlugin.cxx
View file @
412bedb6
...
...
@@ -120,10 +120,11 @@ public:
*/
bool
Configure
(
const
config_param
&
param
,
Error
&
error
);
virtual
AudioFormat
Open
(
AudioFormat
&
af
,
Error
&
error
)
override
;
virtual
void
Close
();
virtual
ConstBuffer
<
void
>
FilterPCM
(
ConstBuffer
<
void
>
src
,
Error
&
error
)
override
;
/* virtual methods from class Filter */
AudioFormat
Open
(
AudioFormat
&
af
,
Error
&
error
)
override
;
void
Close
()
override
;
ConstBuffer
<
void
>
FilterPCM
(
ConstBuffer
<
void
>
src
,
Error
&
error
)
override
;
};
bool
...
...
src/filter/plugins/VolumeFilterPlugin.cxx
View file @
412bedb6
...
...
@@ -43,10 +43,11 @@ public:
pv
.
SetVolume
(
_volume
);
}
virtual
AudioFormat
Open
(
AudioFormat
&
af
,
Error
&
error
)
override
;
virtual
void
Close
();
virtual
ConstBuffer
<
void
>
FilterPCM
(
ConstBuffer
<
void
>
src
,
Error
&
error
)
override
;
/* virtual methods from class Filter */
AudioFormat
Open
(
AudioFormat
&
af
,
Error
&
error
)
override
;
void
Close
()
override
;
ConstBuffer
<
void
>
FilterPCM
(
ConstBuffer
<
void
>
src
,
Error
&
error
)
override
;
};
static
constexpr
Domain
volume_domain
(
"pcm_volume"
);
...
...
src/fs/Charset.cxx
View file @
412bedb6
...
...
@@ -89,7 +89,10 @@ static inline void FixSeparators(std::string &s)
std
::
string
PathToUTF8
(
const
char
*
path_fs
)
{
#if !CLANG_CHECK_VERSION(3,6)
/* disabled on clang due to -Wtautological-pointer-compare */
assert
(
path_fs
!=
nullptr
);
#endif
#ifdef HAVE_FS_CHARSET
if
(
fs_converter
==
nullptr
)
{
...
...
@@ -111,7 +114,10 @@ PathToUTF8(const char *path_fs)
std
::
string
PathFromUTF8
(
const
char
*
path_utf8
)
{
#if !CLANG_CHECK_VERSION(3,6)
/* disabled on clang due to -Wtautological-pointer-compare */
assert
(
path_utf8
!=
nullptr
);
#endif
if
(
fs_converter
==
nullptr
)
return
path_utf8
;
...
...
src/fs/Traits.cxx
View file @
412bedb6
...
...
@@ -52,7 +52,10 @@ template<typename Traits>
typename
Traits
::
const_pointer
GetBasePathImpl
(
typename
Traits
::
const_pointer
p
)
{
#if !CLANG_CHECK_VERSION(3,6)
/* disabled on clang due to -Wtautological-pointer-compare */
assert
(
p
!=
nullptr
);
#endif
typename
Traits
::
const_pointer
sep
=
Traits
::
FindLastSeparator
(
p
);
return
sep
!=
nullptr
...
...
@@ -64,7 +67,10 @@ template<typename Traits>
typename
Traits
::
string
GetParentPathImpl
(
typename
Traits
::
const_pointer
p
)
{
#if !CLANG_CHECK_VERSION(3,6)
/* disabled on clang due to -Wtautological-pointer-compare */
assert
(
p
!=
nullptr
);
#endif
typename
Traits
::
const_pointer
sep
=
Traits
::
FindLastSeparator
(
p
);
if
(
sep
==
nullptr
)
...
...
src/fs/Traits.hxx
View file @
412bedb6
...
...
@@ -57,7 +57,11 @@ struct PathTraitsFS {
gcc_pure
gcc_nonnull_all
static
const_pointer
FindLastSeparator
(
const_pointer
p
)
{
#if !CLANG_CHECK_VERSION(3,6)
/* disabled on clang due to -Wtautological-pointer-compare */
assert
(
p
!=
nullptr
);
#endif
#ifdef WIN32
const_pointer
pos
=
p
+
GetLength
(
p
);
while
(
p
!=
pos
&&
!
IsSeparator
(
*
pos
))
...
...
@@ -77,7 +81,11 @@ struct PathTraitsFS {
gcc_pure
gcc_nonnull_all
static
bool
IsAbsolute
(
const_pointer
p
)
{
#if !CLANG_CHECK_VERSION(3,6)
/* disabled on clang due to -Wtautological-pointer-compare */
assert
(
p
!=
nullptr
);
#endif
#ifdef WIN32
if
(
IsDrive
(
p
)
&&
IsSeparator
(
p
[
2
]))
return
true
;
...
...
@@ -147,7 +155,11 @@ struct PathTraitsUTF8 {
gcc_pure
gcc_nonnull_all
static
const_pointer
FindLastSeparator
(
const_pointer
p
)
{
#if !CLANG_CHECK_VERSION(3,6)
/* disabled on clang due to -Wtautological-pointer-compare */
assert
(
p
!=
nullptr
);
#endif
return
strrchr
(
p
,
SEPARATOR
);
}
...
...
@@ -160,7 +172,11 @@ struct PathTraitsUTF8 {
gcc_pure
gcc_nonnull_all
static
bool
IsAbsolute
(
const_pointer
p
)
{
#if !CLANG_CHECK_VERSION(3,6)
/* disabled on clang due to -Wtautological-pointer-compare */
assert
(
p
!=
nullptr
);
#endif
#ifdef WIN32
if
(
IsDrive
(
p
)
&&
IsSeparator
(
p
[
2
]))
return
true
;
...
...
src/input/InputStream.cxx
View file @
412bedb6
...
...
@@ -122,7 +122,10 @@ InputStream::IsAvailable()
size_t
InputStream
::
LockRead
(
void
*
ptr
,
size_t
_size
,
Error
&
error
)
{
#if !CLANG_CHECK_VERSION(3,6)
/* disabled on clang due to -Wtautological-pointer-compare */
assert
(
ptr
!=
nullptr
);
#endif
assert
(
_size
>
0
);
const
ScopeLock
protect
(
mutex
);
...
...
src/input/plugins/MmsInputPlugin.cxx
View file @
412bedb6
...
...
@@ -43,7 +43,7 @@ protected:
virtual
size_t
ThreadRead
(
void
*
ptr
,
size_t
size
,
Error
&
error
)
override
;
v
irtual
void
Close
()
{
v
oid
Close
()
override
{
mmsx_close
(
mms
);
}
};
...
...
src/lib/icu/Collate.cxx
View file @
412bedb6
...
...
@@ -78,8 +78,11 @@ gcc_pure
int
IcuCollate
(
const
char
*
a
,
const
char
*
b
)
{
#if !CLANG_CHECK_VERSION(3,6)
/* disabled on clang due to -Wtautological-pointer-compare */
assert
(
a
!=
nullptr
);
assert
(
b
!=
nullptr
);
#endif
#ifdef HAVE_ICU
assert
(
collator
!=
nullptr
);
...
...
@@ -116,7 +119,10 @@ IcuCaseFold(const char *src)
{
#ifdef HAVE_ICU
assert
(
collator
!=
nullptr
);
#if !CLANG_CHECK_VERSION(3,6)
/* disabled on clang due to -Wtautological-pointer-compare */
assert
(
src
!=
nullptr
);
#endif
const
auto
u
=
UCharFromUTF8
(
src
);
if
(
u
.
IsNull
())
...
...
src/output/plugins/ShoutOutputPlugin.cxx
View file @
412bedb6
...
...
@@ -109,7 +109,7 @@ ShoutOutput::Configure(const config_param ¶m, Error &error)
if
(
!
audio_format
.
IsFullyDefined
())
{
error
.
Set
(
config_domain
,
"Need full audio format specification"
);
return
nullptr
;
return
false
;
}
const
char
*
host
=
require_block_string
(
param
,
"host"
);
...
...
src/pcm/FormatConverter.cxx
View file @
412bedb6
...
...
@@ -44,7 +44,7 @@ PcmFormatConverter::Open(SampleFormat _src_format, SampleFormat _dest_format,
"PCM conversion from %s to %s is not implemented"
,
sample_format_to_string
(
_src_format
),
sample_format_to_string
(
_dest_format
));
return
nullptr
;
return
false
;
case
SampleFormat
:
:
S16
:
case
SampleFormat
:
:
S24_P32
:
...
...
src/storage/plugins/NfsStorage.cxx
View file @
412bedb6
...
...
@@ -288,7 +288,7 @@ NfsStorage::GetInfo(const char *uri_utf8, gcc_unused bool follow,
return
false
;
if
(
!
WaitConnected
(
error
))
return
nullptr
;
return
false
;
NfsGetInfoOperation
operation
(
*
connection
,
path
.
c_str
(),
info
);
return
operation
.
Run
(
error
);
...
...
src/tag/TagBuilder.cxx
View file @
412bedb6
...
...
@@ -182,7 +182,10 @@ TagBuilder::Complement(const Tag &other)
inline
void
TagBuilder
::
AddItemInternal
(
TagType
type
,
const
char
*
value
,
size_t
length
)
{
#if !CLANG_CHECK_VERSION(3,6)
/* disabled on clang due to -Wtautological-pointer-compare */
assert
(
value
!=
nullptr
);
#endif
assert
(
length
>
0
);
auto
f
=
FixTagString
(
value
,
length
);
...
...
@@ -203,7 +206,10 @@ TagBuilder::AddItemInternal(TagType type, const char *value, size_t length)
void
TagBuilder
::
AddItem
(
TagType
type
,
const
char
*
value
,
size_t
length
)
{
#if !CLANG_CHECK_VERSION(3,6)
/* disabled on clang due to -Wtautological-pointer-compare */
assert
(
value
!=
nullptr
);
#endif
if
(
length
==
0
||
ignore_tag_items
[
type
])
return
;
...
...
@@ -214,7 +220,10 @@ TagBuilder::AddItem(TagType type, const char *value, size_t length)
void
TagBuilder
::
AddItem
(
TagType
type
,
const
char
*
value
)
{
#if !CLANG_CHECK_VERSION(3,6)
/* disabled on clang due to -Wtautological-pointer-compare */
assert
(
value
!=
nullptr
);
#endif
AddItem
(
type
,
value
,
strlen
(
value
));
}
...
...
src/util/ASCII.hxx
View file @
412bedb6
...
...
@@ -43,24 +43,30 @@ gcc_pure gcc_nonnull_all
static
inline
bool
StringEqualsCaseASCII
(
const
char
*
a
,
const
char
*
b
)
{
assert
(
a
!=
nullptr
);
assert
(
b
!=
nullptr
);
#if !CLANG_CHECK_VERSION(3,6)
/* disabled on clang due to -Wtautological-pointer-compare */
assert
(
a
!=
nullptr
);
assert
(
b
!=
nullptr
);
#endif
/* note: strcasecmp() depends on the locale, but for ASCII-only
strings, it's safe to use */
return
strcasecmp
(
a
,
b
)
==
0
;
/* note: strcasecmp() depends on the locale, but for ASCII-only
strings, it's safe to use */
return
strcasecmp
(
a
,
b
)
==
0
;
}
gcc_pure
gcc_nonnull_all
static
inline
bool
StringEqualsCaseASCII
(
const
char
*
a
,
const
char
*
b
,
size_t
n
)
{
assert
(
a
!=
nullptr
);
assert
(
b
!=
nullptr
);
#if !CLANG_CHECK_VERSION(3,6)
/* disabled on clang due to -Wtautological-pointer-compare */
assert
(
a
!=
nullptr
);
assert
(
b
!=
nullptr
);
#endif
/* note: strcasecmp() depends on the locale, but for ASCII-only
strings, it's safe to use */
return
strncasecmp
(
a
,
b
,
n
)
==
0
;
/* note: strcasecmp() depends on the locale, but for ASCII-only
strings, it's safe to use */
return
strncasecmp
(
a
,
b
,
n
)
==
0
;
}
#endif
src/util/UriUtil.cxx
View file @
412bedb6
...
...
@@ -140,8 +140,11 @@ uri_remove_auth(const char *uri)
bool
uri_is_child
(
const
char
*
parent
,
const
char
*
child
)
{
#if !CLANG_CHECK_VERSION(3,6)
/* disabled on clang due to -Wtautological-pointer-compare */
assert
(
parent
!=
nullptr
);
assert
(
child
!=
nullptr
);
#endif
const
size_t
parent_length
=
strlen
(
parent
);
return
memcmp
(
parent
,
child
,
parent_length
)
==
0
&&
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment