Add public function to validate D-Bus identifiers
authorMarcel Holtmann <marcel@holtmann.org>
Mon, 14 Dec 2009 08:34:25 +0000 (09:34 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Mon, 14 Dec 2009 08:34:25 +0000 (09:34 +0100)
include/dbus.h
src/dbus.c

index dce7af0..c9f4a62 100644 (file)
@@ -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
index daa2239..9cb13dd 100644 (file)
 #endif
 
 #include <string.h>
+#include <dbus/dbus.h>
 
 #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;