ArchivePlugin: scan_next() returns const string

This commit is contained in:
Max Kellermann 2013-01-29 21:11:04 +01:00
parent e66005563e
commit a42f9fd4e2
6 changed files with 18 additions and 16 deletions

View File

@ -70,7 +70,7 @@ archive_file_scan_reset(struct archive_file *file)
file->plugin->scan_reset(file);
}
char *
const char *
archive_file_scan_next(struct archive_file *file)
{
assert(file != NULL);

View File

@ -62,7 +62,7 @@ struct archive_plugin {
* (as pathnames) and move read index to next file. When there is no
* next file it return NULL.
*/
char *(*scan_next)(struct archive_file *);
const char *(*scan_next)(struct archive_file *);
/**
* Opens an input_stream of a file within the archive.
@ -98,7 +98,7 @@ archive_file_close(struct archive_file *file);
void
archive_file_scan_reset(struct archive_file *file);
char *
const char *
archive_file_scan_next(struct archive_file *file);
struct input_stream *

View File

@ -33,17 +33,19 @@
#include <string.h>
static void
update_archive_tree(Directory *directory, char *name)
update_archive_tree(Directory *directory, const char *name)
{
char *tmp = strchr(name, '/');
const char *tmp = strchr(name, '/');
if (tmp) {
*tmp = 0;
char *child_name = g_strndup(name, tmp - name);
//add dir is not there already
db_lock();
Directory *subdir =
directory->MakeChild(name);
directory->MakeChild(child_name);
subdir->device = DEVICE_INARCHIVE;
db_unlock();
g_free(child_name);
//create directories first
update_archive_tree(subdir, tmp+1);
} else {
@ -122,7 +124,7 @@ update_archive_file2(Directory *parent, const char *name,
archive_file_scan_reset(file);
char *filepath;
const char *filepath;
while ((filepath = archive_file_scan_next(file)) != NULL) {
/* split name into directory and file */
g_debug("adding archive file: %s", filepath);

View File

@ -158,11 +158,11 @@ bz2_scan_reset(struct archive_file *file)
context->reset = true;
}
static char *
static const char *
bz2_scan_next(struct archive_file *file)
{
Bzip2ArchiveFile *context = (Bzip2ArchiveFile *) file;
char *name = NULL;
const char *name = NULL;
if (context->reset) {
name = context->name;

View File

@ -141,16 +141,16 @@ iso9660_archive_scan_reset(struct archive_file *file)
context->iter = context->list;
}
static char *
static const char *
iso9660_archive_scan_next(struct archive_file *file)
{
Iso9660ArchiveFile *context =
(Iso9660ArchiveFile *)file;
char *data = NULL;
const char *data = NULL;
if (context->iter != NULL) {
///fetch data and goto next
data = (char *)context->iter->data;
data = (const char *)context->iter->data;
context->iter = g_slist_next(context->iter);
}
return data;

View File

@ -109,14 +109,14 @@ zzip_archive_scan_reset(struct archive_file *file)
context->iter = context->list;
}
static char *
static const char *
zzip_archive_scan_next(struct archive_file *file)
{
ZzipArchiveFile *context = (ZzipArchiveFile *) file;
char *data = NULL;
const char *data = NULL;
if (context->iter != NULL) {
///fetch data and goto next
data = (char *)context->iter->data;
data = (const char *)context->iter->data;
context->iter = g_slist_next(context->iter);
}
return data;