[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.