| 251 | } |
| 252 | |
| 253 | struct command_result *payment_fail(struct payment *payment, |
| 254 | enum jsonrpc_errcode code, const char *fmt, |
| 255 | ...) |
| 256 | { |
| 257 | /* can't pass variadic arguments forward, so let's expand them. */ |
| 258 | va_list args; |
| 259 | va_start(args, fmt); |
| 260 | const char *error_msg = tal_vfmt(tmpctx, fmt, args); |
| 261 | va_end(args); |
| 262 | register_payment_fail(payment, code, "%s", error_msg); |
| 263 | |
| 264 | payment_note(payment, LOG_DBG, "Payment failed: %s", |
| 265 | payment->error_msg); |
| 266 | |
| 267 | return payment_finish(payment); |
| 268 | } |
| 269 | |
| 270 | void payment_note(struct payment *p, enum log_level lvl, const char *fmt, ...) |
| 271 | { |
no test coverage detected