Commit f1ecd9ea authored by Max Kellermann's avatar Max Kellermann

archive_list: iterate with NULL check

Don't use num_archive_plugins.
parent 243c9630
...@@ -42,22 +42,16 @@ static const struct archive_plugin *const archive_plugins[] = { ...@@ -42,22 +42,16 @@ static const struct archive_plugin *const archive_plugins[] = {
NULL NULL
}; };
enum {
num_archive_plugins = G_N_ELEMENTS(archive_plugins)-1,
};
/** which plugins have been initialized successfully? */ /** which plugins have been initialized successfully? */
static bool archive_plugins_enabled[num_archive_plugins+1]; static bool archive_plugins_enabled[G_N_ELEMENTS(archive_plugins) - 1];
const struct archive_plugin * const struct archive_plugin *
archive_plugin_from_suffix(const char *suffix) archive_plugin_from_suffix(const char *suffix)
{ {
unsigned i;
if (suffix == NULL) if (suffix == NULL)
return NULL; return NULL;
for (i=0; i < num_archive_plugins; ++i) { for (unsigned i = 0; archive_plugins[i] != NULL; ++i) {
const struct archive_plugin *plugin = archive_plugins[i]; const struct archive_plugin *plugin = archive_plugins[i];
if (archive_plugins_enabled[i] && if (archive_plugins_enabled[i] &&
plugin->suffixes != NULL && plugin->suffixes != NULL &&
...@@ -72,7 +66,7 @@ archive_plugin_from_suffix(const char *suffix) ...@@ -72,7 +66,7 @@ archive_plugin_from_suffix(const char *suffix)
const struct archive_plugin * const struct archive_plugin *
archive_plugin_from_name(const char *name) archive_plugin_from_name(const char *name)
{ {
for (unsigned i = 0; i < num_archive_plugins; ++i) { for (unsigned i = 0; archive_plugins[i] != NULL; ++i) {
const struct archive_plugin *plugin = archive_plugins[i]; const struct archive_plugin *plugin = archive_plugins[i];
if (archive_plugins_enabled[i] && if (archive_plugins_enabled[i] &&
strcmp(plugin->name, name) == 0) strcmp(plugin->name, name) == 0)
...@@ -85,7 +79,7 @@ void archive_plugin_print_all_suffixes(FILE * fp) ...@@ -85,7 +79,7 @@ void archive_plugin_print_all_suffixes(FILE * fp)
{ {
const char *const*suffixes; const char *const*suffixes;
for (unsigned i = 0; i < num_archive_plugins; ++i) { for (unsigned i = 0; archive_plugins[i] != NULL; ++i) {
const struct archive_plugin *plugin = archive_plugins[i]; const struct archive_plugin *plugin = archive_plugins[i];
if (!archive_plugins_enabled[i]) if (!archive_plugins_enabled[i])
continue; continue;
...@@ -102,7 +96,7 @@ void archive_plugin_print_all_suffixes(FILE * fp) ...@@ -102,7 +96,7 @@ void archive_plugin_print_all_suffixes(FILE * fp)
void archive_plugin_init_all(void) void archive_plugin_init_all(void)
{ {
for (unsigned i = 0; i < num_archive_plugins; ++i) { for (unsigned i = 0; archive_plugins[i] != NULL; ++i) {
const struct archive_plugin *plugin = archive_plugins[i]; const struct archive_plugin *plugin = archive_plugins[i];
if (plugin->init == NULL || archive_plugins[i]->init()) if (plugin->init == NULL || archive_plugins[i]->init())
archive_plugins_enabled[i] = true; archive_plugins_enabled[i] = true;
...@@ -111,7 +105,7 @@ void archive_plugin_init_all(void) ...@@ -111,7 +105,7 @@ void archive_plugin_init_all(void)
void archive_plugin_deinit_all(void) void archive_plugin_deinit_all(void)
{ {
for (unsigned i = 0; i < num_archive_plugins; ++i) { for (unsigned i = 0; archive_plugins[i] != NULL; ++i) {
const struct archive_plugin *plugin = archive_plugins[i]; const struct archive_plugin *plugin = archive_plugins[i];
if (archive_plugins_enabled[i] && plugin->finish != NULL) if (archive_plugins_enabled[i] && plugin->finish != NULL)
archive_plugins[i]->finish(); archive_plugins[i]->finish();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment