From: jino.cho Date: Thu, 1 Jun 2017 07:18:28 +0000 (+0900) Subject: Fix type mismatch issue X-Git-Tag: submit/tizen/20170613.105843~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=84abf6350d82076f1abd27e893223224dcfe3353;p=platform%2Fcore%2Fapi%2Fperipheral-io.git Fix type mismatch issue The type size of bool and gboolean are different. Therefore, the pointer parameter should not be used directly as a argument of gdbus functions. Change-Id: I6ccccab228ca5fa57bee6db02e49bbe44a15eaef Signed-off-by: jino.cho --- diff --git a/src/peripheral_gdbus_gpio.c b/src/peripheral_gdbus_gpio.c index 721b3d4..6550360 100644 --- a/src/peripheral_gdbus_gpio.c +++ b/src/peripheral_gdbus_gpio.c @@ -126,21 +126,26 @@ int peripheral_gdbus_gpio_get_direction(peripheral_gpio_h gpio, peripheral_gpio_ { GError *error = NULL; peripheral_error_e ret = PERIPHERAL_ERROR_NONE; + gint value = 0; if (gpio_proxy == NULL) return PERIPHERAL_ERROR_UNKNOWN; if (peripheral_io_gdbus_gpio_call_get_direction_sync( gpio_proxy, gpio->handle, - (gint*)direction, + &value, &ret, NULL, &error) == FALSE) { _E("Error in %s() : %s\n", __func__, error->message); g_error_free(error); - return PERIPHERAL_ERROR_UNKNOWN; } + if (value >= PERIPHERAL_GPIO_DIRECTION_IN && value <= PERIPHERAL_GPIO_DIRECTION_OUT_HIGH) + *direction = value; + else + return PERIPHERAL_ERROR_UNKNOWN; + return ret; } @@ -214,13 +219,14 @@ int peripheral_gdbus_gpio_get_edge_mode(peripheral_gpio_h gpio, peripheral_gpio_ { GError *error = NULL; peripheral_error_e ret = PERIPHERAL_ERROR_NONE; + gint value = 0; if (gpio_proxy == NULL) return PERIPHERAL_ERROR_UNKNOWN; if (peripheral_io_gdbus_gpio_call_get_edge_mode_sync( gpio_proxy, gpio->handle, - (int*)edge, + &value, &ret, NULL, &error) == FALSE) { @@ -229,6 +235,11 @@ int peripheral_gdbus_gpio_get_edge_mode(peripheral_gpio_h gpio, peripheral_gpio_ return PERIPHERAL_ERROR_UNKNOWN; } + if (value >= PERIPHERAL_GPIO_EDGE_NONE && value <= PERIPHERAL_GPIO_EDGE_BOTH) + *edge = value; + else + return PERIPHERAL_ERROR_UNKNOWN; + return ret; } diff --git a/src/peripheral_gdbus_pwm.c b/src/peripheral_gdbus_pwm.c index a3b8b51..b32074e 100644 --- a/src/peripheral_gdbus_pwm.c +++ b/src/peripheral_gdbus_pwm.c @@ -122,13 +122,14 @@ int peripheral_gdbus_pwm_get_period(peripheral_pwm_h pwm, int *period) { GError *error = NULL; peripheral_error_e ret = PERIPHERAL_ERROR_NONE; + gint value = 0; if (pwm_proxy == NULL) return PERIPHERAL_ERROR_UNKNOWN; if (peripheral_io_gdbus_pwm_call_get_period_sync( pwm_proxy, pwm->handle, - (gint*)period, + &value, &ret, NULL, &error) == FALSE) { @@ -137,6 +138,8 @@ int peripheral_gdbus_pwm_get_period(peripheral_pwm_h pwm, int *period) return PERIPHERAL_ERROR_UNKNOWN; } + *period = value; + return ret; } @@ -166,13 +169,14 @@ int peripheral_gdbus_pwm_get_duty_cycle(peripheral_pwm_h pwm, int *duty_cycle) { GError *error = NULL; peripheral_error_e ret = PERIPHERAL_ERROR_NONE; + gint value = 0; if (pwm_proxy == NULL) return PERIPHERAL_ERROR_UNKNOWN; if (peripheral_io_gdbus_pwm_call_get_duty_cycle_sync( pwm_proxy, pwm->handle, - (gint*)duty_cycle, + &value, &ret, NULL, &error) == FALSE) { @@ -181,6 +185,8 @@ int peripheral_gdbus_pwm_get_duty_cycle(peripheral_pwm_h pwm, int *duty_cycle) return PERIPHERAL_ERROR_UNKNOWN; } + *duty_cycle = value; + return ret; } @@ -210,13 +216,14 @@ int peripheral_gdbus_pwm_get_polarity(peripheral_pwm_h pwm, peripheral_pwm_polar { GError *error = NULL; peripheral_error_e ret = PERIPHERAL_ERROR_NONE; + gint value = 0; if (pwm_proxy == NULL) return PERIPHERAL_ERROR_UNKNOWN; if (peripheral_io_gdbus_pwm_call_get_polarity_sync( pwm_proxy, pwm->handle, - (gint*)polarity, + &value, &ret, NULL, &error) == FALSE) { @@ -225,6 +232,11 @@ int peripheral_gdbus_pwm_get_polarity(peripheral_pwm_h pwm, peripheral_pwm_polar return PERIPHERAL_ERROR_UNKNOWN; } + if (!value) + *polarity = PERIPHERAL_PWM_POLARITY_NORMAL; + else + *polarity = PERIPHERAL_PWM_POLARITY_INVERSED; + return ret; } @@ -254,13 +266,14 @@ int peripheral_gdbus_pwm_get_enable(peripheral_pwm_h pwm, bool *enable) { GError *error = NULL; peripheral_error_e ret = PERIPHERAL_ERROR_NONE; + gboolean value = 0; if (pwm_proxy == NULL) return PERIPHERAL_ERROR_UNKNOWN; if (peripheral_io_gdbus_pwm_call_get_enable_sync( pwm_proxy, pwm->handle, - (gint*)enable, + &value, &ret, NULL, &error) == FALSE) { @@ -269,6 +282,11 @@ int peripheral_gdbus_pwm_get_enable(peripheral_pwm_h pwm, bool *enable) return PERIPHERAL_ERROR_UNKNOWN; } + if (!value) + *enable = false; + else + *enable = true; + return ret; }