summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTing-Wei Lan <lantw44@gmail.com>2013-09-06 18:19:55 +0800
committerLAN-TW <lantw44@gmail.com>2013-09-06 18:19:55 +0800
commit3defbdd1594ff2a8d1c1fa7a523f6cf77d8f697a (patch)
tree4bacd4b442bd7098933343501e307c43e12c3bb5
parentbc9f29cb8a6588a8e9d20cfbc563de4353a5c1fc (diff)
downloadgsoc2013-libgnome-autoar-3defbdd1594ff2a8d1c1fa7a523f6cf77d8f697a.tar
gsoc2013-libgnome-autoar-3defbdd1594ff2a8d1c1fa7a523f6cf77d8f697a.tar.gz
gsoc2013-libgnome-autoar-3defbdd1594ff2a8d1c1fa7a523f6cf77d8f697a.tar.bz2
gsoc2013-libgnome-autoar-3defbdd1594ff2a8d1c1fa7a523f6cf77d8f697a.tar.lz
gsoc2013-libgnome-autoar-3defbdd1594ff2a8d1c1fa7a523f6cf77d8f697a.tar.xz
gsoc2013-libgnome-autoar-3defbdd1594ff2a8d1c1fa7a523f6cf77d8f697a.tar.zst
gsoc2013-libgnome-autoar-3defbdd1594ff2a8d1c1fa7a523f6cf77d8f697a.zip
Prevent using AUTOAR_*_LAST constant outside autoar-format-filter.[ch]
-rw-r--r--gnome-autoar/autoar-format-filter.c44
-rw-r--r--gnome-autoar/autoar-format-filter.h2
-rw-r--r--gnome-autoar/autoar-gtk.c10
-rw-r--r--gnome-autoar/autoar-pref.c4
4 files changed, 38 insertions, 22 deletions
diff --git a/gnome-autoar/autoar-format-filter.c b/gnome-autoar/autoar-format-filter.c
index 3010664..97e0233 100644
--- a/gnome-autoar/autoar-format-filter.c
+++ b/gnome-autoar/autoar-format-filter.c
@@ -104,6 +104,12 @@ static AutoarFilterDescription autoar_filter_description[] = {
"application/x-lrzip", "Long Range ZIP (lrzip)" }
};
+AutoarFormat
+autoar_format_last (void)
+{
+ return AUTOAR_FORMAT_LAST;
+}
+
gboolean
autoar_format_is_valid (AutoarFormat format)
{
@@ -113,28 +119,28 @@ autoar_format_is_valid (AutoarFormat format)
const char*
autoar_format_get_mime_type (AutoarFormat format)
{
- g_return_val_if_fail (format > 0 && format < AUTOAR_FORMAT_LAST, NULL);
+ g_return_val_if_fail (autoar_format_is_valid (format) , NULL);
return autoar_format_description[format - 1].mime_type;
}
const char*
autoar_format_get_extension (AutoarFormat format)
{
- g_return_val_if_fail (format > 0 && format < AUTOAR_FORMAT_LAST, NULL);
+ g_return_val_if_fail (autoar_format_is_valid (format), NULL);
return autoar_format_description[format - 1].extension;
}
const char*
autoar_format_get_description (AutoarFormat format)
{
- g_return_val_if_fail (format > 0 && format < AUTOAR_FORMAT_LAST, NULL);
+ g_return_val_if_fail (autoar_format_is_valid (format), NULL);
return autoar_format_description[format - 1].description;
}
int
autoar_format_get_format_libarchive (AutoarFormat format)
{
- g_return_val_if_fail (format > 0 && format < AUTOAR_FORMAT_LAST, -1);
+ g_return_val_if_fail (autoar_format_is_valid (format), -1);
return autoar_format_description[format - 1].libarchive_format;
}
@@ -144,7 +150,7 @@ autoar_format_get_description_libarchive (AutoarFormat format)
struct archive* a;
gchar *str;
- g_return_val_if_fail (format > 0 && format < AUTOAR_FORMAT_LAST, NULL);
+ g_return_val_if_fail (autoar_format_is_valid (format), NULL);
a = archive_write_new ();
archive_write_set_format (a, autoar_format_description[format - 1].libarchive_format);
@@ -154,6 +160,12 @@ autoar_format_get_description_libarchive (AutoarFormat format)
return str;
}
+AutoarFilter
+autoar_filter_last (void)
+{
+ return AUTOAR_FILTER_LAST;
+}
+
gboolean
autoar_filter_is_valid (AutoarFilter filter)
{
@@ -163,28 +175,28 @@ autoar_filter_is_valid (AutoarFilter filter)
const char*
autoar_filter_get_mime_type (AutoarFilter filter)
{
- g_return_val_if_fail (filter > 0 && filter < AUTOAR_FILTER_LAST, NULL);
+ g_return_val_if_fail (autoar_filter_is_valid (filter), NULL);
return autoar_filter_description[filter - 1].mime_type;
}
const char*
autoar_filter_get_extension (AutoarFilter filter)
{
- g_return_val_if_fail (filter > 0 && filter < AUTOAR_FILTER_LAST, NULL);
+ g_return_val_if_fail (autoar_filter_is_valid (filter), NULL);
return autoar_filter_description[filter - 1].extension;
}
const char*
autoar_filter_get_description (AutoarFilter filter)
{
- g_return_val_if_fail (filter > 0 && filter < AUTOAR_FILTER_LAST, NULL);
+ g_return_val_if_fail (autoar_filter_is_valid (filter), NULL);
return autoar_filter_description[filter - 1].description;
}
int
autoar_filter_get_filter_libarchive (AutoarFilter filter)
{
- g_return_val_if_fail (filter > 0 && filter < AUTOAR_FILTER_LAST, -1);
+ g_return_val_if_fail (autoar_filter_is_valid (filter), -1);
return autoar_filter_description[filter - 1].libarchive_filter;
}
@@ -194,7 +206,7 @@ autoar_filter_get_description_libarchive (AutoarFilter filter)
struct archive *a;
gchar *str;
- g_return_val_if_fail (filter > 0 && filter < AUTOAR_FILTER_LAST, NULL);
+ g_return_val_if_fail (autoar_filter_is_valid (filter), NULL);
a = archive_write_new ();
archive_write_add_filter (a, autoar_filter_description[filter - 1].libarchive_filter);
@@ -208,8 +220,8 @@ gchar*
autoar_format_filter_get_mime_type (AutoarFormat format,
AutoarFilter filter)
{
- g_return_val_if_fail (format > 0 && format < AUTOAR_FORMAT_LAST, NULL);
- g_return_val_if_fail (filter > 0 && filter < AUTOAR_FILTER_LAST, NULL);
+ g_return_val_if_fail (autoar_format_is_valid (format), NULL);
+ g_return_val_if_fail (autoar_filter_is_valid (filter), NULL);
switch (filter) {
case AUTOAR_FILTER_NONE:
@@ -235,8 +247,8 @@ gchar*
autoar_format_filter_get_extension (AutoarFormat format,
AutoarFilter filter)
{
- g_return_val_if_fail (format > 0 && format < AUTOAR_FORMAT_LAST, NULL);
- g_return_val_if_fail (filter > 0 && filter < AUTOAR_FILTER_LAST, NULL);
+ g_return_val_if_fail (autoar_format_is_valid (format), NULL);
+ g_return_val_if_fail (autoar_filter_is_valid (filter), NULL);
return g_strconcat (".",
autoar_format_description[format - 1].extension,
@@ -252,8 +264,8 @@ autoar_format_filter_get_description (AutoarFormat format,
gchar *mime_type;
gchar *description;
- g_return_val_if_fail (format > 0 && format < AUTOAR_FORMAT_LAST, NULL);
- g_return_val_if_fail (filter > 0 && filter < AUTOAR_FILTER_LAST, NULL);
+ g_return_val_if_fail (autoar_format_is_valid (format), NULL);
+ g_return_val_if_fail (autoar_filter_is_valid (filter), NULL);
mime_type = autoar_format_filter_get_mime_type (format, filter);
description = g_content_type_get_description (mime_type);
diff --git a/gnome-autoar/autoar-format-filter.h b/gnome-autoar/autoar-format-filter.h
index 9449f7e..2175936 100644
--- a/gnome-autoar/autoar-format-filter.h
+++ b/gnome-autoar/autoar-format-filter.h
@@ -62,6 +62,7 @@ typedef enum {
AUTOAR_FILTER_LAST /*< skip >*/
} AutoarFilter;
+AutoarFormat autoar_format_last (void);
gboolean autoar_format_is_valid (AutoarFormat format);
const char *autoar_format_get_mime_type (AutoarFormat format);
const char *autoar_format_get_extension (AutoarFormat format);
@@ -69,6 +70,7 @@ const char *autoar_format_get_description (AutoarFormat format);
int autoar_format_get_format_libarchive (AutoarFormat format);
gchar *autoar_format_get_description_libarchive (AutoarFormat format);
+AutoarFilter autoar_filter_last (void);
gboolean autoar_filter_is_valid (AutoarFilter filter);
const char *autoar_filter_get_mime_type (AutoarFilter filter);
const char *autoar_filter_get_extension (AutoarFilter filter);
diff --git a/gnome-autoar/autoar-gtk.c b/gnome-autoar/autoar-gtk.c
index 38cba8d..ab9dc1c 100644
--- a/gnome-autoar/autoar-gtk.c
+++ b/gnome-autoar/autoar-gtk.c
@@ -358,10 +358,11 @@ static GtkTreeModel*
advanced_format_store (void)
{
GtkListStore *store;
- int i;
+ int i, last;
store = gtk_list_store_new (N_ADVANCED_FORMAT_COLS, G_TYPE_INT, G_TYPE_STRING);
- for (i = 1; i < AUTOAR_FORMAT_LAST; i++) {
+ last = autoar_format_last ();
+ for (i = 1; i < last; i++) {
GtkTreeIter iter;
const char *description;
@@ -379,10 +380,11 @@ static GtkTreeModel*
advanced_filter_store (void)
{
GtkListStore *store;
- int i;
+ int i, last;
store = gtk_list_store_new (N_ADVANCED_FILTER_COLS, G_TYPE_INT, G_TYPE_STRING);
- for (i = 1; i < AUTOAR_FILTER_LAST; i++) {
+ last = autoar_filter_last ();
+ for (i = 1; i < last; i++) {
GtkTreeIter iter;
const char *description;
diff --git a/gnome-autoar/autoar-pref.c b/gnome-autoar/autoar-pref.c
index ed563bc..ae353ab 100644
--- a/gnome-autoar/autoar-pref.c
+++ b/gnome-autoar/autoar-pref.c
@@ -201,7 +201,7 @@ autoar_pref_set_default_format (AutoarPref *arpref,
AutoarFormat format)
{
g_return_if_fail (AUTOAR_IS_PREF (arpref));
- g_return_if_fail (format > 0 && format < AUTOAR_FORMAT_LAST);
+ g_return_if_fail (autoar_format_is_valid (format));
if (arpref->priv->modification_enabled && format != arpref->priv->default_format)
arpref->priv->modification_flags |= MODIFIED_DEFAULT_FORMAT;
arpref->priv->default_format = format;
@@ -212,7 +212,7 @@ autoar_pref_set_default_filter (AutoarPref *arpref,
AutoarFilter filter)
{
g_return_if_fail (AUTOAR_IS_PREF (arpref));
- g_return_if_fail (filter > 0 && filter < AUTOAR_FILTER_LAST);
+ g_return_if_fail (autoar_filter_is_valid (filter));
if (arpref->priv->modification_enabled && filter != arpref->priv->default_filter)
arpref->priv->modification_flags |= MODIFIED_DEFAULT_FILTER;
arpref->priv->default_filter = filter;