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 61b9a91c..56af11f8 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);  } | 
