gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-anastasis] 03/03: fix loop


From: gnunet
Subject: [taler-anastasis] 03/03: fix loop
Date: Sun, 18 Oct 2020 20:49:50 +0200

This is an automated email from the git hooks/post-receive script.

dennis-neufeld pushed a commit to branch master
in repository anastasis.

commit ed2ce877cce105160aecebb2cdf88658f932147c
Author: Dennis Neufeld <dennis.neufeld@students.bfh.ch>
AuthorDate: Sun Oct 18 20:48:03 2020 +0200

    fix loop
---
 src/include/anastasis_redux.h |  4 +++-
 src/lib/anastasis_api_redux.c | 29 +++++++++++++++++++++--------
 2 files changed, 24 insertions(+), 9 deletions(-)

diff --git a/src/include/anastasis_redux.h b/src/include/anastasis_redux.h
index 7c4002f..c0de517 100644
--- a/src/include/anastasis_redux.h
+++ b/src/include/anastasis_redux.h
@@ -41,7 +41,7 @@ enum ANASTASIS_GenericState
   ANASTASIS_GENERIC_STATES (GENERATE_GENERIC_ENUM)
 };
 
-#undef GENERATE_BACKUP_ENUM
+#undef GENERATE_GENERIC_ENUM
 
 #define ANASTASIS_BACKUP_STATES(REDUX_STATE) \
   ANASTASIS_GENERIC_STATES (REDUX_STATE) \
@@ -72,6 +72,8 @@ enum ANASTASIS_RecoveryState
   ANASTASIS_RECOVERY_STATES (GENERATE_RECOVERY_ENUM)
 };
 
+#undef GENERATE_RECOVERY_ENUM
+
 
 /**
  * JSON containing country specific identity attributes to ask the user for.
diff --git a/src/lib/anastasis_api_redux.c b/src/lib/anastasis_api_redux.c
index 222a68a..61fa91e 100644
--- a/src/lib/anastasis_api_redux.c
+++ b/src/lib/anastasis_api_redux.c
@@ -214,24 +214,36 @@ add_config_to_state (struct ConfigRequest *cr,
 {
   json_t *method;
   size_t index;
-  json_t *methods_list = json_object_get (state, "authentication_methods");
-  json_t *provider_list = json_object_get (state, "authentication_providers");
+  json_t *provider_list;
+  json_t *methods_list = json_object_get (cr->backend_methods,
+                                          "methods");
+
+  if (NULL == (provider_list = json_object_get (state,
+                                                "authentication_providers")))
+  {
+    GNUNET_assert (0 ==
+                   json_object_set_new (state,
+                                        "authentication_providers",
+                                        provider_list = json_object ()));
+  }
+  provider_list = json_object_get (state, "authentication_providers");
 
   GNUNET_assert (NULL != provider_list);
-  json_array_foreach (cr->backend_methods, index, method)
+  json_array_foreach (methods_list, index, method)
   {
     const char *method_type = json_string_value (json_object_get (method,
                                                                   "method"));
-    json_t *ma;
+    json_t *ma_arr;
     json_t *prov;
+    json_t *ma = json_object ();
 
-    if (NULL == (ma = json_object_get (provider_list,
-                                       method_type)))
+    if (NULL == (ma_arr = json_object_get (provider_list,
+                                           method_type)))
     {
       GNUNET_assert (0 ==
-                     json_object_set_new (methods_list,
+                     json_object_set_new (provider_list,
                                           method_type,
-                                          ma = json_object ()));
+                                          ma_arr = json_array ()));
     }
     prov = json_pack ("{s:o}",
                       "method_cost",
@@ -251,6 +263,7 @@ add_config_to_state (struct ConfigRequest *cr,
     GNUNET_assert (0 == json_object_set_new (ma,
                                              cr->backend_id,
                                              prov));
+    GNUNET_assert (0 == json_array_append_new (ma_arr, ma));
   }
 }
 

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]