# Error handling callbacks # # Copyright (C) 2019 Patrick McDermott # # This file is part of opkbuild. # # opkbuild is free software: you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # opkbuild is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with opkbuild. If not, see . _ob_parse_error_cb='' ## @brief Set the parse error callback ## @details \fBob_set_parse_error_cb\fP sets the function to be called upon ## parse errors. ## @operand cb req The callback function name. Must accept at least three ## arguments: a file name, a line number, and an error ID. ## @return 0 This function returns 0. ## @pure no This function sets an internal global variable. ob_set_parse_error_cb() { local cb="${1}" shift 1 _ob_parse_error_cb="${cb}" return 0 } _ob_run_parse_error_cb() { local file="${1}" local line="${2}" local err_id="${3}" shift 3 if [ -n "${_ob_parse_error_cb}" ]; then "${_ob_parse_error_cb}" "${file}" "${line}" "${err_id}" "${@}" return ${?} else return 0 fi }