Improve internal type "data_key_t"
authorJosé Bollo <jose.bollo@iot.bzh>
Tue, 6 Aug 2019 21:08:07 +0000 (23:08 +0200)
committerJosé Bollo <jose.bollo@iot.bzh>
Tue, 6 Aug 2019 21:08:07 +0000 (23:08 +0200)
Change-Id: I0d2d1566819dc595e46ab09cdab9b8c1dd5b6537
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
src/data.h

index ef387f8..0e1a3b0 100644 (file)
@@ -28,7 +28,8 @@
 #define Data_Any_String "#"
 #define Data_Wide_String "*"
 
-typedef struct data_key data_key_t;
+typedef enum data_keyidx data_keyidx_t;
+typedef union data_key data_key_t;
 typedef struct data_value data_value_t;
 
 enum data_keyidx {
@@ -39,16 +40,16 @@ enum data_keyidx {
        KeyIdx_Count
 };
 
-struct data_key {
-       union {
-               struct {
-                       const char *client;
-                       const char *session;
-                       const char *user;
-                       const char *permission;
-               };
-               const char *keys[KeyIdx_Count];
+union data_key {
+       /* name access */
+       struct {
+               const char *client;
+               const char *session;
+               const char *user;
+               const char *permission;
        };
+       /* arrayed access, see data_keyidx_t */
+       const char *keys[KeyIdx_Count];
 };
 
 struct data_value {