diff options
author | Denis Kenzior <denkenz@gmail.com> | 2011-02-04 12:36:14 -0600 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2011-02-06 23:47:17 -0600 |
commit | 9086328508849f4f4a148f85aecf2d891d40315f (patch) | |
tree | 32a192d72d4fa2f0eb6705d684cb7bc3f245c3f9 | |
parent | 40926f1951c9c2a71ac44230725f4442ae7af71f (diff) | |
download | ofono-9086328508849f4f4a148f85aecf2d891d40315f.tar.bz2 |
sms: Use a better pattern for bearer_from_string
-rw-r--r-- | src/sms.c | 17 |
1 files changed, 9 insertions, 8 deletions
@@ -144,18 +144,20 @@ static const char *sms_bearer_to_string(int bearer) return "unknown"; } -static int sms_bearer_from_string(const char *str) +static gboolean sms_bearer_from_string(const char *str, int *bearer) { if (g_str_equal(str, "ps-only")) - return 0; + *bearer = 0; else if (g_str_equal(str, "cs-only")) - return 1; + *bearer = 1; else if (g_str_equal(str, "ps-preferred")) - return 2; + *bearer = 2; else if (g_str_equal(str, "cs-preferred")) - return 3; + *bearer = 3; + else + return FALSE; - return -1; + return TRUE; } static const char *sms_alphabet_to_string(enum sms_alphabet alphabet) @@ -535,8 +537,7 @@ static DBusMessage *sms_set_property(DBusConnection *conn, DBusMessage *msg, dbus_message_iter_get_basic(&var, &value); - bearer = sms_bearer_from_string(value); - if (bearer < 0) + if (sms_bearer_from_string(value, &bearer) != TRUE) return __ofono_error_invalid_format(msg); if (sms->driver->bearer_set == NULL || |