[MPlayer-cvslog] r28794 - in trunk: m_option.c m_option.h
reimar
subversion at mplayerhq.hu
Mon Mar 2 12:17:50 CET 2009
Author: reimar
Date: Mon Mar 2 12:17:50 2009
New Revision: 28794
Log:
Add a 64 bit integer type to the suboption parser.
Modified:
trunk/m_option.c
trunk/m_option.h
Modified: trunk/m_option.c
==============================================================================
--- trunk/m_option.c Mon Mar 2 12:10:11 2009 (r28793)
+++ trunk/m_option.c Mon Mar 2 12:17:50 2009 (r28794)
@@ -162,13 +162,20 @@ static int parse_int(const m_option_t* o
return M_OPT_OUT_OF_RANGE;
}
- if(dst) VAL(dst) = tmp_int;
+ if(dst) {
+ if (opt->type->size == sizeof(int64_t))
+ *(int64_t *)dst = tmp_int;
+ else
+ VAL(dst) = tmp_int;
+ }
return 1;
}
static char* print_int(const m_option_t* opt, const void* val) {
opt = NULL;
+ if (opt->type->size == sizeof(int64_t))
+ return dup_printf("%"PRId64, *(const int64_t *)val);
return dup_printf("%d",VAL(val));
}
@@ -185,6 +192,19 @@ const m_option_type_t m_option_type_int
NULL
};
+const m_option_type_t m_option_type_int64 = {
+ "Integer64",
+ "",
+ sizeof(int64_t),
+ 0,
+ parse_int,
+ print_int,
+ copy_opt,
+ copy_opt,
+ NULL,
+ NULL
+};
+
// Float
#undef VAL
Modified: trunk/m_option.h
==============================================================================
--- trunk/m_option.h Mon Mar 2 12:10:11 2009 (r28793)
+++ trunk/m_option.h Mon Mar 2 12:17:50 2009 (r28794)
@@ -25,6 +25,7 @@ struct m_struct_st;
// Simple types
extern const m_option_type_t m_option_type_flag;
extern const m_option_type_t m_option_type_int;
+extern const m_option_type_t m_option_type_int64;
extern const m_option_type_t m_option_type_float;
extern const m_option_type_t m_option_type_double;
extern const m_option_type_t m_option_type_string;
@@ -152,6 +153,7 @@ extern const m_obj_params_t m_span_param
// FIXME: backward compatibility
#define CONF_TYPE_FLAG (&m_option_type_flag)
#define CONF_TYPE_INT (&m_option_type_int)
+#define CONF_TYPE_INT64 (&m_option_type_int64)
#define CONF_TYPE_FLOAT (&m_option_type_float)
#define CONF_TYPE_DOUBLE (&m_option_type_double)
#define CONF_TYPE_STRING (&m_option_type_string)
More information about the MPlayer-cvslog
mailing list