aboutsummaryrefslogtreecommitdiff
path: root/src/reducer/anastasis_api_redux.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/reducer/anastasis_api_redux.c')
-rw-r--r--src/reducer/anastasis_api_redux.c51
1 files changed, 15 insertions, 36 deletions
diff --git a/src/reducer/anastasis_api_redux.c b/src/reducer/anastasis_api_redux.c
index f55eece..851be12 100644
--- a/src/reducer/anastasis_api_redux.c
+++ b/src/reducer/anastasis_api_redux.c
@@ -1378,9 +1378,16 @@ ANASTASIS_add_provider_ (json_t *state,
1378 ANASTASIS_ActionCallback cb, 1378 ANASTASIS_ActionCallback cb,
1379 void *cb_cls) 1379 void *cb_cls)
1380{ 1380{
1381 json_t *urls;
1382 json_t *tlist; 1381 json_t *tlist;
1383 1382
1383 if (NULL == arguments)
1384 {
1385 ANASTASIS_redux_fail_ (cb,
1386 cb_cls,
1387 TALER_EC_ANASTASIS_REDUCER_INPUT_INVALID,
1388 "arguments missing");
1389 return true; /* cb was invoked */
1390 }
1384 tlist = json_object_get (state, 1391 tlist = json_object_get (state,
1385 "authentication_providers"); 1392 "authentication_providers");
1386 if (NULL == tlist) 1393 if (NULL == tlist)
@@ -1392,47 +1399,19 @@ ANASTASIS_add_provider_ (json_t *state,
1392 "authentication_providers", 1399 "authentication_providers",
1393 tlist)); 1400 tlist));
1394 } 1401 }
1395 if (NULL == arguments)
1396 {
1397 ANASTASIS_redux_fail_ (cb,
1398 cb_cls,
1399 TALER_EC_ANASTASIS_REDUCER_INPUT_INVALID,
1400 "arguments missing");
1401 return true;
1402 }
1403 urls = json_object_get (arguments,
1404 "urls");
1405 if (NULL == urls)
1406 {
1407 ANASTASIS_redux_fail_ (cb,
1408 cb_cls,
1409 TALER_EC_ANASTASIS_REDUCER_INPUT_INVALID,
1410 "'urls' missing");
1411 return true;
1412 }
1413 { 1402 {
1414 size_t index; 1403 json_t *params;
1415 json_t *url; 1404 const char *url;
1416 1405
1417 json_array_foreach (urls, index, url) 1406 json_object_foreach (((json_t *) arguments), url, params)
1418 { 1407 {
1419 const char *url_str = json_string_value (url);
1420
1421 if (NULL == url_str)
1422 {
1423 ANASTASIS_redux_fail_ (cb,
1424 cb_cls,
1425 TALER_EC_ANASTASIS_REDUCER_INPUT_INVALID,
1426 "'urls' must be strings");
1427 return true;
1428 }
1429 GNUNET_assert (0 == 1408 GNUNET_assert (0 ==
1430 json_object_set_new (tlist, 1409 json_object_set (tlist,
1431 url_str, 1410 url,
1432 json_object ())); 1411 params));
1433 } 1412 }
1434 } 1413 }
1435 return false; 1414 return false; /* cb not invoked */
1436} 1415}
1437 1416
1438 1417