# Functions for printing messages # # Copyright (C) 2018, 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 . ## @brief Print an error message and exit ## @details \fBob_error\fP() prints \fIarguments\fP according to \fIformat\fP. ## @operand format req The format string. See \fBprintf\fP(1) for the syntax ## of \fIformat\fP. ## @operand arguments opt Arguments to be printed, as referenced by ## \fIformat\fP. ## @return Returns 0. ## @stderr Prints the formatted message, preceded by the program name and ## "Error:". ## @pure yes This function has no side effects. ob_error() { local format="${1}" shift 1 || _ob_abort printf "$(printf "$(_ob_get_msg 'output_error_format')" \ "${0##*/}" "${format}")\n" "${@}" >&2 return 0 } ## @brief Print a warning message ## @details \fBob_warn\fP() prints \fIarguments\fP according to \fIformat\fP. ## @operand format req The format string. See \fBprintf\fP(1) for the syntax ## of \fIformat\fP. ## @operand arguments opt Arguments to be printed, as referenced by ## \fIformat\fP. ## @return Returns 0. ## @stderr Prints the formatted message, preceded by the program name and ## "Warning:". ## @pure yes This function has no side effects. ob_warn() { local format="${1}" shift 1 || _ob_abort printf "$(printf "$(_ob_get_msg 'output_warning_format')" \ "${0##*/}" "${format}")\n" "${@}" >&2 return 0 } ## @brief Print an informational message ## @details \fBob_warn\fP() prints \fIarguments\fP according to \fIformat\fP. ## @operand format req The format string. See \fBprintf\fP(1) for the syntax ## of \fIformat\fP. ## @operand arguments opt Arguments to be printed, as referenced by ## \fIformat\fP. ## @return Returns 0. ## @stderr Prints the formatted message, preceded by the program name. ## @pure yes This function has no side effects. ob_info() { local format="${1}" shift 1 || _ob_abort printf "$(printf "$(_ob_get_msg 'output_info_format')" \ "${0##*/}" "${format}")\n" "${@}" >&2 return 0 } _ob_error_msg() { local msgid="${1}" shift 1 || _ob_abort ob_error "$(_ob_get_msg "${msgid}")" "${@}" return 0 } _ob_warn_msg() { local msgid="${1}" shift 1 || _ob_abort ob_warn "$(_ob_get_msg "${msgid}")" "${@}" return 0 } _ob_info_msg() { local msgid="${1}" shift 1 || _ob_abort ob_info "$(_ob_get_msg "${msgid}")" "${@}" return 0 }