From 8d25278cbdb7f6af73c1fe295e069526e0bded62 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 24 Mar 2021 10:42:20 -0300 Subject: fix 0006814: looking up for order using date parameter and positive delta returns empty --- .../taler-merchant-httpd_private-get-orders.c | 57 ++++++++++++---------- 1 file changed, 30 insertions(+), 27 deletions(-) (limited to 'src/backend') diff --git a/src/backend/taler-merchant-httpd_private-get-orders.c b/src/backend/taler-merchant-httpd_private-get-orders.c index 83ca09f9..576b9ed8 100644 --- a/src/backend/taler-merchant-httpd_private-get-orders.c +++ b/src/backend/taler-merchant-httpd_private-get-orders.c @@ -514,33 +514,6 @@ TMH_private_get_orders (const struct TMH_RequestHandler *rh, MHD_HTTP_BAD_REQUEST, TALER_EC_GENERIC_PARAMETER_MALFORMED, "wired"); - { - const char *start_row_str; - - start_row_str = MHD_lookup_connection_value (connection, - MHD_GET_ARGUMENT_KIND, - "start"); - if (NULL == start_row_str) - { - of.start_row = INT64_MAX; - } - else - { - char dummy[2]; - unsigned long long ull; - - if (1 != - sscanf (start_row_str, - "%llu%1s", - &ull, - dummy)) - return TALER_MHD_reply_with_error (connection, - MHD_HTTP_BAD_REQUEST, - TALER_EC_GENERIC_PARAMETER_MALFORMED, - "date"); - of.start_row = (uint64_t) ull; - } - } { const char *delta_str; @@ -592,6 +565,36 @@ TMH_private_get_orders (const struct TMH_RequestHandler *rh, "date"); } } + { + const char *start_row_str; + + start_row_str = MHD_lookup_connection_value (connection, + MHD_GET_ARGUMENT_KIND, + "start"); + if (NULL == start_row_str) + { + if (of.delta > 0) + of.start_row = 0; + else + of.start_row = INT64_MAX; + } + else + { + char dummy[2]; + unsigned long long ull; + + if (1 != + sscanf (start_row_str, + "%llu%1s", + &ull, + dummy)) + return TALER_MHD_reply_with_error (connection, + MHD_HTTP_BAD_REQUEST, + TALER_EC_GENERIC_PARAMETER_MALFORMED, + "start"); + of.start_row = (uint64_t) ull; + } + } { const char *timeout_ms_str; -- cgit v1.2.3