diff options
Diffstat (limited to 'src/bank-lib')
-rw-r--r-- | src/bank-lib/fakebank.c | 169 |
1 files changed, 6 insertions, 163 deletions
diff --git a/src/bank-lib/fakebank.c b/src/bank-lib/fakebank.c index 61b9a91ce..56af11f8a 100644 --- a/src/bank-lib/fakebank.c +++ b/src/bank-lib/fakebank.c @@ -972,14 +972,8 @@ handle_debit_history (struct TALER_FAKEBANK_Handle *h, const char *account) { struct HistoryArgs ha; - const struct Transaction *pos; - const struct Transaction *spos; + struct Transaction *pos; json_t *history; - struct TALER_Amount total_incoming; - struct TALER_Amount start_outgoing; - struct TALER_Amount end_outgoing; - const struct Transaction *start_pos; - const struct Transaction *end_pos; if (GNUNET_OK != parse_history_common_args (connection, @@ -1020,8 +1014,6 @@ handle_debit_history (struct TALER_FAKEBANK_Handle *h, /* list is empty */ pos = NULL; } - spos = pos; - history = json_array (); while ( (0 != ha.delta) && (NULL != pos) ) @@ -1073,81 +1065,11 @@ handle_debit_history (struct TALER_FAKEBANK_Handle *h, if (0 < ha.delta) pos = pos->next; } - if (0 > ha.delta) - { - start_pos = pos; - end_pos = spos; - } - else - { - start_pos = spos; - if (NULL == pos) - end_pos = h->transactions_tail; - else - end_pos = pos; - } - /* now calculate balances at beginning end end of - transaction history */ - GNUNET_assert (GNUNET_OK == - TALER_amount_get_zero (h->currency, - &total_incoming)); - GNUNET_assert (GNUNET_OK == - TALER_amount_get_zero (h->currency, - &start_outgoing)); - GNUNET_assert (GNUNET_OK == - TALER_amount_get_zero (h->currency, - &end_outgoing)); - for (pos = h->transactions_head; - NULL != pos; - pos = pos->next) - { - if ( (0 == strcasecmp (pos->debit_account, - account)) && - (T_DEBIT == pos->type) ) - { - if (pos == start_pos) - start_pos = NULL; - if (NULL != start_pos) - { - /* we are *before* the start position (exclusive), add to balances */ - GNUNET_break (GNUNET_OK == - TALER_amount_add (&start_outgoing, - &start_outgoing, - &pos->amount)); - } - if (NULL != end_pos) - { - /* we are *before* the end position (inclusive), - add to balances */ - GNUNET_break (GNUNET_OK == - TALER_amount_add (&end_outgoing, - &end_outgoing, - &pos->amount)); - } - if (pos == end_pos) - end_pos = NULL; - } - if ( (0 == strcasecmp (pos->credit_account, - account)) && - (T_CREDIT == pos->type) ) - { - GNUNET_break (GNUNET_OK == - TALER_amount_add (&total_incoming, - &total_incoming, - &pos->amount)); - } - } return TALER_MHD_reply_json_pack (connection, MHD_HTTP_OK, - "{s:o, s:o, s:o, s:o}", + "{s:o}", "outgoing_transactions", - history, - "current_incoming", - TALER_JSON_from_amount (&total_incoming), - "total_incoming_start", - TALER_JSON_from_amount (&start_outgoing), - "total_incoming_end", - TALER_JSON_from_amount (&end_outgoing)); + history); } @@ -1165,14 +1087,8 @@ handle_credit_history (struct TALER_FAKEBANK_Handle *h, const char *account) { struct HistoryArgs ha; - const struct Transaction *pos; - const struct Transaction *spos; + struct Transaction *pos; json_t *history; - struct TALER_Amount end_incoming; - struct TALER_Amount start_incoming; - struct TALER_Amount total_outgoing; - const struct Transaction *start_pos; - const struct Transaction *end_pos; if (GNUNET_OK != parse_history_common_args (connection, @@ -1227,8 +1143,6 @@ handle_credit_history (struct TALER_FAKEBANK_Handle *h, /* list is empty */ pos = NULL; } - spos = pos; - history = json_array (); while ( (0 != ha.delta) && (NULL != pos) ) @@ -1293,82 +1207,11 @@ handle_credit_history (struct TALER_FAKEBANK_Handle *h, if (0 < ha.delta) pos = pos->next; } - if (0 > ha.delta) - { - start_pos = pos; - end_pos = spos; - } - else - { - start_pos = spos; - if (NULL == pos) - end_pos = h->transactions_tail; - else - end_pos = pos; - } - /* now calculate balances at beginning end end of - transaction history */ - GNUNET_assert (GNUNET_OK == - TALER_amount_get_zero (h->currency, - &total_outgoing)); - GNUNET_assert (GNUNET_OK == - TALER_amount_get_zero (h->currency, - &start_incoming)); - GNUNET_assert (GNUNET_OK == - TALER_amount_get_zero (h->currency, - &end_incoming)); - for (pos = h->transactions_head; - NULL != pos; - pos = pos->next) - { - if ( (0 == strcasecmp (pos->credit_account, - account)) && - (T_CREDIT == pos->type) ) - { - if (pos == start_pos) - start_pos = NULL; - if (NULL != start_pos) - { - /* we are *before* the start position (exclusive), add to balances */ - GNUNET_break (GNUNET_OK == - TALER_amount_add (&start_incoming, - &start_incoming, - &pos->amount)); - } - if (NULL != end_pos) - { - /* we are *before* the end position (inclusive), - add to balances */ - GNUNET_break (GNUNET_OK == - TALER_amount_add (&end_incoming, - &end_incoming, - &pos->amount)); - } - if (pos == end_pos) - end_pos = NULL; - } - if ( (0 == strcasecmp (pos->debit_account, - account)) && - (T_DEBIT == pos->type) ) - { - GNUNET_break (GNUNET_OK == - TALER_amount_add (&total_outgoing, - &total_outgoing, - &pos->amount)); - } - } - return TALER_MHD_reply_json_pack (connection, MHD_HTTP_OK, - "{s:o, s:o, s:o, s:o}", + "{s:o}", "incoming_transactions", - history, - "current_outgoing", - TALER_JSON_from_amount (&total_outgoing), - "total_incoming_start", - TALER_JSON_from_amount (&start_incoming), - "total_incoming_end", - TALER_JSON_from_amount (&end_incoming)); + history); } |