summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2019-11-16 10:05:57 +0100
committerChristian Grothoff <christian@grothoff.org>2019-11-16 10:05:57 +0100
commit7b353c01856d75651233840f95ac028a1d47ec6d (patch)
treeaa6c4eaf8231def6ab1f8efa29a2aba7fb9852b9
parent48ff93626cb9d6c54806b2da3f829c5da39da213 (diff)
parent44bccda22b90d4edfac993ded78a3e6a83787d5a (diff)
downloadexchange-7b353c01856d75651233840f95ac028a1d47ec6d.tar.gz
exchange-7b353c01856d75651233840f95ac028a1d47ec6d.tar.bz2
exchange-7b353c01856d75651233840f95ac028a1d47ec6d.zip
merge
-rw-r--r--src/include/taler_error_codes.h44
-rw-r--r--src/util/util.c11
2 files changed, 48 insertions, 7 deletions
diff --git a/src/include/taler_error_codes.h b/src/include/taler_error_codes.h
index 7e093c3ba..2212fdb00 100644
--- a/src/include/taler_error_codes.h
+++ b/src/include/taler_error_codes.h
@@ -1827,6 +1827,12 @@ enum TALER_ErrorCode
*/
TALER_EC_BANK_TRANSACTION_NOT_FOUND = 5111,
+
+ /**
+ * Bank received a malformed amount string.
+ */
+ TALER_EC_BANK_BAD_FORMAT_AMOUNT = 5112,
+
/**
* The client does not own the account credited by the transaction
* which is to be rejected, so it has no rights do reject it. To be
@@ -1834,6 +1840,44 @@ enum TALER_ErrorCode
*/
TALER_EC_BANK_REJECT_NO_RIGHTS = 5200,
+
+ /**
+ * This error code is returned when no known exception types
+ * captured the exception.
+ */
+ TALER_EC_BANK_UNMANAGED_EXCEPTION = 5300,
+
+
+ /**
+ * The sync service failed to access its database.
+ * This response is provided with HTTP status code
+ * MHD_HTTP_INTERNAL_ERROR.
+ */
+ TALER_EC_SYNC_DB_FETCH_ERROR = 6000,
+
+ /**
+ * The sync service failed find the record in its database.
+ * This response is provided with HTTP status code
+ * MHD_HTTP_NOT_FOUND.
+ */
+ TALER_EC_SYNC_BACKUP_UNKNOWN = 6001,
+
+ /**
+ * The sync service failed find the account in its database.
+ * This response is provided with HTTP status code
+ * MHD_HTTP_NOT_FOUND.
+ */
+ TALER_EC_SYNC_ACCOUNT_UNKNOWN = 6002,
+
+ /**
+ * The Etag provided in the If-None-Match header is
+ * malformed.
+ * This response is provided with HTTP status code
+ * MHD_HTTP_BAD_REQUEST.
+ */
+ TALER_EC_SYNC_BAD_ETAG = 6003,
+
+
/**
* End of error code range.
*/
diff --git a/src/util/util.c b/src/util/util.c
index e82be368d..fa65fc238 100644
--- a/src/util/util.c
+++ b/src/util/util.c
@@ -265,25 +265,22 @@ TALER_url_join (const char *base_url,
unsigned int iparam = 0;
va_list args;
struct TALER_Buffer buf = { 0 };
- size_t len = 0;
+ size_t len;
GNUNET_assert (NULL != base_url);
GNUNET_assert (NULL != path);
-
if (0 == strlen (base_url))
{
/* base URL can't be empty */
GNUNET_break (0);
return NULL;
}
-
if ('/' != base_url[strlen (base_url) - 1])
{
/* Must be an actual base URL! */
GNUNET_break (0);
return NULL;
}
-
if ('/' == path[0])
{
/* The path must be relative. */
@@ -291,14 +288,14 @@ TALER_url_join (const char *base_url,
return NULL;
}
- // Path should be relative to existing path of base URL
+ /* Path should be relative to existing path of base URL */
GNUNET_break ('/' != path[0]);
if ('/' == path[0])
GNUNET_break (0);
/* 1st pass: compute length */
- len += strlen (base_url) + strlen (path);
+ len = strlen (base_url) + strlen (path) + 1;
va_start (args, path);
while (1)
@@ -316,7 +313,6 @@ TALER_url_join (const char *base_url,
va_end (args);
TALER_buffer_prealloc (&buf, len);
-
TALER_buffer_write_str (&buf, base_url);
TALER_buffer_write_str (&buf, path);
@@ -325,6 +321,7 @@ TALER_url_join (const char *base_url,
{
char *key;
char *value;
+
key = va_arg (args, char *);
if (NULL == key)
break;