summaryrefslogtreecommitdiff
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
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
-rw-r--r--src/xine-engine/info_helper.c60
-rw-r--r--src/xine-engine/info_helper.h4
2 files changed, 45 insertions, 19 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]);
+ }
+ }
}
diff --git a/src/xine-engine/info_helper.h b/src/xine-engine/info_helper.h
index 11d74465c..20fcd8fda 100644
--- a/src/xine-engine/info_helper.h
+++ b/src/xine-engine/info_helper.h
@@ -48,7 +48,7 @@ void xine_set_stream_info(xine_stream_t *stream, int info, int value);
* *str null-terminated string
*
*/
-void xine_set_meta_info(xine_stream_t *stream, int info, char *str);
+void xine_set_meta_info(xine_stream_t *stream, int info, const char *str);
/*
* set a stream meta info
@@ -60,6 +60,6 @@ void xine_set_meta_info(xine_stream_t *stream, int info, char *str);
* len length of the metainfo
*
*/
-void xine_set_meta_info2(xine_stream_t *stream, int info, char *buf, int len);
+void xine_set_metan_info(xine_stream_t *stream, int info, const char *buf, int len);
#endif /* INFO_HELPER_H */