aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bank-lib/bank_api_history.c76
1 files changed, 23 insertions, 53 deletions
diff --git a/src/bank-lib/bank_api_history.c b/src/bank-lib/bank_api_history.c
index 7cf169663..36e5724d0 100644
--- a/src/bank-lib/bank_api_history.c
+++ b/src/bank-lib/bank_api_history.c
@@ -68,23 +68,6 @@ struct TALER_BANK_HistoryHandle
/**
- * Represent a URL argument+value pair.
- */
-struct HistoryArgumentURL
-{
- /**
- * Name of the URL argument.
- */
- char argument[20];
-
- /**
- * Value of the URL argument.
- */
- char value[20];
-};
-
-
-/**
* Parse history given in JSON format and invoke the callback on each item.
*
* @param hh handle to the account history request
@@ -320,34 +303,29 @@ put_history_job (struct GNUNET_CURL_Context *ctx,
* Convert fixed value 'direction' into string.
*
* @param direction the value to convert.
- * @return string representation of @a direction. When length
- * is zero, an error occurred.
+ * @return string representation of @a direction. NULL on error
*/
-static struct HistoryArgumentURL
+static const char *
conv_direction (enum TALER_BANK_Direction direction)
{
- struct HistoryArgumentURL ret;
-
if (TALER_BANK_DIRECTION_NONE == direction)
{
/* Should just never happen. */
- GNUNET_assert (0);
- return ret;
+ GNUNET_break (0);
+ return NULL;
}
-
if (TALER_BANK_DIRECTION_BOTH ==
(TALER_BANK_DIRECTION_BOTH & direction))
- strcpy (&ret.value[0],
- "both");
+ return "both";
else if (TALER_BANK_DIRECTION_CREDIT ==
- (TALER_BANK_DIRECTION_CREDIT & direction))
- strcpy (&ret.value[0],
- "credit");
+ (TALER_BANK_DIRECTION_CREDIT & direction))
+ return "credit";
else if (TALER_BANK_DIRECTION_DEBIT ==
- (TALER_BANK_DIRECTION_BOTH & direction)) /*why use 'both' flag?*/
- strcpy (&ret.value[0],
- "debit");
- return ret;
+ (TALER_BANK_DIRECTION_BOTH & direction)) /*why use 'both' flag?*/
+ return "debit";
+ /* Should just never happen. */
+ GNUNET_break (0);
+ return NULL;
}
@@ -356,26 +334,18 @@ conv_direction (enum TALER_BANK_Direction direction)
* of the "cancel" argument.
*
* @param direction the value to convert.
- * @return string representation of @a direction. When length
- * is zero, an error occurred.
+ * @return string representation of @a direction
*/
-static struct HistoryArgumentURL
+static const char *
conv_cancel (enum TALER_BANK_Direction direction)
{
- struct HistoryArgumentURL ret;
-
if (TALER_BANK_DIRECTION_CANCEL ==
(TALER_BANK_DIRECTION_CANCEL & direction))
- GNUNET_snprintf (ret.value,
- sizeof (ret.value),
- "show");
- else
- GNUNET_snprintf (ret.value,
- sizeof (ret.value),
- "omit");
- return ret;
+ return "show";
+ return "omit";
}
+
/**
* Request the wire transfer history of a bank account,
* using time stamps to narrow the results.
@@ -421,8 +391,8 @@ TALER_BANK_history_range (struct GNUNET_CURL_Context *ctx,
(unsigned long long) account_number,
start_date.abs_value_us / 1000LL / 1000LL,
end_date.abs_value_us / 1000LL / 1000LL,
- conv_direction (direction).value,
- conv_cancel (direction).value,
+ conv_direction (direction),
+ conv_cancel (direction),
(GNUNET_YES == ascending) ? "ascending" : "descending");
hh = put_history_job (ctx,
@@ -489,16 +459,16 @@ TALER_BANK_history (struct GNUNET_CURL_Context *ctx,
"/history?auth=basic&account_number=%llu&delta=%lld&direction=%s&cancelled=%s&ordering=%s",
(unsigned long long) account_number,
(long long) num_results,
- conv_direction (direction).value,
- conv_cancel (direction).value,
+ conv_direction (direction),
+ conv_cancel (direction),
(GNUNET_YES == ascending) ? "ascending" : "descending");
else
GNUNET_asprintf (&url,
"/history?auth=basic&account_number=%llu&delta=%lld&direction=%s&cancelled=%s&ordering=%s&start=%llu",
(unsigned long long) account_number,
(long long) num_results,
- conv_direction (direction).value,
- conv_cancel (direction).value,
+ conv_direction (direction),
+ conv_cancel (direction),
(GNUNET_YES == ascending) ? "ascending" : "descending",
start_row);
hh = put_history_job (ctx,