gnunet-svn
[Top][All Lists]
Advanced

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

[taler-exchange] branch master updated: clean up link logic


From: gnunet
Subject: [taler-exchange] branch master updated: clean up link logic
Date: Sun, 15 Mar 2020 22:24:18 +0100

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 efdc91ea clean up link logic
efdc91ea is described below

commit efdc91ead4a74afb9b858ea3377bbf5581aabb0d
Author: Christian Grothoff <address@hidden>
AuthorDate: Sun Mar 15 22:24:15 2020 +0100

    clean up link logic
---
 src/exchange/taler-exchange-httpd.c           |  4 +-
 src/exchange/taler-exchange-httpd_link.c      | 65 +++++++++++++++------------
 src/exchange/taler-exchange-httpd_mhd.c       | 16 ++++---
 src/exchange/taler-exchange-httpd_responses.c | 24 +++++-----
 src/exchange/taler-exchange-httpd_responses.h | 24 +++++-----
 5 files changed, 71 insertions(+), 62 deletions(-)

diff --git a/src/exchange/taler-exchange-httpd.c 
b/src/exchange/taler-exchange-httpd.c
index 8aa2b198..eba6e42a 100644
--- a/src/exchange/taler-exchange-httpd.c
+++ b/src/exchange/taler-exchange-httpd.c
@@ -701,7 +701,7 @@ handle_mhd_request (void *cls,
  * @return #GNUNET_OK on success
  */
 static int
-exchange_serve_process_config ()
+exchange_serve_process_config (void)
 {
   if (GNUNET_OK !=
       GNUNET_CONFIGURATION_get_value_number (TEH_cfg,
@@ -812,7 +812,7 @@ exchange_serve_process_config ()
  * stats if requested.
  */
 static void
-write_stats ()
+write_stats (void)
 {
   struct GNUNET_DISK_FileHandle *fh;
   pid_t pid = getpid ();
diff --git a/src/exchange/taler-exchange-httpd_link.c 
b/src/exchange/taler-exchange-httpd_link.c
index 1de8e683..f1838dac 100644
--- a/src/exchange/taler-exchange-httpd_link.c
+++ b/src/exchange/taler-exchange-httpd_link.c
@@ -32,13 +32,13 @@
 
 
 /**
- * Closure for #handle_transfer_data().
+ * Closure for #handle_link_data().
  */
 struct HTD_Context
 {
 
   /**
-   * Public key of the coin for which we are running /refresh/link.
+   * Public key of the coin for which we are running link.
    */
   struct TALER_CoinSpendPublicKeyP coin_pub;
 
@@ -70,10 +70,9 @@ handle_link_data (void *cls,
 {
   struct HTD_Context *ctx = cls;
   json_t *list;
-  json_t *root;
 
   if (NULL == ctx->mlist)
-    return;
+    return; /* we failed earlier */
   if (NULL == (list = json_array ()))
     goto fail;
 
@@ -101,16 +100,20 @@ handle_link_data (void *cls,
       goto fail;
     }
   }
-  root = json_pack ("{s:o, s:o}",
-                    "new_coins",
-                    list,
-                    "transfer_pub",
-                    GNUNET_JSON_from_data_auto (transfer_pub));
-  if ( (NULL == root) ||
-       (0 !=
-        json_array_append_new (ctx->mlist,
-                               root)) )
-    goto fail;
+  {
+    json_t *root;
+
+    root = json_pack ("{s:o, s:o}",
+                      "new_coins",
+                      list,
+                      "transfer_pub",
+                      GNUNET_JSON_from_data_auto (transfer_pub));
+    if ( (NULL == root) ||
+         (0 !=
+          json_array_append_new (ctx->mlist,
+                                 root)) )
+      goto fail;
+  }
   return;
 fail:
   ctx->ec = TALER_EC_JSON_ALLOCATION_FAILURE;
@@ -120,15 +123,13 @@ fail:
 
 
 /**
- * Execute a "/refresh/link".  Returns the linkage information that
- * will allow the owner of a coin to follow the refresh trail to
- * the refreshed coin.
+ * Execute a link operation.  Returns the linkage information that will allow
+ * the owner of a coin to follow the trail to the refreshed coin.
  *
- * If it returns a non-error code, the transaction logic MUST
- * NOT queue a MHD response.  IF it returns an hard error, the
- * transaction logic MUST queue a MHD response and set @a mhd_ret.  IF
- * it returns the soft error code, the function MAY be called again to
- * retry and MUST not queue a MHD response.
+ * If it returns a non-error code, the transaction logic MUST NOT queue a MHD
+ * response.  IF it returns an hard error, the transaction logic MUST queue a
+ * MHD response and set @a mhd_ret.  IF it returns the soft error code, the
+ * function MAY be called again to retry and MUST not queue a MHD response.
  *
  * @param cls closure
  * @param connection MHD request which triggered the transaction
@@ -138,10 +139,10 @@ fail:
  * @return transaction status
  */
 static enum GNUNET_DB_QueryStatus
-refresh_link_transaction (void *cls,
-                          struct MHD_Connection *connection,
-                          struct TALER_EXCHANGEDB_Session *session,
-                          int *mhd_ret)
+link_transaction (void *cls,
+                  struct MHD_Connection *connection,
+                  struct TALER_EXCHANGEDB_Session *session,
+                  int *mhd_ret)
 {
   struct HTD_Context *ctx = cls;
   enum GNUNET_DB_QueryStatus qs;
@@ -204,11 +205,19 @@ TEH_handler_link (const struct TEH_RequestHandler *rh,
                                        "coin public key malformed");
   }
   ctx.mlist = json_array ();
+  if (NULL == ctx.mlist)
+  {
+    GNUNET_break (0);
+    return TALER_MHD_reply_with_error (connection,
+                                       MHD_HTTP_INTERNAL_SERVER_ERROR,
+                                       TALER_EC_JSON_ALLOCATION_FAILURE,
+                                       "json_array() call failed");
+  }
   if (GNUNET_OK !=
       TEH_DB_run_transaction (connection,
                               "run link",
                               &mhd_ret,
-                              &refresh_link_transaction,
+                              &link_transaction,
                               &ctx))
   {
     if (NULL != ctx.mlist)
@@ -223,4 +232,4 @@ TEH_handler_link (const struct TEH_RequestHandler *rh,
 }
 
 
-/* end of taler-exchange-httpd_refresh_link.c */
+/* end of taler-exchange-httpd_link.c */
diff --git a/src/exchange/taler-exchange-httpd_mhd.c 
b/src/exchange/taler-exchange-httpd_mhd.c
index 6d05aeb6..a0b0d284 100644
--- a/src/exchange/taler-exchange-httpd_mhd.c
+++ b/src/exchange/taler-exchange-httpd_mhd.c
@@ -33,6 +33,7 @@
 #include "taler-exchange-httpd.h"
 #include "taler-exchange-httpd_mhd.h"
 
+
 /**
  * Function to call to handle the request by sending
  * back static data from the @a rh.
@@ -48,7 +49,6 @@ TEH_handler_static_response (const struct TEH_RequestHandler 
*rh,
                              const char *const args[])
 {
   struct MHD_Response *response;
-  int ret;
   size_t dlen;
 
   (void) args;
@@ -68,11 +68,15 @@ TEH_handler_static_response (const struct 
TEH_RequestHandler *rh,
     (void) MHD_add_response_header (response,
                                     MHD_HTTP_HEADER_CONTENT_TYPE,
                                     rh->mime_type);
-  ret = MHD_queue_response (connection,
-                            rh->response_code,
-                            response);
-  MHD_destroy_response (response);
-  return ret;
+  {
+    int ret;
+
+    ret = MHD_queue_response (connection,
+                              rh->response_code,
+                              response);
+    MHD_destroy_response (response);
+    return ret;
+  }
 }
 
 
diff --git a/src/exchange/taler-exchange-httpd_responses.c 
b/src/exchange/taler-exchange-httpd_responses.c
index e2a20243..cd03ba76 100644
--- a/src/exchange/taler-exchange-httpd_responses.c
+++ b/src/exchange/taler-exchange-httpd_responses.c
@@ -39,10 +39,9 @@
  * @return json representation of the @a rh, NULL on error
  */
 json_t *
-TEH_RESPONSE_compile_transaction_history (const struct
-                                          TALER_CoinSpendPublicKeyP *coin_pub,
-                                          const struct
-                                          TALER_EXCHANGEDB_TransactionList *tl)
+TEH_RESPONSE_compile_transaction_history (
+  const struct TALER_CoinSpendPublicKeyP *coin_pub,
+  const struct TALER_EXCHANGEDB_TransactionList *tl)
 {
   json_t *history;
 
@@ -421,12 +420,11 @@ TEH_RESPONSE_compile_transaction_history (const struct
  * @return MHD result code
  */
 int
-TEH_RESPONSE_reply_coin_insufficient_funds (struct MHD_Connection *connection,
-                                            enum TALER_ErrorCode ec,
-                                            const struct
-                                            TALER_CoinSpendPublicKeyP 
*coin_pub,
-                                            const struct
-                                            TALER_EXCHANGEDB_TransactionList 
*tl)
+TEH_RESPONSE_reply_coin_insufficient_funds (
+  struct MHD_Connection *connection,
+  enum TALER_ErrorCode ec,
+  const struct TALER_CoinSpendPublicKeyP *coin_pub,
+  const struct TALER_EXCHANGEDB_TransactionList *tl)
 {
   json_t *history;
 
@@ -458,9 +456,9 @@ TEH_RESPONSE_reply_coin_insufficient_funds (struct 
MHD_Connection *connection,
  * @return json representation of the @a rh, NULL on error
  */
 json_t *
-TEH_RESPONSE_compile_reserve_history (const struct
-                                      TALER_EXCHANGEDB_ReserveHistory *rh,
-                                      struct TALER_Amount *balance)
+TEH_RESPONSE_compile_reserve_history (
+  const struct TALER_EXCHANGEDB_ReserveHistory *rh,
+  struct TALER_Amount *balance)
 {
   struct TALER_Amount deposit_total;
   struct TALER_Amount withdraw_total;
diff --git a/src/exchange/taler-exchange-httpd_responses.h 
b/src/exchange/taler-exchange-httpd_responses.h
index 07298322..5dd98174 100644
--- a/src/exchange/taler-exchange-httpd_responses.h
+++ b/src/exchange/taler-exchange-httpd_responses.h
@@ -42,9 +42,9 @@
  * @return json representation of the @a rh, NULL on error
  */
 json_t *
-TEH_RESPONSE_compile_reserve_history (const struct
-                                      TALER_EXCHANGEDB_ReserveHistory *rh,
-                                      struct TALER_Amount *balance);
+TEH_RESPONSE_compile_reserve_history (
+  const struct TALER_EXCHANGEDB_ReserveHistory *rh,
+  struct TALER_Amount *balance);
 
 
 /**
@@ -60,12 +60,11 @@ TEH_RESPONSE_compile_reserve_history (const struct
  * @return MHD result code
  */
 int
-TEH_RESPONSE_reply_coin_insufficient_funds (struct MHD_Connection *connection,
-                                            enum TALER_ErrorCode ec,
-                                            const struct
-                                            TALER_CoinSpendPublicKeyP 
*coin_pub,
-                                            const struct
-                                            TALER_EXCHANGEDB_TransactionList 
*tl);
+TEH_RESPONSE_reply_coin_insufficient_funds (
+  struct MHD_Connection *connection,
+  enum TALER_ErrorCode ec,
+  const struct TALER_CoinSpendPublicKeyP *coin_pub,
+  const struct TALER_EXCHANGEDB_TransactionList *tl);
 
 
 /**
@@ -76,10 +75,9 @@ TEH_RESPONSE_reply_coin_insufficient_funds (struct 
MHD_Connection *connection,
  * @return json representation of the @a rh, NULL on error
  */
 json_t *
-TEH_RESPONSE_compile_transaction_history (const struct
-                                          TALER_CoinSpendPublicKeyP *coin_pub,
-                                          const struct
-                                          TALER_EXCHANGEDB_TransactionList 
*tl);
+TEH_RESPONSE_compile_transaction_history (
+  const struct TALER_CoinSpendPublicKeyP *coin_pub,
+  const struct TALER_EXCHANGEDB_TransactionList *tl);
 
 
 #endif

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

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