summaryrefslogtreecommitdiff
path: root/src/xine-engine/info_helper.c
diff options
context:
space:
mode:
authorThibaut Mattern <tmattern@users.sourceforge.net>2003-10-26 23:51:36 +0000
committerThibaut Mattern <tmattern@users.sourceforge.net>2003-10-26 23:51:36 +0000
commitdc2c0374e09f2d79b50f24bd30c63508e947d966 (patch)
treebbb05aa7c9c8632bc4277b76fed8ee0222f0abb3 /src/xine-engine/info_helper.c
parenta01d88ed08671e2126b24e0d8fdff5272aacd20f (diff)
downloadxine-lib-dc2c0374e09f2d79b50f24bd30c63508e947d966.tar.gz
xine-lib-dc2c0374e09f2d79b50f24bd30c63508e947d966.tar.bz2
Code review from Daniel.
CVS patchset: 5612 CVS date: 2003/10/26 23:51:36
Diffstat (limited to 'src/xine-engine/info_helper.c')
-rw-r--r--src/xine-engine/info_helper.c60
1 files changed, 43 insertions, 17 deletions
diff --git a/src/xine-engine/info_helper.c b/src/xine-engine/info_helper.c
index 39f5671c3..a9e0432f0 100644
--- a/src/xine-engine/info_helper.c
+++ b/src/xine-engine/info_helper.c
@@ -45,27 +45,53 @@ static void chomp (char *str) {
}
}
-void xine_set_stream_info(xine_stream_t *stream, int info, int value) {
- stream->stream_info [info] = value;
+static int info_valid(int info) {
+ if ((info >= 0) && (info < XINE_STREAM_INFO_MAX)) {
+ return 1;
+ } else {
+ fprintf(stderr, "Error: invalid STREAM_INFO %d. Ignored.\n", info);
+ return 0;
+ }
}
-void xine_set_meta_info(xine_stream_t *stream, int info, char *str) {
- if (stream->meta_info [info])
- free(stream->meta_info [info]);
- stream->meta_info [info] = strdup(str);
- chomp(stream->meta_info [info]);
+static int meta_valid(int info) {
+ if ((info >= 0) && (info < XINE_STREAM_INFO_MAX)) {
+ return 1;
+ } else {
+ fprintf(stderr, "Error: invalid META_INFO %d. Ignored.\n", info);
+ return 0;
+ }
}
-void xine_set_meta_info2(xine_stream_t *stream, int info, char *buf, int len) {
- char *tmp;
-
- if (stream->meta_info [info])
- free(stream->meta_info [info]);
+void xine_set_stream_info(xine_stream_t *stream, int info, int value) {
+ if(info_valid(info))
+ stream->stream_info [info] = value;
+}
- tmp = malloc(len + 1);
- xine_fast_memcpy(tmp, buf, len);
- tmp[len] = '\0';
+void xine_set_meta_info(xine_stream_t *stream, int info, const char *str) {
+ if(meta_valid(info)) {
+ if (stream->meta_info [info])
+ free(stream->meta_info [info]);
+ stream->meta_info [info] = strdup(str);
+ chomp(stream->meta_info [info]);
+ }
+}
- stream->meta_info [info] = tmp;
- chomp(stream->meta_info [info]);
+void xine_set_metan_info(xine_stream_t *stream, int info, const char *buf,
+ int len) {
+ if(meta_valid(info)) {
+ char *tmp;
+
+ if (stream->meta_info [info])
+ free(stream->meta_info [info]);
+
+ if(len) {
+ tmp = malloc(len + 1);
+ xine_fast_memcpy(tmp, buf, len);
+ tmp[len] = '\0';
+
+ stream->meta_info [info] = tmp;
+ chomp(stream->meta_info [info]);
+ }
+ }
}