From: Marcel Holtmann Date: Mon, 14 Dec 2009 08:34:25 +0000 (+0100) Subject: Add public function to validate D-Bus identifiers X-Git-Tag: 0.48~120 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=627d936df1945e8476a37dc82f460e245469a335;p=platform%2Fupstream%2Fconnman.git Add public function to validate D-Bus identifiers --- diff --git a/include/dbus.h b/include/dbus.h index dce7af0..c9f4a62 100644 --- a/include/dbus.h +++ b/include/dbus.h @@ -55,6 +55,7 @@ void connman_dbus_dict_append_array(DBusMessageIter *dict, void connman_dbus_dict_append_variant(DBusMessageIter *dict, const char *key, int type, void *val); +dbus_bool_t connman_dbus_validate_ident(const char *ident); char *connman_dbus_encode_string(const char *value); #ifdef __cplusplus diff --git a/src/dbus.c b/src/dbus.c index daa2239..9cb13dd 100644 --- a/src/dbus.c +++ b/src/dbus.c @@ -24,9 +24,30 @@ #endif #include +#include #include "connman.h" +dbus_bool_t connman_dbus_validate_ident(const char *ident) +{ + unsigned int i; + + if (ident == NULL) + return FALSE; + + for (i = 0; i < strlen(ident); i++) { + if (ident[i] >= '0' && ident[i] <= '9') + continue; + if (ident[i] >= 'a' && ident[i] <= 'z') + continue; + if (ident[i] >= 'A' && ident[i] <= 'Z') + continue; + return FALSE; + } + + return TRUE; +} + char *connman_dbus_encode_string(const char *value) { GString *str;