gnunet-svn
[Top][All Lists]
Advanced

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

[taler-exchange] branch master updated: -remove more json_pack calls


From: gnunet
Subject: [taler-exchange] branch master updated: -remove more json_pack calls
Date: Sat, 31 Jul 2021 19:53:53 +0200

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

grothoff pushed a commit to branch master
in repository exchange.

The following commit(s) were added to refs/heads/master by this push:
     new 723a3b74 -remove more json_pack calls
723a3b74 is described below

commit 723a3b742e9b284400c5164d146dc953383b4384
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Sat Jul 31 19:53:40 2021 +0200

    -remove more json_pack calls
---
 src/bank-lib/bank_api_admin.c              |  14 ++--
 src/bank-lib/bank_api_transfer.c           |  18 +++--
 src/bank-lib/fakebank.c                    | 110 ++++++++++++++++-------------
 src/exchange-tools/taler-auditor-offline.c |  53 +++++++++-----
 4 files changed, 111 insertions(+), 84 deletions(-)

diff --git a/src/bank-lib/bank_api_admin.c b/src/bank-lib/bank_api_admin.c
index a0d68de2..56828efa 100644
--- a/src/bank-lib/bank_api_admin.c
+++ b/src/bank-lib/bank_api_admin.c
@@ -184,13 +184,13 @@ TALER_BANK_admin_add_incoming (
   json_t *admin_obj;
   CURL *eh;
 
-  admin_obj = json_pack ("{s:o, s:o, s:s}",
-                         "reserve_pub",
-                         GNUNET_JSON_from_data_auto (reserve_pub),
-                         "amount",
-                         TALER_JSON_from_amount (amount),
-                         "debit_account",
-                         debit_account);
+  admin_obj = GNUNET_JSON_PACK (
+    GNUNET_JSON_pack_data_auto ("reserve_pub",
+                                reserve_pub),
+    TALER_JSON_pack_amount ("amount",
+                            amount),
+    GNUNET_JSON_pack_string ("debit_account",
+                             debit_account));
   if (NULL == admin_obj)
   {
     GNUNET_break (0);
diff --git a/src/bank-lib/bank_api_transfer.c b/src/bank-lib/bank_api_transfer.c
index 3f482e8c..da9ff4f5 100644
--- a/src/bank-lib/bank_api_transfer.c
+++ b/src/bank-lib/bank_api_transfer.c
@@ -319,13 +319,17 @@ TALER_BANK_transfer (
     GNUNET_break (0);
     return NULL;
   }
-  transfer_obj = json_pack ("{s:o, s:o, s:s, s:o, s:s}",
-                            "request_uid", GNUNET_JSON_from_data_auto (
-                              &wp->request_uid),
-                            "amount", TALER_JSON_from_amount (&amount),
-                            "exchange_base_url", exchange_base_url,
-                            "wtid", GNUNET_JSON_from_data_auto (&wp->wtid),
-                            "credit_account", destination_account_uri);
+  transfer_obj = GNUNET_JSON_PACK (
+    GNUNET_JSON_pack_data_auto ("request_uid",
+                                &wp->request_uid),
+    TALER_JSON_pack_amount ("amount",
+                            &amount),
+    GNUNET_JSON_pack_string ("exchange_base_url",
+                             exchange_base_url),
+    GNUNET_JSON_pack_data_auto ("wtid",
+                                &wp->wtid),
+    GNUNET_JSON_pack_string ("credit_account",
+                             destination_account_uri));
   if (NULL == transfer_obj)
   {
     GNUNET_break (0);
diff --git a/src/bank-lib/fakebank.c b/src/bank-lib/fakebank.c
index c6871938..1fac5e1b 100644
--- a/src/bank-lib/fakebank.c
+++ b/src/bank-lib/fakebank.c
@@ -1083,13 +1083,12 @@ handle_admin_add_incoming (struct TALER_FAKEBANK_Handle 
*h,
   json_decref (json);
 
   /* Finally build response object */
-  return TALER_MHD_reply_json_pack (connection,
+  return TALER_MHD_REPLY_JSON_PACK (connection,
                                     MHD_HTTP_OK,
-                                    "{s:I, s:o}",
-                                    "row_id",
-                                    (json_int_t) row_id,
-                                    "timestamp",
-                                    GNUNET_JSON_from_time_abs (timestamp));
+                                    GNUNET_JSON_pack_uint64 ("row_id",
+                                                             row_id),
+                                    GNUNET_JSON_pack_time_abs ("timestamp",
+                                                               timestamp));
 }
 
 
@@ -1211,14 +1210,14 @@ handle_transfer (struct TALER_FAKEBANK_Handle *h,
   json_decref (json);
 
   /* Finally build response object */
-  return TALER_MHD_reply_json_pack (connection,
-                                    MHD_HTTP_OK,
-                                    "{s:I, s:o}",
-                                    "row_id",
-                                    (json_int_t) row_id,
-                                    /* dummy timestamp */
-                                    "timestamp", GNUNET_JSON_from_time_abs (
-                                      GNUNET_TIME_UNIT_ZERO_ABS));
+  return TALER_MHD_REPLY_JSON_PACK (
+    connection,
+    MHD_HTTP_OK,
+    GNUNET_JSON_pack_uint64 ("row_id",
+                             row_id),
+    /* dummy timestamp */
+    GNUNET_JSON_pack_time_abs ("timestamp",
+                               GNUNET_TIME_UNIT_ZERO_ABS));
 }
 
 
@@ -1438,11 +1437,12 @@ handle_debit_history (struct TALER_FAKEBANK_Handle *h,
                      pthread_mutex_unlock (&h->big_lock));
       GNUNET_free (debit_payto);
       /* FIXME: suspend for long-polling instead */
-      return TALER_MHD_reply_json_pack (connection,
-                                        MHD_HTTP_OK,
-                                        "{s:o}",
-                                        "outgoing_transactions",
-                                        history);
+      return TALER_MHD_REPLY_JSON_PACK (
+        connection,
+        MHD_HTTP_OK,
+        GNUNET_JSON_pack_array_steal (
+          "outgoing_transactions",
+          history));
     }
     if (t->debit_account != acc)
     {
@@ -1487,17 +1487,21 @@ handle_debit_history (struct TALER_FAKEBANK_Handle *h,
     GNUNET_asprintf (&credit_payto,
                      "payto://x-taler-bank/localhost/%s",
                      pos->credit_account->account_name);
-    trans = json_pack (
-      "{s:I, s:o, s:o, s:s, s:s, s:s, s:o}",
-      "row_id", (json_int_t) pos->row_id,
-      "date", GNUNET_JSON_from_time_abs (pos->date),
-      "amount", TALER_JSON_from_amount (&pos->amount),
-      "credit_account", credit_payto,
-      "debit_account", debit_payto,          // FIXME: inefficient to return 
this here always!
-      "exchange_base_url",
-      pos->subject.debit.exchange_base_url,
-      "wtid", GNUNET_JSON_from_data_auto (
-        &pos->subject.debit.wtid));
+    trans = GNUNET_JSON_PACK (
+      GNUNET_JSON_pack_uint64 ("row_id",
+                               pos->row_id),
+      GNUNET_JSON_pack_time_abs ("date",
+                                 pos->date),
+      TALER_JSON_pack_amount ("amount",
+                              &pos->amount),
+      GNUNET_JSON_pack_string ("credit_account",
+                               credit_payto),
+      GNUNET_JSON_pack_string ("debit_account",
+                               debit_payto),          // FIXME: inefficient to 
return this here always!
+      GNUNET_JSON_pack_string ("exchange_base_url",
+                               pos->subject.debit.exchange_base_url),
+      GNUNET_JSON_pack_data_auto ("wtid",
+                                  &pos->subject.debit.wtid));
     GNUNET_assert (NULL != trans);
     GNUNET_free (credit_payto);
     GNUNET_assert (0 ==
@@ -1515,11 +1519,11 @@ handle_debit_history (struct TALER_FAKEBANK_Handle *h,
   GNUNET_assert (0 ==
                  pthread_mutex_unlock (&h->big_lock));
   GNUNET_free (debit_payto);
-  return TALER_MHD_reply_json_pack (connection,
+  return TALER_MHD_REPLY_JSON_PACK (connection,
                                     MHD_HTTP_OK,
-                                    "{s:o}",
-                                    "outgoing_transactions",
-                                    history);
+                                    GNUNET_JSON_pack_array_steal (
+                                      "outgoing_transactions",
+                                      history));
 }
 
 
@@ -1593,11 +1597,11 @@ handle_credit_history (struct TALER_FAKEBANK_Handle *h,
                      pthread_mutex_unlock (&h->big_lock));
       GNUNET_free (credit_payto);
       /* FIXME: suspend for long-polling instead */
-      return TALER_MHD_reply_json_pack (connection,
+      return TALER_MHD_REPLY_JSON_PACK (connection,
                                         MHD_HTTP_OK,
-                                        "{s:o}",
-                                        "incoming_transactions",
-                                        history);
+                                        GNUNET_JSON_pack_array_steal (
+                                          "incoming_transactions",
+                                          history));
     }
     if (skip)
     {
@@ -1631,15 +1635,19 @@ handle_credit_history (struct TALER_FAKEBANK_Handle *h,
     GNUNET_asprintf (&debit_payto,
                      "payto://x-taler-bank/localhost/%s",
                      pos->debit_account->account_name);
-    trans = json_pack (
-      "{s:I, s:o, s:o, s:s, s:s, s:o}",
-      "row_id", (json_int_t) pos->row_id,
-      "date", GNUNET_JSON_from_time_abs (pos->date),
-      "amount", TALER_JSON_from_amount (&pos->amount),
-      "credit_account", credit_payto,            // FIXME: inefficient to 
repeat this always here!
-      "debit_account", debit_payto,
-      "reserve_pub", GNUNET_JSON_from_data_auto (
-        &pos->subject.credit.reserve_pub));
+    trans = GNUNET_JSON_PACK (
+      GNUNET_JSON_pack_uint64 ("row_id",
+                               pos->row_id),
+      GNUNET_JSON_pack_time_abs ("date",
+                                 pos->date),
+      TALER_JSON_pack_amount ("amount",
+                              &pos->amount),
+      GNUNET_JSON_pack_string ("credit_account",
+                               credit_payto),   // FIXME: inefficient to 
repeat this always here!
+      GNUNET_JSON_pack_string ("debit_account",
+                               debit_payto),
+      GNUNET_JSON_pack_data_auto ("reserve_pub",
+                                  &pos->subject.credit.reserve_pub));
     GNUNET_assert (NULL != trans);
     GNUNET_free (debit_payto);
     GNUNET_assert (0 ==
@@ -1657,11 +1665,11 @@ handle_credit_history (struct TALER_FAKEBANK_Handle *h,
   GNUNET_assert (0 ==
                  pthread_mutex_unlock (&h->big_lock));
   GNUNET_free (credit_payto);
-  return TALER_MHD_reply_json_pack (connection,
+  return TALER_MHD_REPLY_JSON_PACK (connection,
                                     MHD_HTTP_OK,
-                                    "{s:o}",
-                                    "incoming_transactions",
-                                    history);
+                                    GNUNET_JSON_pack_array_steal (
+                                      "incoming_transactions",
+                                      history));
 }
 
 
diff --git a/src/exchange-tools/taler-auditor-offline.c 
b/src/exchange-tools/taler-auditor-offline.c
index cc7278e5..0fbd82ba 100644
--- a/src/exchange-tools/taler-auditor-offline.c
+++ b/src/exchange-tools/taler-auditor-offline.c
@@ -1,6 +1,6 @@
 /*
   This file is part of TALER
-  Copyright (C) 2020 Taler Systems SA
+  Copyright (C) 2020-2021 Taler Systems SA
 
   TALER is free software; you can redistribute it and/or modify it under the
   terms of the GNU General Public License as published by the Free Software
@@ -295,11 +295,11 @@ output_operation (const char *op_name,
   json_t *action;
 
   GNUNET_assert (NULL != out);
-  action = json_pack ("{ s:s, s:o }",
-                      "operation",
-                      op_name,
-                      "arguments",
-                      op_value);
+  action = GNUNET_JSON_PACK (
+    GNUNET_JSON_pack_string ("operation",
+                             op_name),
+    GNUNET_JSON_pack_object_steal ("arguments",
+                                   op_value));
   GNUNET_break (0 ==
                 json_array_append_new (out,
                                        action));
@@ -660,6 +660,15 @@ keys_cb (
   switch (hr->http_status)
   {
   case MHD_HTTP_OK:
+    if (! json_is_object (hr->reply))
+    {
+      GNUNET_break (0);
+      TALER_EXCHANGE_disconnect (exchange);
+      exchange = NULL;
+      test_shutdown ();
+      global_ret = EXIT_FAILURE;
+      return;
+    }
     break;
   default:
     fprintf (stderr,
@@ -673,11 +682,11 @@ keys_cb (
     global_ret = EXIT_FAILURE;
     return;
   }
-  in = json_pack ("{s:s,s:O}",
-                  "operation",
-                  OP_INPUT_KEYS,
-                  "arguments",
-                  hr->reply);
+  in = GNUNET_JSON_PACK (
+    GNUNET_JSON_pack_string ("operation",
+                             OP_INPUT_KEYS),
+    GNUNET_JSON_pack_object_incref ("arguments",
+                                    (json_t *) hr->reply));
   if (NULL == args[0])
   {
     json_dumpf (in,
@@ -1141,11 +1150,11 @@ sign_denomkeys (const json_t *denomkeys)
                                          &auditor_priv,
                                          &auditor_sig);
       output_operation (OP_SIGN_DENOMINATION,
-                        json_pack ("{s:o, s:o}",
-                                   "h_denom_pub",
-                                   GNUNET_JSON_from_data_auto (&h_denom_pub),
-                                   "auditor_sig",
-                                   GNUNET_JSON_from_data_auto (&auditor_sig)));
+                        GNUNET_JSON_PACK (
+                          GNUNET_JSON_pack_data_auto ("h_denom_pub",
+                                                      &h_denom_pub),
+                          GNUNET_JSON_pack_data_auto ("auditor_sig",
+                                                      &auditor_sig)));
     }
     GNUNET_JSON_parse_free (spec);
   }
@@ -1214,7 +1223,10 @@ do_sign (char *const *args)
     return;
   }
   if (NULL == out)
+  {
     out = json_array ();
+    GNUNET_assert (NULL != out);
+  }
   if (GNUNET_OK !=
       sign_denomkeys (denomkeys))
   {
@@ -1247,11 +1259,14 @@ do_setup (char *const *args)
   if (NULL != *args)
   {
     if (NULL == out)
+    {
       out = json_array ();
+      GNUNET_assert (NULL != out);
+    }
     output_operation (OP_SETUP,
-                      json_pack ("{s:o}",
-                                 "auditor_pub",
-                                 GNUNET_JSON_from_data_auto (&auditor_pub)));
+                      GNUNET_JSON_PACK (
+                        GNUNET_JSON_pack_data_auto ("auditor_pub",
+                                                    &auditor_pub)));
   }
 
   else

-- 
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]