playlist/soundcloud: drop support for libyajl1

Require the version 2 which has a more sane API.
This commit is contained in:
Max Kellermann 2013-12-14 21:42:51 +01:00
parent 267ccc98d3
commit 533699abe7
2 changed files with 5 additions and 39 deletions

View File

@ -770,14 +770,11 @@ dnl --------------------------------- Soundcloud ------------------------------
MPD_AUTO([soundcloud], [soundcloud.com support], [libyajl not found], MPD_AUTO([soundcloud], [soundcloud.com support], [libyajl not found],
[PKG_CHECK_MODULES([YAJL], [yajl >= 2.0], [PKG_CHECK_MODULES([YAJL], [yajl >= 2.0],
[found_soundcloud=yes], [found_soundcloud=yes],
AC_CHECK_LIB([yajl], [yajl_parse_complete], [found_soundcloud=no])])
[found_soundcloud=yes YAJL_CFLAGS=-DHAVE_YAJL1 YAJL_LIBS=-lyajl],
[found_soundcloud=no]))])
if test x$enable_soundcloud = xyes; then if test x$enable_soundcloud = xyes; then
AC_DEFINE(ENABLE_SOUNDCLOUD, 1, [Define when soundcloud is enabled]) AC_DEFINE(ENABLE_SOUNDCLOUD, 1, [Define when soundcloud is enabled])
fi fi
AM_CONDITIONAL(ENABLE_SOUNDCLOUD, test x$enable_soundcloud = xyes) AM_CONDITIONAL(ENABLE_SOUNDCLOUD, test x$enable_soundcloud = xyes)
AC_SUBST(YAJL_LIBS)
dnl ---------------------------------- cdio --------------------------------- dnl ---------------------------------- cdio ---------------------------------
MPD_ENABLE_AUTO_PKG(cdio_paranoia, CDIO_PARANOIA, [libcdio_paranoia], MPD_ENABLE_AUTO_PKG(cdio_paranoia, CDIO_PARANOIA, [libcdio_paranoia],

View File

@ -112,12 +112,7 @@ struct parse_data {
}; };
static int static int
handle_integer(void *ctx, handle_integer(void *ctx, long long intval)
long
#ifndef HAVE_YAJL1
long
#endif
intval)
{ {
struct parse_data *data = (struct parse_data *) ctx; struct parse_data *data = (struct parse_data *) ctx;
@ -133,13 +128,7 @@ handle_integer(void *ctx,
} }
static int static int
handle_string(void *ctx, const unsigned char* stringval, handle_string(void *ctx, const unsigned char *stringval, size_t stringlen)
#ifdef HAVE_YAJL1
unsigned int
#else
size_t
#endif
stringlen)
{ {
struct parse_data *data = (struct parse_data *) ctx; struct parse_data *data = (struct parse_data *) ctx;
const char *s = (const char *) stringval; const char *s = (const char *) stringval;
@ -162,13 +151,7 @@ handle_string(void *ctx, const unsigned char* stringval,
} }
static int static int
handle_mapkey(void *ctx, const unsigned char* stringval, handle_mapkey(void *ctx, const unsigned char *stringval, size_t stringlen)
#ifdef HAVE_YAJL1
unsigned int
#else
size_t
#endif
stringlen)
{ {
struct parse_data *data = (struct parse_data *) ctx; struct parse_data *data = (struct parse_data *) ctx;
@ -283,20 +266,11 @@ soundcloud_parse_json(const char *url, yajl_handle hand,
} }
if (done) { if (done) {
#ifdef HAVE_YAJL1
stat = yajl_parse_complete(hand);
#else
stat = yajl_complete_parse(hand); stat = yajl_complete_parse(hand);
#endif
} else } else
stat = yajl_parse(hand, ubuffer, nbytes); stat = yajl_parse(hand, ubuffer, nbytes);
if (stat != yajl_status_ok if (stat != yajl_status_ok) {
#ifdef HAVE_YAJL1
&& stat != yajl_status_insufficient_data
#endif
)
{
unsigned char *str = yajl_get_error(hand, 1, ubuffer, nbytes); unsigned char *str = yajl_get_error(hand, 1, ubuffer, nbytes);
LogError(soundcloud_domain, (const char *)str); LogError(soundcloud_domain, (const char *)str);
yajl_free_error(hand, str); yajl_free_error(hand, str);
@ -360,12 +334,7 @@ soundcloud_open_uri(const char *uri, Mutex &mutex, Cond &cond)
data.got_url = 0; data.got_url = 0;
data.title = nullptr; data.title = nullptr;
data.stream_url = nullptr; data.stream_url = nullptr;
#ifdef HAVE_YAJL1
yajl_handle hand = yajl_alloc(&parse_callbacks, nullptr, nullptr,
&data);
#else
yajl_handle hand = yajl_alloc(&parse_callbacks, nullptr, &data); yajl_handle hand = yajl_alloc(&parse_callbacks, nullptr, &data);
#endif
int ret = soundcloud_parse_json(u, hand, mutex, cond); int ret = soundcloud_parse_json(u, hand, mutex, cond);