exchange

Base system with REST service to issue digital coins, run by the payment service provider
Log | Files | Refs | Submodules | README | LICENSE

commit 5026518bb5a6c47b9278eede81989ca0fba7094a
parent 5017dacbdaac2d1654b01329f97b8b5b7dc34ba9
Author: Christian Grothoff <christian@grothoff.org>
Date:   Fri, 27 Aug 2021 16:17:45 +0200

-fix another leak

Diffstat:
Msrc/include/taler_mhd_lib.h | 12+++++++++++-
Msrc/mhd/mhd_responses.c | 11+++++++++++
2 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/src/include/taler_mhd_lib.h b/src/include/taler_mhd_lib.h @@ -212,6 +212,16 @@ TALER_MHD_make_json (const json_t *json); /** + * Make JSON response object and free @a json. + * + * @param json the json object, freed. + * @return MHD response object + */ +struct MHD_Response * +TALER_MHD_make_json_steal (json_t *json); + + +/** * Make JSON response object. * * @param fmt format string for pack @@ -230,7 +240,7 @@ TALER_MHD_make_json_pack (const char *fmt, * @return MHD response object */ #define TALER_MHD_MAKE_JSON_PACK(...) \ - TALER_MHD_make_json (GNUNET_JSON_PACK (__VA_ARGS__)) + TALER_MHD_make_json_steal (GNUNET_JSON_PACK (__VA_ARGS__)) /** diff --git a/src/mhd/mhd_responses.c b/src/mhd/mhd_responses.c @@ -148,6 +148,17 @@ TALER_MHD_make_json (const json_t *json) } +struct MHD_Response * +TALER_MHD_make_json_steal (json_t *json) +{ + struct MHD_Response *res; + + res = TALER_MHD_make_json (json); + json_decref (json); + return res; +} + + MHD_RESULT TALER_MHD_reply_json (struct MHD_Connection *connection, const json_t *json,