MINOR: sample: add type_to_smp() helper function

type_to_smp(type) does the reverse operation of smp_to_type[smp]: it takes
a type name as input string and tries to return the corresponding SMP_T_*
smp type or SMP_TYPES if not found.
This commit is contained in:
Aurelien DARRAGON 2024-01-10 14:00:15 +01:00
parent 2ed6068f2a
commit 0cfcc64b79
2 changed files with 16 additions and 0 deletions

View File

@ -31,6 +31,7 @@
extern sample_cast_fct sample_casts[SMP_TYPES][SMP_TYPES];
extern const unsigned int fetch_cap[SMP_SRC_ENTRIES];
extern const char *smp_to_type[SMP_TYPES];
int type_to_smp(const char *type);
struct sample_expr *sample_parse_expr(char **str, int *idx, const char *file, int line, char **err, struct arg_list *al, char **endptr);
int sample_parse_expr_cnv(char **str, int *idx, char **endptr, char **err_msg, struct arg_list *al, const char *file, int line,

View File

@ -61,6 +61,21 @@ const char *smp_to_type[SMP_TYPES] = {
[SMP_T_METH] = "meth",
};
/* Returns SMP_T_* smp matching with <type> name or SMP_TYPES if
* not found.
*/
int type_to_smp(const char *type)
{
int it = 0;
while (it < SMP_TYPES) {
if (!strcmp(type, smp_to_type[it]))
break; // found
it += 1;
}
return it;
}
/* static sample used in sample_process() when <p> is NULL */
static THREAD_LOCAL struct sample temp_smp;