libobs: Remove redundant get_data calls in obs_data functions

master
Richard Stanway 2022-07-27 12:49:33 +02:00
parent f8b31f6f90
commit ad11ae2f5c
No known key found for this signature in database
GPG Key ID: 4F96FCA24BCE7BA1
1 changed files with 14 additions and 9 deletions

View File

@ -1748,16 +1748,18 @@ typedef void *(*get_data_t)(obs_data_item_t *);
static inline const char *data_item_get_string(obs_data_item_t *item,
get_data_t get_data)
{
return item_valid(item, OBS_DATA_STRING) && get_data(item)
? get_data(item)
: "";
const char *str;
return item_valid(item, OBS_DATA_STRING) && (str = get_data(item)) ? str
: "";
}
static inline long long item_int(struct obs_data_item *item,
get_data_t get_data)
{
if (item && get_data(item)) {
struct obs_data_number *num = get_data(item);
struct obs_data_number *num;
if (item && (num = get_data(item))) {
return (num->type == OBS_DATA_NUM_INT)
? num->int_val
: (long long)num->double_val;
@ -1776,8 +1778,9 @@ static inline long long data_item_get_int(obs_data_item_t *item,
static inline double item_double(struct obs_data_item *item,
get_data_t get_data)
{
if (item && get_data(item)) {
struct obs_data_number *num = get_data(item);
struct obs_data_number *num;
if (item && (num = get_data(item))) {
return (num->type == OBS_DATA_NUM_INT) ? (double)num->int_val
: num->double_val;
}
@ -1795,8 +1798,10 @@ static inline double data_item_get_double(obs_data_item_t *item,
static inline bool data_item_get_bool(obs_data_item_t *item,
get_data_t get_data)
{
return item_valid(item, OBS_DATA_BOOLEAN) && get_data(item)
? *(bool *)get_data(item)
bool *data;
return item_valid(item, OBS_DATA_BOOLEAN) && (data = get_data(item))
? *data
: false;
}