# HG changeset patch # User reimar # Date 1267137148 0 # Node ID a26f6577d338d91a06a467e4e104902364725ec6 # Parent 9be8d71ca9a59d9c600d5d6752171e9f569db632 Make more option-parsing related function arguments const. Prerequisite for making stream_open filename const in a proper way. diff -r 9be8d71ca9a5 -r a26f6577d338 m_config.c --- a/m_config.c Thu Feb 25 22:29:00 2010 +0000 +++ b/m_config.c Thu Feb 25 22:32:28 2010 +0000 @@ -37,10 +37,10 @@ #define MAX_PROFILE_DEPTH 20 static int -parse_profile(const m_option_t *opt, const char *name, char *param, void *dst, int src); +parse_profile(const m_option_t *opt, const char *name, const char *param, void *dst, int src); static void -set_profile(const m_option_t *opt, void* dst, void* src); +set_profile(const m_option_t *opt, void* dst, const void* src); static int show_profile(m_option_t *opt, char* name, char *param); @@ -515,7 +515,7 @@ } static int -parse_profile(const m_option_t *opt, const char *name, char *param, void *dst, int src) +parse_profile(const m_option_t *opt, const char *name, const char *param, void *dst, int src) { m_config_t* config = opt->priv; char** list = NULL; @@ -551,7 +551,7 @@ } static void -set_profile(const m_option_t *opt, void *dst, void *src) { +set_profile(const m_option_t *opt, void *dst, const void *src) { m_config_t* config = opt->priv; m_profile_t* p; char** list = NULL; diff -r 9be8d71ca9a5 -r a26f6577d338 m_option.c --- a/m_option.c Thu Feb 25 22:29:00 2010 +0000 +++ b/m_option.c Thu Feb 25 22:32:28 2010 +0000 @@ -57,7 +57,7 @@ // Default function that just does a memcpy -static void copy_opt(const m_option_t* opt,void* dst,void* src) { +static void copy_opt(const m_option_t* opt,void* dst,const void* src) { if(dst && src) memcpy(dst,src,opt->type->size); } @@ -93,7 +93,7 @@ #define VAL(x) (*(int*)(x)) -static int parse_flag(const m_option_t* opt,const char *name, char *param, void* dst, int src) { +static int parse_flag(const m_option_t* opt,const char *name, const char *param, void* dst, int src) { if (src == M_CONFIG_FILE) { if(!param) return M_OPT_MISSING_PARAM; if (!strcasecmp(param, "yes") || /* any other language? */ @@ -153,7 +153,7 @@ // Integer -static int parse_int(const m_option_t* opt,const char *name, char *param, void* dst, int src) { +static int parse_int(const m_option_t* opt,const char *name, const char *param, void* dst, int src) { long long tmp_int; char *endptr; src = 0; @@ -226,7 +226,7 @@ #undef VAL #define VAL(x) (*(double*)(x)) -static int parse_double(const m_option_t* opt,const char *name, char *param, void* dst, int src) { +static int parse_double(const m_option_t* opt,const char *name, const char *param, void* dst, int src) { double tmp_float; char* endptr; src = 0; @@ -296,7 +296,7 @@ #undef VAL #define VAL(x) (*(float*)(x)) -static int parse_float(const m_option_t* opt,const char *name, char *param, void* dst, int src) { +static int parse_float(const m_option_t* opt,const char *name, const char *param, void* dst, int src) { double tmp; int r= parse_double(opt, name, param, &tmp, src); if(r==1 && dst) VAL(dst) = tmp; @@ -325,7 +325,7 @@ #undef VAL #define VAL(x) (*(off_t*)(x)) -static int parse_position(const m_option_t* opt,const char *name, char *param, void* dst, int src) { +static int parse_position(const m_option_t* opt,const char *name, const char *param, void* dst, int src) { off_t tmp_off; char dummy; @@ -381,7 +381,7 @@ #undef VAL #define VAL(x) (*(char**)(x)) -static int parse_str(const m_option_t* opt,const char *name, char *param, void* dst, int src) { +static int parse_str(const m_option_t* opt,const char *name, const char *param, void* dst, int src) { if (param == NULL) @@ -413,7 +413,7 @@ return (val && VAL(val) && strlen(VAL(val)) > 0) ? strdup(VAL(val)) : NULL; } -static void copy_str(const m_option_t* opt,void* dst, void* src) { +static void copy_str(const m_option_t* opt,void* dst, const void* src) { if(dst && src) { #ifndef NO_FREE if(VAL(dst)) free(VAL(dst)); //FIXME!!! @@ -561,10 +561,10 @@ return ptr; } -static int parse_str_list(const m_option_t* opt,const char *name, char *param, void* dst, int src) { +static int parse_str_list(const m_option_t* opt,const char *name, const char *param, void* dst, int src) { int n = 0,len = strlen(opt->name); char *str; - char *ptr = param, *last_ptr, **res; + char *ptr = (char *)param, *last_ptr, **res; int op = OP_NONE; if(opt->name[len-1] == '*' && ((int)strlen(name) > len - 1)) { @@ -648,7 +648,7 @@ return 1; } -static void copy_str_list(const m_option_t* opt,void* dst, void* src) { +static void copy_str_list(const m_option_t* opt,void* dst, const void* src) { int n; char **d,**s; @@ -743,7 +743,7 @@ } // Parser for func_param and func_full -static int parse_func_pf(const m_option_t* opt,const char *name, char *param, void* dst, int src) { +static int parse_func_pf(const m_option_t* opt,const char *name, const char *param, void* dst, int src) { m_func_save_t *s,*p; if(!dst) @@ -764,7 +764,7 @@ return 1; } -static void copy_func_pf(const m_option_t* opt,void* dst, void* src) { +static void copy_func_pf(const m_option_t* opt,void* dst, const void* src) { m_func_save_t *d = NULL, *s,* last = NULL; if(!(dst && src)) return; @@ -790,7 +790,7 @@ /////////////////// Func_param -static void set_func_param(const m_option_t* opt, void* dst, void* src) { +static void set_func_param(const m_option_t* opt, void* dst, const void* src) { m_func_save_t* s; if(!src) return; @@ -819,7 +819,7 @@ /////////////////// Func_full -static void set_func_full(const m_option_t* opt, void* dst, void* src) { +static void set_func_full(const m_option_t* opt, void* dst, const void* src) { m_func_save_t* s; if(!src) return; @@ -849,13 +849,13 @@ #undef VAL #define VAL(x) (*(int*)(x)) -static int parse_func(const m_option_t* opt,const char *name, char *param, void* dst, int src) { +static int parse_func(const m_option_t* opt,const char *name, const char *param, void* dst, int src) { if(dst) VAL(dst) += 1; return 0; } -static void set_func(const m_option_t* opt,void* dst, void* src) { +static void set_func(const m_option_t* opt,void* dst, const void* src) { int i; if(opt->priv) ((m_opt_default_func_t)opt->priv)(opt,opt->name); for(i = 0 ; i < VAL(src) ; i++) @@ -877,7 +877,7 @@ /////////////////// Print -static int parse_print(const m_option_t* opt,const char *name, char *param, void* dst, int src) { +static int parse_print(const m_option_t* opt,const char *name, const char *param, void* dst, int src) { if(opt->type == CONF_TYPE_PRINT_INDIRECT) mp_msg(MSGT_CFGPARSER, MSGL_INFO, "%s", *(char **) opt->p); else if(opt->type == CONF_TYPE_PRINT_FUNC) @@ -934,7 +934,7 @@ #undef VAL #define VAL(x) (*(char***)(x)) -static int parse_subconf(const m_option_t* opt,const char *name, char *param, void* dst, int src) { +static int parse_subconf(const m_option_t* opt,const char *name, const char *param, void* dst, int src) { char *subparam; char *subopt; int nr = 0,i,r; @@ -1104,7 +1104,7 @@ { NULL, 0 } }; -static int parse_imgfmt(const m_option_t* opt,const char *name, char *param, void* dst, int src) { +static int parse_imgfmt(const m_option_t* opt,const char *name, const char *param, void* dst, int src) { uint32_t fmt = 0; int i; @@ -1194,7 +1194,7 @@ { NULL, 0 } }; -static int parse_afmt(const m_option_t* opt,const char *name, char *param, void* dst, int src) { +static int parse_afmt(const m_option_t* opt,const char *name, const char *param, void* dst, int src) { uint32_t fmt = 0; int i; @@ -1257,7 +1257,7 @@ } -static int parse_time(const m_option_t* opt,const char *name, char *param, void* dst, int src) +static int parse_time(const m_option_t* opt,const char *name, const char *param, void* dst, int src) { double time; @@ -1292,7 +1292,7 @@ // Time or size (-endpos) -static int parse_time_size(const m_option_t* opt,const char *name, char *param, void* dst, int src) { +static int parse_time_size(const m_option_t* opt,const char *name, const char *param, void* dst, int src) { m_time_size_t ts; char unit[4]; double end_at; @@ -1523,7 +1523,7 @@ } static int parse_obj_params(const m_option_t* opt,const char *name, - char *param, void* dst, int src) { + const char *param, void* dst, int src) { char** opts; int r; m_obj_params_t* p = opt->priv; @@ -1637,7 +1637,7 @@ static void free_obj_settings_list(void* dst); -static int obj_settings_list_del(const char *opt_name,char *param,void* dst, int src) { +static int obj_settings_list_del(const char *opt_name,const char *param,void* dst, int src) { char** str_list = NULL; int r,i,idx_max = 0; char* rem_id = "_removed_marker_"; @@ -1696,7 +1696,7 @@ } static int parse_obj_settings_list(const m_option_t* opt,const char *name, - char *param, void* dst, int src) { + const char *param, void* dst, int src) { int n = 0,r,len = strlen(opt->name); char *str; char *ptr, *last_ptr; @@ -1849,7 +1849,7 @@ VAL(dst) = NULL; } -static void copy_obj_settings_list(const m_option_t* opt,void* dst, void* src) { +static void copy_obj_settings_list(const m_option_t* opt,void* dst, const void* src) { m_obj_settings_t *d,*s; int n; @@ -1893,7 +1893,7 @@ static int parse_obj_presets(const m_option_t* opt,const char *name, - char *param, void* dst, int src) { + const char *param, void* dst, int src) { m_obj_presets_t* obj_p = (m_obj_presets_t*)opt->priv; m_struct_t *in_desc,*out_desc; int s,i; @@ -1965,7 +1965,7 @@ }; static int parse_custom_url(const m_option_t* opt,const char *name, - char *url, void* dst, int src) { + const char *url, void* dst, int src) { int pos1, pos2, r, v6addr = 0; char *ptr1=NULL, *ptr2=NULL, *ptr3=NULL, *ptr4=NULL; m_struct_t* desc = opt->priv; diff -r 9be8d71ca9a5 -r a26f6577d338 m_option.h --- a/m_option.h Thu Feb 25 22:29:00 2010 +0000 +++ b/m_option.h Thu Feb 25 22:32:28 2010 +0000 @@ -68,7 +68,7 @@ typedef void (*m_opt_default_func_t)(const m_option_t *, const char*); /// Callback used by m_option_type_func_full options. -typedef int (*m_opt_func_full_t)(const m_option_t *, const char *, char *); +typedef int (*m_opt_func_full_t)(const m_option_t *, const char *, const char *); /// Callback used by m_option_type_func_param options. typedef int (*m_opt_func_param_t)(const m_option_t *, const char *); @@ -198,9 +198,9 @@ /// Option type description struct m_option_type { - char* name; + const char* name; /// Syntax description, etc - char* comments; + const char* comments; /// Size needed for the data. unsigned int size; /// See \ref OptionTypeFlags. @@ -218,7 +218,7 @@ * \return On error a negative value is returned, on success the number of arguments * consumed. For details see \ref OptionParserReturn. */ - int (*parse)(const m_option_t* opt,const char *name, char *param, void* dst, int src); + int (*parse)(const m_option_t* opt,const char *name, const char *param, void* dst, int src); /// Print back a value in string form. /** \param opt The option to print. @@ -241,21 +241,21 @@ * \param dst Pointer to the destination memory. * \param src Pointer to the source memory. */ - void (*save)(const m_option_t* opt,void* dst, void* src); + void (*save)(const m_option_t* opt,void* dst, const void* src); /// Set the value in the program (dst) from a save slot. /** \param opt The option to copy. * \param dst Pointer to the destination memory. * \param src Pointer to the source memory. */ - void (*set)(const m_option_t* opt,void* dst, void* src); + void (*set)(const m_option_t* opt,void* dst, const void* src); /// Copy the data between two save slots. If NULL and size is > 0 a memcpy will be used. /** \param opt The option to copy. * \param dst Pointer to the destination memory. * \param src Pointer to the source memory. */ - void (*copy)(const m_option_t* opt,void* dst, void* src); + void (*copy)(const m_option_t* opt,void* dst, const void* src); //@} /// Free the data allocated for a save slot. @@ -483,7 +483,7 @@ /// Helper to parse options, see \ref m_option_type::parse. inline static int -m_option_parse(const m_option_t* opt,const char *name, char *param, void* dst, int src) { +m_option_parse(const m_option_t* opt,const char *name, const char *param, void* dst, int src) { return opt->type->parse(opt,name,param,dst,src); } @@ -498,21 +498,21 @@ /// Helper around \ref m_option_type::save. inline static void -m_option_save(const m_option_t* opt,void* dst, void* src) { +m_option_save(const m_option_t* opt,void* dst, const void* src) { if(opt->type->save) opt->type->save(opt,dst,src); } /// Helper around \ref m_option_type::set. inline static void -m_option_set(const m_option_t* opt,void* dst, void* src) { +m_option_set(const m_option_t* opt,void* dst, const void* src) { if(opt->type->set) opt->type->set(opt,dst,src); } /// Helper around \ref m_option_type::copy. inline static void -m_option_copy(const m_option_t* opt,void* dst, void* src) { +m_option_copy(const m_option_t* opt,void* dst, const void* src) { if(opt->type->copy) opt->type->copy(opt,dst,src); else if(opt->type->size > 0) diff -r 9be8d71ca9a5 -r a26f6577d338 m_struct.c --- a/m_struct.c Thu Feb 25 22:29:00 2010 +0000 +++ b/m_struct.c Thu Feb 25 22:32:28 2010 +0000 @@ -68,7 +68,7 @@ } int -m_struct_set(const m_struct_t* st, void* obj, char* field, char* param) { +m_struct_set(const m_struct_t* st, void* obj, const char* field, const char* param) { const m_option_t* f = m_struct_get_field(st,field); if(!f) { diff -r 9be8d71ca9a5 -r a26f6577d338 m_struct.h --- a/m_struct.h Thu Feb 25 22:29:00 2010 +0000 +++ b/m_struct.h Thu Feb 25 22:32:28 2010 +0000 @@ -88,7 +88,7 @@ * \return 0 on error, 1 on success. */ int -m_struct_set(const m_struct_t* st, void* obj, char* field, char* param); +m_struct_set(const m_struct_t* st, void* obj, const char* field, const char* param); /// Reset a field (or all if field == NULL) to defaults. /** \param st Struct definition.