/* libmisc/error.c - Go-esque errors * * Copyright (C) 2025 Luke T. Shumaker * SPDX-License-Identifier: AGPL-3.0-or-later */ #include const char *error_msg(error err) { return (err._msg && err._msg[0]) ? err._msg : _errnum_str_msg(err.num); } void error_cleanup(error *errptr) { if (!errptr) return; if (errptr->_msg) free(errptr->_msg); errptr->num = E_NOERROR; errptr->_msg = NULL; } void fmt_print_error(lo_interface fmt_dest w, error err) { fmt_print(w, (str, error_msg(err)), " (", _errnum_str_sym(err.num), ")"); }