aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2009-12-16 16:06:16 +0100
committerMax Kellermann <max@duempel.org>2009-12-16 15:55:37 +0100
commitbd97586cc48431ebb3e5be7cdfcae435458dc508 (patch)
treed5f03238a3015631c2e28236b6d7ac8af7fdf92a
parentc3e0fbd9e4d05a751fb8b32a3524cfa9c95c1994 (diff)
downloadmpd-bd97586cc48431ebb3e5be7cdfcae435458dc508.tar.gz
mpd-bd97586cc48431ebb3e5be7cdfcae435458dc508.tar.xz
mpd-bd97586cc48431ebb3e5be7cdfcae435458dc508.zip
archive/iso: renamed plugin to "iso9660"
Based on libiso9660.
Diffstat (limited to '')
-rw-r--r--Makefile.am4
-rw-r--r--NEWS1
-rw-r--r--configure.ac4
-rw-r--r--src/archive/iso9660_archive_plugin.c (renamed from src/archive/iso_plugin.c)78
-rw-r--r--src/archive_list.c6
5 files changed, 52 insertions, 41 deletions
diff --git a/Makefile.am b/Makefile.am
index ca592979f..4bcd1154e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -358,8 +358,8 @@ if HAVE_ZZIP
ARCHIVE_SRC += src/archive/zzip_archive_plugin.c
endif
-if HAVE_ISO
-ARCHIVE_SRC += src/archive/iso_plugin.c
+if HAVE_ISO9660
+ARCHIVE_SRC += src/archive/iso9660_archive_plugin.c
endif
if ENABLE_ARCHIVE
diff --git a/NEWS b/NEWS
index 7d488c1c1..64f192df9 100644
--- a/NEWS
+++ b/NEWS
@@ -11,6 +11,7 @@ ver 0.16 (20??/??/??)
- allow changing replay gain mode on-the-fly
- omitting the range end is possible
* archive:
+ - iso: renamed plugin to "iso9660"
- zip: renamed plugin to "zzip"
* input:
- lastfm: obsolete plugin removed
diff --git a/configure.ac b/configure.ac
index 9f0219127..d2313a654 100644
--- a/configure.ac
+++ b/configure.ac
@@ -378,9 +378,9 @@ AC_ARG_ENABLE(iso9660,
MPD_AUTO_PKG(iso9660, ISO9660, [libiso9660],
[libiso9660 archive library], [libiso9660 not found])
-AM_CONDITIONAL(HAVE_ISO, test x$enable_iso9660 = xyes)
+AM_CONDITIONAL(HAVE_ISO9660, test x$enable_iso9660 = xyes)
if test x$enable_iso9660 = xyes; then
- AC_DEFINE(HAVE_ISO, 1, [Define to have iso archive support])
+ AC_DEFINE(HAVE_ISO9660, 1, [Define to have ISO9660 archive support])
fi
dnl archive API
diff --git a/src/archive/iso_plugin.c b/src/archive/iso9660_archive_plugin.c
index a2880ba86..7e1901623 100644
--- a/src/archive/iso_plugin.c
+++ b/src/archive/iso9660_archive_plugin.c
@@ -33,16 +33,16 @@
#define CEILING(x, y) ((x+(y-1))/y)
-typedef struct {
+struct iso9660_archive_file {
iso9660_t *iso;
iso9660_stat_t *statbuf;
size_t cur_ofs;
size_t max_blocks;
GSList *list;
GSList *iter;
-} iso_context;
+};
-static const struct input_plugin iso_inputplugin;
+static const struct input_plugin iso9660_input_plugin;
static inline GQuark
iso9660_quark(void)
@@ -53,7 +53,7 @@ iso9660_quark(void)
/* archive open && listing routine */
static void
-listdir_recur(const char *psz_path, iso_context *context)
+listdir_recur(const char *psz_path, struct iso9660_archive_file *context)
{
iso9660_t *iso = context->iso;
CdioList_t *entlist;
@@ -87,9 +87,10 @@ listdir_recur(const char *psz_path, iso_context *context)
}
static struct archive_file *
-iso_open(char * pathname)
+iso9660_archive_open(char * pathname)
{
- iso_context *context = g_malloc(sizeof(iso_context));
+ struct iso9660_archive_file *context =
+ g_new(struct iso9660_archive_file, 1);
context->list = NULL;
@@ -106,17 +107,21 @@ iso_open(char * pathname)
}
static void
-iso_scan_reset(struct archive_file *file)
+iso9660_archive_scan_reset(struct archive_file *file)
{
- iso_context *context = (iso_context *) file;
+ struct iso9660_archive_file *context =
+ (struct iso9660_archive_file *)file;
+
//reset iterator
context->iter = context->list;
}
static char *
-iso_scan_next(struct archive_file *file)
+iso9660_archive_scan_next(struct archive_file *file)
{
- iso_context *context = (iso_context *) file;
+ struct iso9660_archive_file *context =
+ (struct iso9660_archive_file *)file;
+
char *data = NULL;
if (context->iter != NULL) {
///fetch data and goto next
@@ -127,9 +132,11 @@ iso_scan_next(struct archive_file *file)
}
static void
-iso_close(struct archive_file *file)
+iso9660_archive_close(struct archive_file *file)
{
- iso_context *context = (iso_context *) file;
+ struct iso9660_archive_file *context =
+ (struct iso9660_archive_file *)file;
+
GSList *tmp;
if (context->list) {
//free list
@@ -146,12 +153,14 @@ iso_close(struct archive_file *file)
/* single archive handling */
static bool
-iso_open_stream(struct archive_file *file, struct input_stream *is,
+iso9660_archive_open_stream(struct archive_file *file, struct input_stream *is,
const char *pathname, GError **error_r)
{
- iso_context *context = (iso_context *) file;
+ struct iso9660_archive_file *context =
+ (struct iso9660_archive_file *)file;
+
//setup file ops
- is->plugin = &iso_inputplugin;
+ is->plugin = &iso9660_input_plugin;
//insert back reference
is->data = context;
//we are not seekable
@@ -170,19 +179,19 @@ iso_open_stream(struct archive_file *file, struct input_stream *is,
}
static void
-iso_is_close(struct input_stream *is)
+iso9660_input_close(struct input_stream *is)
{
- iso_context *context = (iso_context *) is->data;
+ struct iso9660_archive_file *context = is->data;
g_free(context->statbuf);
- iso_close((struct archive_file *)context);
+ iso9660_archive_close((struct archive_file *)context);
}
static size_t
-iso_is_read(struct input_stream *is, void *ptr, size_t size, GError **error_r)
+iso9660_input_read(struct input_stream *is, void *ptr, size_t size, GError **error_r)
{
- iso_context *context = (iso_context *) is->data;
+ struct iso9660_archive_file *context = (struct iso9660_archive_file *) is->data;
int toread, readed = 0;
int no_blocks, cur_block;
size_t left_bytes = context->statbuf->size - context->cur_ofs;
@@ -218,31 +227,32 @@ iso_is_read(struct input_stream *is, void *ptr, size_t size, GError **error_r)
}
static bool
-iso_is_eof(struct input_stream *is)
+iso9660_input_eof(struct input_stream *is)
{
- iso_context *context = (iso_context *) is->data;
+ struct iso9660_archive_file *context = is->data;
+
return (context->cur_ofs == context->statbuf->size);
}
/* exported structures */
-static const char *const iso_extensions[] = {
+static const char *const iso9660_archive_extensions[] = {
"iso",
NULL
};
-static const struct input_plugin iso_inputplugin = {
- .close = iso_is_close,
- .read = iso_is_read,
- .eof = iso_is_eof,
+static const struct input_plugin iso9660_input_plugin = {
+ .close = iso9660_input_close,
+ .read = iso9660_input_read,
+ .eof = iso9660_input_eof,
};
-const struct archive_plugin iso_plugin = {
+const struct archive_plugin iso9660_archive_plugin = {
.name = "iso",
- .open = iso_open,
- .scan_reset = iso_scan_reset,
- .scan_next = iso_scan_next,
- .open_stream = iso_open_stream,
- .close = iso_close,
- .suffixes = iso_extensions
+ .open = iso9660_archive_open,
+ .scan_reset = iso9660_archive_scan_reset,
+ .scan_next = iso9660_archive_scan_next,
+ .open_stream = iso9660_archive_open_stream,
+ .close = iso9660_archive_close,
+ .suffixes = iso9660_archive_extensions
};
diff --git a/src/archive_list.c b/src/archive_list.c
index 9a9772326..6331a95fd 100644
--- a/src/archive_list.c
+++ b/src/archive_list.c
@@ -27,7 +27,7 @@
extern const struct archive_plugin bz2_plugin;
extern const struct archive_plugin zzip_archive_plugin;
-extern const struct archive_plugin iso_plugin;
+extern const struct archive_plugin iso9660_archive_plugin;
static const struct archive_plugin *const archive_plugins[] = {
#ifdef HAVE_BZ2
@@ -36,8 +36,8 @@ static const struct archive_plugin *const archive_plugins[] = {
#ifdef HAVE_ZZIP
&zzip_archive_plugin,
#endif
-#ifdef HAVE_ISO
- &iso_plugin,
+#ifdef HAVE_ISO9660
+ &iso9660_archive_plugin,
#endif
NULL
};