Skip to content

Commit

Permalink
Add a 64 bit integer type to the suboption parser.
Browse files Browse the repository at this point in the history
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28794 b3059339-0415-0410-9bf9-f77b7e298cf2
  • Loading branch information
reimar committed Mar 2, 2009
1 parent b9102d0 commit 39bb720
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 1 deletion.
22 changes: 21 additions & 1 deletion m_option.c
Original file line number Diff line number Diff line change
Expand Up @@ -162,13 +162,20 @@ static int parse_int(const m_option_t* opt,const char *name, char *param, void*
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));
}

Expand All @@ -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
Expand Down
2 changes: 2 additions & 0 deletions m_option.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -152,6 +153,7 @@ extern const m_obj_params_t m_span_params_def;
// 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)
Expand Down

0 comments on commit 39bb720

Please sign in to comment.