DOKK / manpages / debian 12 / libexplain-dev / explain_strtoul_or_die.3.en
explain_strtoul_or_die(3) Library Functions Manual explain_strtoul_or_die(3)

explain_strtoul_or_die - convert string to unsigned long and report errors

#include <libexplain/strtoul.h>

unsigned long explain_strtoul_or_die(const char *nptr, char **endptr, int base);
unsigned long explain_strtoul_on_error(const char *nptr, char **endptr, int base))

The explain_strtoul_or_die function is used to call the strtoul(3) system call. On failure an explanation will be printed to stderr, obtained from the explain_strtoul(3) function, and then the process terminates by calling exit(EXIT_FAILURE).

The explain_strtoul_on_error function is used to call the strtoul(3) system call. On failure an explanation will be printed to stderr, obtained from the explain_strtoul(3) function, but still returns to the caller.

The nptr, exactly as to be passed to the strtoul(3) system call.
The endptr, exactly as to be passed to the strtoul(3) system call.
The base, exactly as to be passed to the strtoul(3) system call.

The explain_strtoul_or_die function only returns on success, see strtoul(3) for more information. On failure, prints an explanation and exits, it does not return.

The explain_strtoul_on_error function always returns the value return by the wrapped strtoul(3) system call.

The explain_strtoul_or_die function is intended to be used in a fashion similar to the following example:

unsigned long result = explain_strtoul_or_die(nptr, endptr, base);

strtoul(3)
convert a string to an unsigned long integer
explain_strtoul(3)
explain strtoul(3) errors
exit(2)
terminate the calling process

libexplain version 1.4
Copyright (C) 2009 Peter Miller