diff options
author | Sylvain Munaut <tnt@246tNt.com> | 2010-10-29 22:45:22 +0200 |
---|---|---|
committer | Sylvain Munaut <tnt@246tNt.com> | 2010-11-11 20:26:41 +0100 |
commit | 24b761218f2db05f8e758640e3f7817410c43212 (patch) | |
tree | b1c4242d57b15cdf3268976a6f6458c366bb8bf8 | |
parent | ef7ada56cecbdc3504162f2a89be64546a0af345 (diff) |
format: Add function to get format by name
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
-rw-r--r-- | include/gapk/formats.h | 1 | ||||
-rw-r--r-- | src/formats.c | 15 |
2 files changed, 16 insertions, 0 deletions
diff --git a/include/gapk/formats.h b/include/gapk/formats.h index d38b934..89cb8d7 100644 --- a/include/gapk/formats.h +++ b/include/gapk/formats.h @@ -62,5 +62,6 @@ struct format_desc { }; const struct format_desc *fmt_get_from_type(enum format_type type); +const struct format_desc *fmt_get_from_name(const char *name); #endif /* __GAPK_FORMATS_H__ */ diff --git a/src/formats.c b/src/formats.c index 9e8da5e..8f51c2d 100644 --- a/src/formats.c +++ b/src/formats.c @@ -18,6 +18,7 @@ */ #include <stdio.h> /* for NULL */ +#include <string.h> #include <gapk/formats.h> @@ -49,3 +50,17 @@ fmt_get_from_type(enum format_type type) return NULL; return supported_formats[type]; } + +const struct format_desc * +fmt_get_from_name(const char *name) +{ + int i; + for (i=FMT_INVALID+1; i<_FMT_MAX; i++) { + const struct format_desc *fmt = supported_formats[i]; + if (!fmt) + continue; + if (!strcmp(fmt->name, name)) + return fmt; + } + return NULL; +} |