Added API to set the abort severity.

release-1.5.4.branch
Vreixo Formoso 15 years ago
parent 3530b7d137
commit 164e97f6bc
  1. 1
      demo/iso.c
  2. 13
      src/libisofs.h
  3. 16
      src/messages.c

@ -143,6 +143,7 @@ int main(int argc, char **argv)
iso_tree_set_ignore_hidden(image, 0);
iso_tree_set_ignore_special(image, 0);
iso_tree_set_stop_on_error(image, 0);
iso_set_abort_severity("SORRY");
result = iso_tree_add_dir_rec(image, iso_image_get_root(image), argv[optind]);
if (result < 0) {

@ -1694,6 +1694,19 @@ int iso_obtain_msgs(char *minimum_severity, int *error_code,
*/
const char *iso_error_to_msg(int errcode);
/**
* Set the minimum error severity that causes a libisofs operation to
* be aborted as soon as possible.
*
* @param severity
* one of "FAILURE", "SORRY", "WARNING", "HINT", "NOTE". Severities
* greater than SORRY always cause program to abort. Severities under
* NOTE won't never cause function abort.
* @return
* Previous abort priority on success, < 0 on error.
*/
int iso_set_abort_severity(char *severity);
/**
* Return the messenger object handle used by libisofs. This handle
* may be used by related libraries to their own compatible

@ -19,7 +19,7 @@ int iso_message_id = LIBISO_MSGS_ORIGIN_IMAGE_BASE;
/**
* Threshold for aborting.
*/
int abort_threshold = LIBISO_MSGS_SEV_HINT;
int abort_threshold = LIBISO_MSGS_SEV_ERROR;
#define MAX_MSG_LEN 4096
@ -41,6 +41,20 @@ void iso_finish()
libiso_msgs_destroy(&libiso_msgr, 0);
}
int iso_set_abort_severity(char *severity)
{
int ret, sevno;
ret = libiso_msgs__text_to_sev(severity, &sevno, 0);
if (ret <= 0)
return ISO_WRONG_ARG_VALUE;
if (sevno > LIBISO_MSGS_SEV_ERROR || sevno < LIBISO_MSGS_SEV_NOTE)
return ISO_WRONG_ARG_VALUE;
ret = abort_threshold;
abort_threshold = sevno;
return ret;
}
void iso_msg_debug(int imgid, const char *fmt, ...)
{
char msg[MAX_MSG_LEN];

Loading…
Cancel
Save